From ebae59507f795abce26764ad6bcd9def6eb9878d Mon Sep 17 00:00:00 2001 From: ChengLei Shao Date: Sun, 28 May 2023 07:57:59 +0800 Subject: [PATCH] test(audit-logs): audit log changes (#1928) * test: audit log changes * chore: test --- .../src/server/__tests__/hook.test.ts | 20 ++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/packages/plugins/audit-logs/src/server/__tests__/hook.test.ts b/packages/plugins/audit-logs/src/server/__tests__/hook.test.ts index b4218c086..282ea0c16 100644 --- a/packages/plugins/audit-logs/src/server/__tests__/hook.test.ts +++ b/packages/plugins/audit-logs/src/server/__tests__/hook.test.ts @@ -8,6 +8,7 @@ describe('hook', () => { beforeEach(async () => { api = mockServer(); + await api.db.clean({ drop: true }); api.plugin(logPlugin, { name: 'audit-logs' }); await api.load(); db = api.db; @@ -46,9 +47,22 @@ describe('hook', () => { const post = await Post.create({ title: 't1' }); await post.update({ title: 't2' }); await post.destroy(); - const AuditLog = db.getCollection('auditLogs').model; - const count = await AuditLog.count(); - expect(count).toBe(3); + const auditLogs = await db.getCollection('auditLogs').repository.find({ + appends: ['changes'], + }); + expect(auditLogs.length).toBe(3); + + const titleChange = (changes) => { + return changes.find((item) => item.field.name === 'title'); + }; + + expect(titleChange(auditLogs[0].changes).before).toBeNull(); + expect(titleChange(auditLogs[0].changes).after).toBe('t1'); + + expect(titleChange(auditLogs[1].changes).before).toBe('t1'); + expect(titleChange(auditLogs[1].changes).after).toBe('t2'); + + expect(titleChange(auditLogs[2].changes).before).toBe('t2'); }); it('repository', async () => {