From 9c66f47bca4c1b2c2d4dadf00ad0555e68d14a9c Mon Sep 17 00:00:00 2001 From: Ali BARIN Date: Tue, 8 Oct 2024 14:34:14 +0000 Subject: [PATCH] test: write config serializer cases --- packages/backend/src/serializers/config.js | 3 ++ .../backend/src/serializers/config.test.js | 32 +++++++++++++++++++ packages/backend/test/factories/config.js | 4 +++ 3 files changed, 39 insertions(+) create mode 100644 packages/backend/src/serializers/config.test.js diff --git a/packages/backend/src/serializers/config.js b/packages/backend/src/serializers/config.js index 2d7a7393..6625a1c9 100644 --- a/packages/backend/src/serializers/config.js +++ b/packages/backend/src/serializers/config.js @@ -5,6 +5,9 @@ const configSerializer = (config) => { createdAt: config.createdAt.getTime(), disableFavicon: config.disableFavicon, disableNotificationsPage: config.disableNotificationsPage, + additionalDrawerLink: config.additionalDrawerLink, + additionalDrawerLinkIcon: config.additionalDrawerLinkIcon, + additionalDrawerLinkText: config.additionalDrawerLinkText, logoSvgData: config.logoSvgData, palettePrimaryDark: config.palettePrimaryDark, palettePrimaryMain: config.palettePrimaryMain, diff --git a/packages/backend/src/serializers/config.test.js b/packages/backend/src/serializers/config.test.js new file mode 100644 index 00000000..d4984725 --- /dev/null +++ b/packages/backend/src/serializers/config.test.js @@ -0,0 +1,32 @@ +import { describe, it, expect, beforeEach } from 'vitest'; +import { getConfig } from '../../test/factories/config'; +import configSerializer from './config'; + +describe('configSerializer', () => { + let config; + + beforeEach(async () => { + config = await getConfig(); + }); + + it('should return config data', async () => { + const expectedPayload = { + id: config.id, + disableFavicon: config.disableFavicon, + disableNotificationsPage: config.disableNotificationsPage, + logoSvgData: config.logoSvgData, + palettePrimaryDark: config.palettePrimaryDark, + palettePrimaryMain: config.palettePrimaryMain, + palettePrimaryLight: config.palettePrimaryLight, + installationCompleted: config.installationCompleted, + title: config.title, + additionalDrawerLink: config.additionalDrawerLink, + additionalDrawerLinkIcon: config.additionalDrawerLinkIcon, + additionalDrawerLinkText: config.additionalDrawerLinkText, + createdAt: config.createdAt.getTime(), + updatedAt: config.updatedAt.getTime(), + }; + + expect(configSerializer(config)).toEqual(expectedPayload); + }); +}); diff --git a/packages/backend/test/factories/config.js b/packages/backend/test/factories/config.js index 8e42569c..96ccc523 100644 --- a/packages/backend/test/factories/config.js +++ b/packages/backend/test/factories/config.js @@ -1,5 +1,9 @@ import Config from '../../src/models/config'; +export const getConfig = async () => { + return await Config.get(); +}; + export const updateConfig = async (params = {}) => { return await Config.update(params); };