Skip to content

Commit af0f0d9

Browse files
committed
test(core): update unit tests to use custom matchers
1 parent fc0415d commit af0f0d9

File tree

5 files changed

+31
-28
lines changed

5 files changed

+31
-28
lines changed

packages/core/src/lib/collect-and-persist.unit.test.ts

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ import {
33
ISO_STRING_REGEXP,
44
MINIMAL_CONFIG_MOCK,
55
MINIMAL_REPORT_MOCK,
6-
getLogMessages,
76
} from '@code-pushup/test-utils';
87
import {
98
type ScoredReport,
@@ -115,7 +114,6 @@ describe('collectAndPersistReports', () => {
115114
await collectAndPersistReports(
116115
MINIMAL_CONFIG_MOCK as CollectAndPersistReportsOptions,
117116
);
118-
const logs = getLogMessages(ui().logger);
119-
expect(logs.at(-2)).toContain('Made with ❤ by code-pushup.dev');
117+
expect(ui()).toHaveLoggedMessage('Made with ❤ by code-pushup.dev');
120118
});
121119
});

packages/core/src/lib/implementation/persist.unit.test.ts

Lines changed: 19 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ import {
77
MEMFS_VOLUME,
88
MINIMAL_REPORT_MOCK,
99
REPORT_MOCK,
10-
getLogMessages,
1110
} from '@code-pushup/test-utils';
1211
import { scoreReport, sortReport, ui } from '@code-pushup/utils';
1312
import { logPersistedResults, persistReport } from './persist.js';
@@ -91,30 +90,35 @@ describe('persistReport', () => {
9190
describe('logPersistedResults', () => {
9291
it('should log report sizes correctly`', () => {
9392
logPersistedResults([{ status: 'fulfilled', value: ['out.json', 10_000] }]);
94-
const logs = getLogMessages(ui().logger);
95-
expect(logs[0]).toBe('[ green(success) ] Generated reports successfully: ');
96-
expect(logs[1]).toContain('9.77 kB');
97-
expect(logs[1]).toContain('out.json');
93+
expect(ui()).toHaveLoggedNthLevel(1, 'success');
94+
expect(ui()).toHaveLoggedNthMessageContaining(
95+
1,
96+
'Generated reports successfully: ',
97+
);
98+
expect(ui()).toHaveLoggedNthMessageContaining(2, '9.77 kB');
99+
expect(ui()).toHaveLoggedNthMessageContaining(2, 'out.json');
98100
});
99101

100102
it('should log fails correctly`', () => {
101103
logPersistedResults([{ status: 'rejected', reason: 'fail' }]);
102-
const logs = getLogMessages(ui().logger);
103-
expect(logs[0]).toBe('[ yellow(warn) ] Generated reports failed: ');
104-
expect(logs[1]).toContain('fail');
104+
expect(ui()).toHaveLoggedNthLevel(1, 'warn');
105+
expect(ui()).toHaveLoggedNthMessage(1, 'Generated reports failed: ');
106+
expect(ui()).toHaveLoggedNthMessageContaining(2, 'fail');
105107
});
106108

107109
it('should log report sizes and fails correctly`', () => {
108110
logPersistedResults([
109111
{ status: 'fulfilled', value: ['out.json', 10_000] },
110112
{ status: 'rejected', reason: 'fail' },
111113
]);
112-
const logs = getLogMessages(ui().logger);
113-
expect(logs[0]).toBe('[ green(success) ] Generated reports successfully: ');
114-
expect(logs[1]).toContain('out.json');
115-
expect(logs[1]).toContain('9.77 kB');
116-
117-
expect(logs[2]).toContain('Generated reports failed: ');
118-
expect(logs[2]).toContain('fail');
114+
expect(ui()).toHaveLoggedNthLevel(1, 'success');
115+
expect(ui()).toHaveLoggedNthMessage(1, 'Generated reports successfully: ');
116+
expect(ui()).toHaveLoggedNthMessageContaining(2, 'out.json');
117+
expect(ui()).toHaveLoggedNthMessageContaining(2, '9.77 kB');
118+
expect(ui()).toHaveLoggedNthMessageContaining(
119+
3,
120+
'Generated reports failed: ',
121+
);
122+
expect(ui()).toHaveLoggedNthMessageContaining(3, 'fail');
119123
});
120124
});

packages/core/src/lib/merge-diffs.unit.test.ts

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ import path from 'node:path';
44
import type { PersistConfig } from '@code-pushup/models';
55
import {
66
MEMFS_VOLUME,
7-
getLogMessages,
87
reportsDiffAddedPluginMock,
98
reportsDiffAltMock,
109
reportsDiffMock,
@@ -64,13 +63,13 @@ describe('mergeDiffs', () => {
6463
),
6564
).resolves.toBe(path.join(MEMFS_VOLUME, 'report-diff.md'));
6665

67-
expect(getLogMessages(ui().logger)).toEqual([
68-
expect.stringContaining(
69-
'Skipped invalid report diff - Failed to read JSON file missing-report-diff.json',
70-
),
71-
expect.stringContaining(
72-
'Skipped invalid report diff - Invalid reports diff in invalid-report-diff.json',
73-
),
74-
]);
66+
expect(ui()).toHaveLoggedNthMessageContaining(
67+
1,
68+
'Skipped invalid report diff - Failed to read JSON file missing-report-diff.json',
69+
);
70+
expect(ui()).toHaveLoggedNthMessageContaining(
71+
2,
72+
'Skipped invalid report diff - Invalid reports diff in invalid-report-diff.json',
73+
);
7574
});
7675
});

packages/core/tsconfig.test.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
"src/**/*.test.js",
1313
"src/**/*.test.jsx",
1414
"src/**/*.d.ts",
15-
"mocks/**/*.ts"
15+
"mocks/**/*.ts",
16+
"../../testing/test-setup/src/vitest.d.ts"
1617
]
1718
}

packages/core/vite.config.unit.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ export default defineConfig({
2828
'../../testing/test-setup/src/lib/console.mock.ts',
2929
'../../testing/test-setup/src/lib/reset.mocks.ts',
3030
'../../testing/test-setup/src/lib/portal-client.mock.ts',
31+
'../../testing/test-setup/src/lib/extend/ui-logger.matcher.ts',
3132
],
3233
},
3334
});

0 commit comments

Comments
 (0)