From a2c8317587e74e4f15c0f648ac4697d8175a03c1 Mon Sep 17 00:00:00 2001 From: LionelB Date: Tue, 4 Feb 2025 17:32:16 +0100 Subject: [PATCH] feat(api): stop save userId / assessmentId in snapshots --- .../campaign-participation-repository.js | 4 +--- .../campaign-participation-repository_test.js | 19 +++++++++++++++++-- 2 files changed, 18 insertions(+), 5 deletions(-) diff --git a/api/src/prescription/campaign-participation/infrastructure/repositories/campaign-participation-repository.js b/api/src/prescription/campaign-participation/infrastructure/repositories/campaign-participation-repository.js index 3a6252edcfe..441f86ba0d0 100644 --- a/api/src/prescription/campaign-participation/infrastructure/repositories/campaign-participation-repository.js +++ b/api/src/prescription/campaign-participation/infrastructure/repositories/campaign-participation-repository.js @@ -1,4 +1,4 @@ -import lodash from 'lodash'; +import pick from 'lodash/pick.js'; import { knex } from '../../../../../db/knex-database-connection.js'; import { constants } from '../../../../shared/domain/constants.js'; @@ -14,8 +14,6 @@ import { AvailableCampaignParticipation } from '../../domain/read-models/Availab const { TO_SHARE } = CampaignParticipationStatuses; -const { pick } = lodash; - const CAMPAIGN_PARTICIPATION_ATTRIBUTES = [ 'participantExternalId', 'sharedAt', diff --git a/api/tests/prescription/campaign-participation/integration/infrastructure/repositories/campaign-participation-repository_test.js b/api/tests/prescription/campaign-participation/integration/infrastructure/repositories/campaign-participation-repository_test.js index 2af2d6a67d1..e8c6985c737 100644 --- a/api/tests/prescription/campaign-participation/integration/infrastructure/repositories/campaign-participation-repository_test.js +++ b/api/tests/prescription/campaign-participation/integration/infrastructure/repositories/campaign-participation-repository_test.js @@ -20,6 +20,7 @@ describe('Integration | Repository | Campaign Participation', function () { describe('#updateWithSnapshot', function () { let clock; let campaignParticipation; + let ke; const frozenTime = new Date('1987-09-01T00:00:00Z'); beforeEach(async function () { @@ -28,7 +29,7 @@ describe('Integration | Repository | Campaign Participation', function () { sharedAt: null, }); - databaseBuilder.factory.buildKnowledgeElement({ + ke = databaseBuilder.factory.buildKnowledgeElement({ userId: campaignParticipation.userId, createdAt: new Date('1985-09-01T00:00:00Z'), }); @@ -75,8 +76,22 @@ describe('Integration | Repository | Campaign Participation', function () { }); // then - const snapshotInDB = await knex.select('id').from('knowledge-element-snapshots'); + const snapshotInDB = await knex.pluck('snapshot').from('knowledge-element-snapshots'); expect(snapshotInDB).to.have.lengthOf(1); + expect(snapshotInDB).to.deep.equal([ + [ + { + id: ke.id, + answerId: ke.answerId, + competenceId: ke.competenceId, + createdAt: ke.createdAt.toISOString(), + earnedPix: 2, + skillId: ke.skillId, + source: ke.source, + status: ke.status, + }, + ], + ]); }); context('when there is a transaction', function () {