diff --git a/src/services/__mocks__/triggerStateData.json b/src/services/__mocks__/triggerStateData.json new file mode 100644 index 0000000000000000000000000000000000000000..e50409f3216b983c8137652e4a2f1c1bac586a35 --- /dev/null +++ b/src/services/__mocks__/triggerStateData.json @@ -0,0 +1,42 @@ +{ + "type": "io.cozy.triggers", + "id": "238ba37b8bc8130bd323edb5c1005c8f", + "attributes": { + "_id": "238ba37b8bc8130bd323edb5c1005c8f", + "_rev": "1-a33bf741c6958a707792bb2a0c8bc520", + "domain": "cozy.tools:8080", + "prefix": "cozy35ba44d2d1749e6f21646edce51e7190", + "type": "@cron", + "worker": "konnector", + "arguments": "0 3 8 * * *", + "debounce": "", + "options": null, + "message": { + "account": "238ba37b8bc8130bd323edb5c1005b96", + "konnector": "eglgrandlyon" + }, + "current_state": { + "trigger_id": "238ba37b8bc8130bd323edb5c1005c8f", + "status": "errored", + "last_execution": "2020-11-13T10:03:16.4121536Z", + "last_executed_job_id": "238ba37b8bc8130bd323edb5c1006b56", + "last_failure": "2020-11-13T10:03:16.4121536Z", + "last_failed_job_id": "238ba37b8bc8130bd323edb5c1006b56", + "last_error": "fork/exec : no such file or directory", + "last_manual_execution": "2020-11-13T10:03:16.4121536Z", + "last_manual_job_id": "238ba37b8bc8130bd323edb5c1006b56" + }, + "cozyMetadata": { + "doctypeVersion": "1", + "metadataVersion": 1, + "createdAt": "2020-11-13T10:03:16.0148026Z", + "createdByApp": "ecolyo", + "updatedAt": "2020-11-13T10:03:16.0148026Z" + } + }, + "meta": {}, + "links": { + "self": "/jobs/triggers/238ba37b8bc8130bd323edb5c1005c8f" + } +} + diff --git a/src/services/konnector.service.spec.ts b/src/services/konnector.service.spec.ts index 949cd53d28e0603a4b07ad267d4154064c557f80..552eef72454dac963bf8e92ad790bc59eaf109f4 100644 --- a/src/services/konnector.service.spec.ts +++ b/src/services/konnector.service.spec.ts @@ -2,6 +2,7 @@ import KonnectorService from './konnector.service' import { Client, QueryDefinition } from 'cozy-client' import TriggerService from 'services/triggers.service' import { Trigger, TriggerState, Account } from 'models' +import mockAccount from './__mocks__/accountsData.json' const mockTriggers = ({ getTrigger: jest.fn(), @@ -17,19 +18,6 @@ const mockClient = ({ getStackClient: jest.fn(), } as unknown) as jest.Mocked<Client> -const mockAccount: Account = { - _id: 'a686348c1fc85f92033e19eb6b0042af', - // eslint-disable-next-line @typescript-eslint/camelcase - account_type: 'eglgrandlyon', - auth: { - // eslint-disable-next-line @typescript-eslint/camelcase - credentials_encrypted: - 'bmFjbNDdeM1X3TDBNfSmJTWOsiMkZHLkhUZVdfIh/BlrsTpNKYKZ6p63eBOpXUBSok5cTJBNuP2fVwOZAPzVKAACO+FMC2sdZtgk/CDqxwOA/roQlg==', - login: 'test', - }, - identifier: 'login', -} - const mockKonnectorData = [ { _id: 'test', @@ -38,7 +26,6 @@ const mockKonnectorData = [ state: 'test', }, ] -const mockFind = new QueryDefinition() const mockTriggerData: Trigger = { _id: 'test', type: 'test', @@ -65,7 +52,6 @@ const mockTriggerState: TriggerState = { describe('KonnectorService service', () => { const konnectorService = new KonnectorService(mockClient) - mockClient.find.mockReturnValue(mockFind) mockClient.query.mockImplementation(() => Promise.resolve({ data: mockKonnectorData }) ) diff --git a/src/services/konnector.service.ts b/src/services/konnector.service.ts index f0fdea3034b7c16ba115bddb3217bb48ba8f87a6..248fff94205dd476cec289614ff9c0b9c58c0980 100644 --- a/src/services/konnector.service.ts +++ b/src/services/konnector.service.ts @@ -1,4 +1,4 @@ -import { Client } from 'cozy-client' +import { Client, Q } from 'cozy-client' import { KONNECTORS_DOCTYPE } from 'doctypes' import { Account, Konnector, TriggerState } from 'models' import TriggerService from 'services/triggers.service' @@ -11,11 +11,12 @@ export default class KonnectorService { } public async getKonnector(id: string) { - const { data } = await this._client.query( - this._client.find(KONNECTORS_DOCTYPE).where({ + const query = Q(KONNECTORS_DOCTYPE) + // eslint-disable-next-line @typescript-eslint/camelcase + .where({ _id: KONNECTORS_DOCTYPE + '/' + id, }) - ) + const { data } = await this._client.query(query) const konnector: Konnector = data && data[0] return konnector } @@ -34,8 +35,7 @@ export default class KonnectorService { } public async createIndexKonnector() { - const query = this._client - .find('io.cozy.konnectors') + const query = Q(KONNECTORS_DOCTYPE) // eslint-disable-next-line @typescript-eslint/camelcase .where({ _id: 'index' }) .limitBy(1) diff --git a/src/services/triggers.service.ts b/src/services/triggers.service.ts index 740de5c2addc6c37504f7d9888fb661f5ddd6f3a..76c0bf4e506effbacf67d58991d4cfe5b766976a 100644 --- a/src/services/triggers.service.ts +++ b/src/services/triggers.service.ts @@ -39,11 +39,9 @@ export default class TriggerService { 'TriggersServices : createTrigger - _triggerAttributes not found' ) } - console.log(triggerAttributes) const trigger = await triggersMutations(this._client).createTrigger( triggerAttributes ) - console.log(trigger) return trigger } @@ -96,6 +94,8 @@ export default class TriggerService { const triggerState = await this._client .getStackClient() .fetchJSON('GET', `/jobs/triggers/${trigger._id}`) + console.log('triggerState') + console.log(triggerState) return triggerState.data.attributes.current_state ? triggerState.data.attributes.current_state : null