Skip to content
Snippets Groups Projects
Commit 87d98d74 authored by Yoan VALLET's avatar Yoan VALLET
Browse files

feat: test for connection service

parent 84c4040f
Branches
Tags
1 merge request!139Features/unit tests
import ConnectionService from './connection.service'
import mockClient from './__mocks__/client'
import konnectorsData from './__mocks__/konnectorsData.json'
import accountsData from './__mocks__/accountsData.json'
import triggerData from './__mocks__/triggersData.json'
const mockGetKonnector = jest.fn()
jest.mock('./konnector.service', () => {
return jest.fn(() => {
return {
getKonnector: mockGetKonnector,
}
})
})
const mockCreateAccount = jest.fn()
jest.mock('./account.service', () => {
return jest.fn(() => {
return {
createAccount: mockCreateAccount,
}
})
})
const mockCreateTrigger = jest.fn()
jest.mock('./triggers.service', () => {
return jest.fn(() => {
return {
createTrigger: mockCreateTrigger,
}
})
})
describe('Connection service', () => {
const connectionService = new ConnectionService(mockClient)
describe('connectNewUser method', () => {
it('shoud return created Trigger', async () => {
mockGetKonnector.mockResolvedValueOnce(konnectorsData[0])
mockCreateAccount.mockResolvedValueOnce(accountsData[0])
mockCreateTrigger.mockResolvedValueOnce(triggerData[0])
const mockResult = { account: accountsData[0], trigger: triggerData[0] }
const result = await connectionService.connectNewUser(
konnectorsData[0]._id,
'login',
'password'
)
expect(result).toEqual(mockResult)
})
it('shoud throw error when konnector is not found', async () => {
let error
try {
await connectionService.connectNewUser(
konnectorsData[0]._id,
'login',
'password'
)
} catch (err) {
error = err
}
expect(error).toEqual(
new Error(`Could not find konnector for ${konnectorsData[0]._id}`)
)
})
it('shoud throw error when account is not created', async () => {
mockGetKonnector.mockResolvedValueOnce(konnectorsData[0])
let error
try {
await connectionService.connectNewUser(
konnectorsData[0]._id,
'login',
'password'
)
} catch (err) {
error = err
}
expect(error).toEqual(new Error(`Error during account creation`))
})
it('shoud throw error when trigger is not created', async () => {
mockGetKonnector.mockResolvedValueOnce(konnectorsData[0])
mockCreateAccount.mockResolvedValueOnce(accountsData[0])
let error
try {
await connectionService.connectNewUser(
konnectorsData[0]._id,
'login',
'password'
)
} catch (err) {
error = err
}
expect(error).toEqual(new Error(`Error during trigger creation`))
})
})
})
......@@ -15,7 +15,7 @@ export default class ConnectionService {
konnectorId: string,
login: string,
password: string
) {
): Promise<{ account: Account; trigger: Trigger }> {
// Retrieve konnector
const konnectorService = new KonnectorService(this._client)
const konnector: Konnector = await konnectorService.getKonnector(
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment