From a94d732583907541c3144f5c5eeb474b3a2ccbc5 Mon Sep 17 00:00:00 2001 From: shivv23 Date: Thu, 14 May 2026 13:48:15 +0530 Subject: [PATCH] fix(#9381): accept_case_reports transition fails to persist doc changes The onMatch function returns silenceRegistrations() which resolves to undefined. The transitions framework treats falsy return values as 'no changes', so doc modifications (messages, place_uuid) are never persisted to the database. Fixed by appending .then(() => true) to ensure a truthy return value when the transition completes successfully, matching the pattern used by accept_patient_reports and registration transitions. --- .../transitions/src/transitions/accept_case_reports.js | 2 +- .../transitions/test/unit/transitions/accept_case_reports.js | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/shared-libs/transitions/src/transitions/accept_case_reports.js b/shared-libs/transitions/src/transitions/accept_case_reports.js index dc8c74f5222..0e8da3f2746 100644 --- a/shared-libs/transitions/src/transitions/accept_case_reports.js +++ b/shared-libs/transitions/src/transitions/accept_case_reports.js @@ -95,7 +95,7 @@ module.exports = { } addMessagesToDoc(doc, config, registrations); updatePlaceUuid(doc, registrations); - return silenceRegistrations(doc, config, registrations); + return silenceRegistrations(doc, config, registrations).then(() => true); }); }); diff --git a/shared-libs/transitions/test/unit/transitions/accept_case_reports.js b/shared-libs/transitions/test/unit/transitions/accept_case_reports.js index 6eca287a81e..95527fcebad 100644 --- a/shared-libs/transitions/test/unit/transitions/accept_case_reports.js +++ b/shared-libs/transitions/test/unit/transitions/accept_case_reports.js @@ -250,7 +250,7 @@ describe('accept_case_reports', () => { }); }); - it('adds place id from registration', () => { + it('adds place id from registration and returns truthy', () => { config.get.returns([{ form: 'x', messages: [{ @@ -274,7 +274,8 @@ describe('accept_case_reports', () => { } }; - return transition.onMatch({ doc }).then(() => { + return transition.onMatch({ doc }).then(changed => { + changed.should.equal(true); doc.fields.place_uuid.should.equal('abc'); doc.tasks.length.should.equal(1); doc.tasks[0].messages.length.should.equal(1);