From 948f774e78b039bd93d59a40ddab2085f37131b5 Mon Sep 17 00:00:00 2001 From: Iulia Grumaz Date: Thu, 18 Jan 2024 19:26:01 +0200 Subject: [PATCH] fix: audit result scores init, tests --- .../src/models/audit.js | 4 ++-- .../test/unit/models/audit.test.js | 19 +++++++++++++++++++ 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/packages/spacecat-shared-data-access/src/models/audit.js b/packages/spacecat-shared-data-access/src/models/audit.js index ac31bd3ca..f43bf7c4a 100644 --- a/packages/spacecat-shared-data-access/src/models/audit.js +++ b/packages/spacecat-shared-data-access/src/models/audit.js @@ -107,8 +107,8 @@ export const createAudit = (data) => { throw new Error('Audit result must be an object'); } - if (!newState.scores) { - newState.scores = {}; + if (!newState.auditResult.scores) { + newState.auditResult.scores = {}; } validateScores(data.auditResult, data.auditType); diff --git a/packages/spacecat-shared-data-access/test/unit/models/audit.test.js b/packages/spacecat-shared-data-access/test/unit/models/audit.test.js index 4f65a999a..1f2fff7a8 100644 --- a/packages/spacecat-shared-data-access/test/unit/models/audit.test.js +++ b/packages/spacecat-shared-data-access/test/unit/models/audit.test.js @@ -80,6 +80,25 @@ describe('Audit Model Tests', () => { expect(audit.getPreviousAuditResult()).to.be.undefined; }); + it('automatically initializes scores with empty object if not provided', () => { + const noScoresAuditResult = { + siteId: '123', + auditedAt: new Date().toISOString(), + auditType: 'broken-backlinks', + auditResult: { + brokenBacklinks: [], + }, + fullAuditRef: 'ref123', + }; + + const audit = createAudit(noScoresAuditResult); + expect(audit).to.be.an('object'); + expect(audit.getAuditResult()).to.deep.equal({ + ...noScoresAuditResult.auditResult, + scores: {}, + }); + }); + it('throws an error when updating with invalid previous audit', () => { const audit = createAudit(validData);