From efce5ae18931c2781d030210e39d00733e75d6a6 Mon Sep 17 00:00:00 2001 From: Juan Enrique Alcaraz Date: Fri, 1 Sep 2023 11:03:27 +0200 Subject: [PATCH 1/2] Just map translation properties and leave out all the rest --- src/controllers/news.js | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/src/controllers/news.js b/src/controllers/news.js index ebc023c9..dee7a3bf 100644 --- a/src/controllers/news.js +++ b/src/controllers/news.js @@ -3,17 +3,15 @@ import { Op } from 'sequelize'; import News from '../models/news'; import { respondWithSuccess } from '../helpers/responses'; -function prepareNewsResult(response) { +function prepareNewsResult({ dataValues: { message_en, title_en, ...rest } }) { return { - iconId: response.iconId, message: { - en: response.message_en, + en: message_en, }, - date: response.date, - isActive: response.isActive, title: { - en: response.title_en, + en: title_en, }, + ...rest, }; } From 316e9022c0651893c1650e89740188c8daa5fb79 Mon Sep 17 00:00:00 2001 From: Juan Enrique Alcaraz Date: Fri, 1 Sep 2023 12:31:21 +0200 Subject: [PATCH 2/2] Add test checking response format --- test/news-find.test.js | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/test/news-find.test.js b/test/news-find.test.js index 046e5df3..5f28b9c1 100644 --- a/test/news-find.test.js +++ b/test/news-find.test.js @@ -48,6 +48,24 @@ afterAll(async () => { }); describe('GET /news/?afterDate=... - Search via date', () => { + it('should return the correct response format', () => + request(app) + .get('/api/news') + .set('Accept', 'application/json') + .expect(httpStatus.OK) + .expect(({ body: { data } }) => + data.forEach((obj) => { + expect(obj).toHaveProperty('id'); + expect(obj).toHaveProperty('date'); + expect(obj).toHaveProperty('iconId'); + expect(obj).toHaveProperty('isActive'); + expect(obj).toHaveProperty('createdAt'); + expect(obj).toHaveProperty('updatedAt'); + expect(obj).toHaveProperty('title.en'); + expect(obj).toHaveProperty('message.en'); + }), + )); + it('should return active news by default', async () => { await request(app) .get('/api/news')