From e944333e5f2d804b1a44b58ab044a0e5f79bb371 Mon Sep 17 00:00:00 2001 From: Faruk AYDIN Date: Fri, 1 Mar 2024 15:02:21 +0100 Subject: [PATCH] feat: Implement trigger serializer --- packages/backend/src/serializers/index.js | 2 ++ packages/backend/src/serializers/trigger.js | 12 +++++++++++ .../backend/src/serializers/trigger.test.js | 21 +++++++++++++++++++ 3 files changed, 35 insertions(+) create mode 100644 packages/backend/src/serializers/trigger.js create mode 100644 packages/backend/src/serializers/trigger.test.js diff --git a/packages/backend/src/serializers/index.js b/packages/backend/src/serializers/index.js index 1732ac62..b411041b 100644 --- a/packages/backend/src/serializers/index.js +++ b/packages/backend/src/serializers/index.js @@ -7,6 +7,7 @@ import flowSerializer from './flow.js'; import stepSerializer from './step.js'; import appSerializer from './app.js'; import authSerializer from './auth.js'; +import triggerSerializer from './trigger.js'; const serializers = { User: userSerializer, @@ -18,6 +19,7 @@ const serializers = { Step: stepSerializer, App: appSerializer, Auth: authSerializer, + Trigger: triggerSerializer, }; export default serializers; diff --git a/packages/backend/src/serializers/trigger.js b/packages/backend/src/serializers/trigger.js new file mode 100644 index 00000000..07fc0927 --- /dev/null +++ b/packages/backend/src/serializers/trigger.js @@ -0,0 +1,12 @@ +const triggerSerializer = (trigger) => { + return { + description: trigger.description, + key: trigger.key, + name: trigger.name, + pollInterval: trigger.pollInterval, + showWebhookUrl: trigger.showWebhookUrl, + type: trigger.type, + }; +}; + +export default triggerSerializer; diff --git a/packages/backend/src/serializers/trigger.test.js b/packages/backend/src/serializers/trigger.test.js new file mode 100644 index 00000000..126a6637 --- /dev/null +++ b/packages/backend/src/serializers/trigger.test.js @@ -0,0 +1,21 @@ +import { describe, it, expect } from 'vitest'; +import App from '../models/app'; +import triggerSerializer from './trigger'; + +describe('triggerSerializer', () => { + it('should return the trigger data', async () => { + const triggers = await App.findTriggersByKey('github'); + const trigger = triggers[0]; + + const expectedPayload = { + description: trigger.description, + key: trigger.key, + name: trigger.name, + pollInterval: trigger.pollInterval, + showWebhookUrl: trigger.showWebhookUrl, + type: trigger.type, + }; + + expect(triggerSerializer(trigger)).toEqual(expectedPayload); + }); +});