From df2fbbabc680d50eb10be288b2ce168e1b6bcacf Mon Sep 17 00:00:00 2001 From: Faruk AYDIN Date: Sat, 2 Mar 2024 16:12:51 +0100 Subject: [PATCH] feat: Implement action serializer --- packages/backend/src/serializers/action.js | 9 ++++++++ .../backend/src/serializers/action.test.js | 21 +++++++++++++++++++ packages/backend/src/serializers/index.js | 2 ++ 3 files changed, 32 insertions(+) create mode 100644 packages/backend/src/serializers/action.js create mode 100644 packages/backend/src/serializers/action.test.js diff --git a/packages/backend/src/serializers/action.js b/packages/backend/src/serializers/action.js new file mode 100644 index 00000000..cad8ac5d --- /dev/null +++ b/packages/backend/src/serializers/action.js @@ -0,0 +1,9 @@ +const actionSerializer = (action) => { + return { + name: action.name, + key: action.key, + description: action.description, + }; +}; + +export default actionSerializer; diff --git a/packages/backend/src/serializers/action.test.js b/packages/backend/src/serializers/action.test.js new file mode 100644 index 00000000..32b6b81b --- /dev/null +++ b/packages/backend/src/serializers/action.test.js @@ -0,0 +1,21 @@ +import { describe, it, expect } from 'vitest'; +import App from '../models/app'; +import actionSerializer from './action'; + +describe('actionSerializer', () => { + it('should return the action data', async () => { + const actions = await App.findActionsByKey('github'); + const action = actions[0]; + + const expectedPayload = { + description: action.description, + key: action.key, + name: action.name, + pollInterval: action.pollInterval, + showWebhookUrl: action.showWebhookUrl, + type: action.type, + }; + + expect(actionSerializer(action)).toEqual(expectedPayload); + }); +}); diff --git a/packages/backend/src/serializers/index.js b/packages/backend/src/serializers/index.js index b411041b..aa1a37c3 100644 --- a/packages/backend/src/serializers/index.js +++ b/packages/backend/src/serializers/index.js @@ -8,6 +8,7 @@ import stepSerializer from './step.js'; import appSerializer from './app.js'; import authSerializer from './auth.js'; import triggerSerializer from './trigger.js'; +import actionSerializer from './action.js'; const serializers = { User: userSerializer, @@ -20,6 +21,7 @@ const serializers = { App: appSerializer, Auth: authSerializer, Trigger: triggerSerializer, + Action: actionSerializer, }; export default serializers;