feat: Add connection serializer

This commit is contained in:
Faruk AYDIN
2024-03-13 13:11:54 +01:00
parent e3e598b208
commit 8f7f6dc19e
3 changed files with 46 additions and 0 deletions

View File

@@ -0,0 +1,16 @@
const connectionSerializer = (connection) => {
return {
id: connection.id,
key: connection.key,
reconnectable: connection.reconnectable,
appAuthClientId: connection.appAuthClientId,
formattedData: {
screenName: connection.formattedData.screenName,
},
verified: connection.verified,
createdAt: connection.createdAt.getTime(),
updatedAt: connection.updatedAt.getTime(),
};
};
export default connectionSerializer;

View File

@@ -0,0 +1,28 @@
import { describe, it, expect, beforeEach } from 'vitest';
import { createConnection } from '../../test/factories/connection';
import connectionSerializer from './connection';
describe('connectionSerializer', () => {
let connection;
beforeEach(async () => {
connection = await createConnection();
});
it('should return connection data', async () => {
const expectedPayload = {
id: connection.id,
key: connection.key,
reconnectable: connection.reconnectable,
appAuthClientId: connection.appAuthClientId,
formattedData: {
screenName: connection.formattedData.screenName,
},
verified: connection.verified,
createdAt: connection.createdAt.getTime(),
updatedAt: connection.updatedAt.getTime(),
};
expect(connectionSerializer(connection)).toEqual(expectedPayload);
});
});

View File

@@ -6,6 +6,7 @@ import appAuthClientSerializer from './app-auth-client.js';
import appConfigSerializer from './app-config.js';
import flowSerializer from './flow.js';
import stepSerializer from './step.js';
import connectionSerializer from './connection.js';
import appSerializer from './app.js';
import authSerializer from './auth.js';
import triggerSerializer from './trigger.js';
@@ -23,6 +24,7 @@ const serializers = {
AppConfig: appConfigSerializer,
Flow: flowSerializer,
Step: stepSerializer,
Connection: connectionSerializer,
App: appSerializer,
Auth: authSerializer,
Trigger: triggerSerializer,