Skip to content

Commit eece819

Browse files
committed
test(utils): update unit tests to use custom matchers
1 parent 43048a6 commit eece819

File tree

4 files changed

+14
-12
lines changed

4 files changed

+14
-12
lines changed

packages/utils/src/lib/log-results.unit.test.ts

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
import { describe, expect, it, vi } from 'vitest';
2-
import { getLogMessages } from '@code-pushup/test-utils';
32
import type { FileResult } from './file-system.js';
43
import { logMultipleResults, logPromiseResults } from './log-results.js';
54
import { ui } from './logging.js';
@@ -68,9 +67,10 @@ describe('logPromiseResults', () => {
6867
'Uploaded reports successfully:',
6968
(result): string => result.value.toString(),
7069
);
71-
const logs = getLogMessages(ui().logger);
72-
expect(logs[0]).toBe('[ green(success) ] Uploaded reports successfully:');
73-
expect(logs[1]).toBe('[ green(success) ] out.json');
70+
expect(ui()).toHaveLoggedNthLevel(1, 'success');
71+
expect(ui()).toHaveLoggedNthMessage(1, 'Uploaded reports successfully:');
72+
expect(ui()).toHaveLoggedNthLevel(2, 'success');
73+
expect(ui()).toHaveLoggedNthMessage(2, 'out.json');
7474
});
7575

7676
it('should log on fail', () => {
@@ -79,8 +79,9 @@ describe('logPromiseResults', () => {
7979
'Generated reports failed:',
8080
(result: { reason: string }) => result.reason,
8181
);
82-
const logs = getLogMessages(ui().logger);
83-
expect(logs[0]).toBe('[ yellow(warn) ] Generated reports failed:');
84-
expect(logs[1]).toBe('[ yellow(warn) ] fail');
82+
expect(ui()).toHaveLoggedNthLevel(1, 'warn');
83+
expect(ui()).toHaveLoggedNthMessage(1, 'Generated reports failed:');
84+
expect(ui()).toHaveLoggedNthLevel(2, 'warn');
85+
expect(ui()).toHaveLoggedNthMessage(2, 'fail');
8586
});
8687
});

packages/utils/src/lib/verbose-utils.unit.test.ts

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
import { describe, expect, it, vi } from 'vitest';
2-
import { getLogMessages } from '@code-pushup/test-utils';
32
import { ui } from './logging.js';
43
import { verboseUtils } from './verbose-utils.js';
54

@@ -24,16 +23,16 @@ describe('verbose-utils', () => {
2423

2524
it('logs should be off by default', () => {
2625
verboseUtils(false).log('42');
27-
expect(getLogMessages(ui().logger)).toHaveLength(0);
26+
expect(ui()).not.toHaveLogged();
2827
});
2928

3029
it('should not print any logs when verbose is off', () => {
3130
verboseUtils(false).log('42');
32-
expect(getLogMessages(ui().logger)).toHaveLength(0);
31+
expect(ui()).not.toHaveLogged();
3332
});
3433

3534
it('should log when verbose is on', () => {
3635
verboseUtils(true).log('42');
37-
expect(getLogMessages(ui().logger)[0]).toContain('42');
36+
expect(ui()).toHaveLoggedMessageContaining('42');
3837
});
3938
});

packages/utils/tsconfig.test.json

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

packages/utils/vite.config.unit.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ export default defineConfig({
2626
'../../testing/test-setup/src/lib/fs.mock.ts',
2727
'../../testing/test-setup/src/lib/console.mock.ts',
2828
'../../testing/test-setup/src/lib/reset.mocks.ts',
29+
'../../testing/test-setup/src/lib/extend/ui-logger.matcher.ts',
2930
],
3031
},
3132
});

0 commit comments

Comments
 (0)