diff --git a/lib/model/query/submissions.js b/lib/model/query/submissions.js index 3babeebd1..35eb2a763 100644 --- a/lib/model/query/submissions.js +++ b/lib/model/query/submissions.js @@ -162,7 +162,7 @@ createVersion.audit.withResult = true; // SUBMISSION MANAGEMENT const update = (form, submission, data) => ({ one }) => one(updater(submission, data)).then(construct(Submission)); -update.audit = (form, submission, data) => (log) => log('submission.update', form, Object.assign({ submissionId: submission.id, submissionDefId: submission.def.id, instanceId: submission.def.instanceId }, data)); +update.audit = (form, submission, data) => (log) => log('submission.update', form, Object.assign({ submissionId: submission.id, submissionDefId: submission.def.id, instanceId: submission.instanceId }, data)); const clearDraftSubmissionsForProject = (projectId) => ({ run }) => run(sql`DELETE FROM submissions USING forms WHERE submissions."formId" = forms.id AND forms."projectId" = ${projectId} AND submissions.draft=true`); diff --git a/test/integration/api/submissions.js b/test/integration/api/submissions.js index f945089df..2c0fa6a12 100644 --- a/test/integration/api/submissions.js +++ b/test/integration/api/submissions.js @@ -1514,6 +1514,23 @@ describe('api: /forms/:id/submissions', () => { .then(() => asAlice.get('/v1/projects/1/forms/simple/submissions/one') .expect(200) .then(({ body }) => { body.reviewState.should.equal('approved'); }))))); + + it('should set the audit details when reviewing', testService((service) => + service.login('alice', (asAlice) => + asAlice.post('/v1/projects/1/forms/simple/submissions') + .send(testData.instances.simple.one) + .set('Content-Type', 'application/xml') + .expect(200) + .then(() => asAlice.patch('/v1/projects/1/forms/simple/submissions/one') + .send({ reviewState: 'rejected' }) + .expect(200)) + .then(() => asAlice.get('/v1/audits?action=submission.update') + .expect(200) + .then(({ body }) => { + body[0].should.be.an.Audit(); + body[0].details.instanceId.should.equal('one'); + body[0].details.reviewState.should.equal('rejected'); + }))))); }); describe('/:instanceId DELETE', () => {