@midleman/playwright-reporter 0.47.13 → 0.47.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,216 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const vitest_1 = require("vitest");
7
- // Mock the API writer module
8
- vitest_1.vi.mock('./storage/api', () => ({
9
- createApiWriter: vitest_1.vi.fn(() => ({
10
- writeResults: vitest_1.vi.fn().mockResolvedValue(true),
11
- writeRunEvent: vitest_1.vi.fn().mockResolvedValue(true),
12
- })),
13
- }));
14
- // Mock utils to control IDs
15
- vitest_1.vi.mock('./utils', async (importOriginal) => {
16
- const actual = await importOriginal();
17
- return {
18
- ...actual,
19
- getRunId: () => 'test-run-123',
20
- getDatePartition: () => '2024-01-15',
21
- getRepoName: (override) => override || 'test-repo',
22
- };
23
- });
24
- const reporter_1 = __importDefault(require("./reporter"));
25
- const api_1 = require("./storage/api");
26
- (0, vitest_1.describe)('ParquetReporter', () => {
27
- let mockApiWriter;
28
- (0, vitest_1.beforeEach)(() => {
29
- vitest_1.vi.clearAllMocks();
30
- mockApiWriter = {
31
- writeResults: vitest_1.vi.fn().mockResolvedValue(true),
32
- writeRunEvent: vitest_1.vi.fn().mockResolvedValue(true),
33
- };
34
- vitest_1.vi.mocked(api_1.createApiWriter).mockReturnValue(mockApiWriter);
35
- });
36
- const createMockConfig = () => ({
37
- projects: [{ name: 'chromium', retries: 1 }],
38
- });
39
- const createMockSuite = (tests) => ({
40
- suites: [],
41
- tests: tests.map((t) => ({
42
- type: 'test',
43
- location: { file: t.file },
44
- title: t.title,
45
- })),
46
- });
47
- const createMockTest = (id, title, file) => ({
48
- id,
49
- title,
50
- location: { file, line: 1, column: 1 },
51
- titlePath: () => ['chromium', 'Suite', title],
52
- });
53
- const createMockResult = (status, duration, retry = 0, error) => ({
54
- status,
55
- duration,
56
- retry,
57
- startTime: new Date(),
58
- error,
59
- });
60
- (0, vitest_1.describe)('initialization', () => {
61
- (0, vitest_1.it)('initializes in dev mode', () => {
62
- const reporter = new reporter_1.default({ mode: 'dev' });
63
- (0, vitest_1.expect)(api_1.createApiWriter).toHaveBeenCalledWith({ url: 'http://localhost:8000' }, false);
64
- });
65
- (0, vitest_1.it)('initializes in prod mode', () => {
66
- const reporter = new reporter_1.default({ mode: 'prod' });
67
- (0, vitest_1.expect)(api_1.createApiWriter).toHaveBeenCalledWith({ url: 'https://connect.posit.it/e2e-test-insights-api' }, false);
68
- });
69
- (0, vitest_1.it)('initializes with verbose logging', () => {
70
- const reporter = new reporter_1.default({ mode: 'dev', verbose: true });
71
- (0, vitest_1.expect)(api_1.createApiWriter).toHaveBeenCalledWith({ url: 'http://localhost:8000' }, true);
72
- });
73
- (0, vitest_1.it)('disables when mode is disabled', async () => {
74
- const reporter = new reporter_1.default({ mode: 'disabled' });
75
- await reporter.onBegin(createMockConfig(), createMockSuite([]));
76
- await reporter.onEnd({ status: 'passed' });
77
- (0, vitest_1.expect)(mockApiWriter.writeRunEvent).not.toHaveBeenCalled();
78
- (0, vitest_1.expect)(mockApiWriter.writeResults).not.toHaveBeenCalled();
79
- });
80
- });
81
- (0, vitest_1.describe)('complete test run - all passing', () => {
82
- (0, vitest_1.it)('sends run.started, results, and run.completed events', async () => {
83
- const reporter = new reporter_1.default({ mode: 'dev', flushThreshold: 100 });
84
- const config = createMockConfig();
85
- const suite = createMockSuite([
86
- { file: '/project/tests/a.spec.ts', title: 'test a' },
87
- { file: '/project/tests/b.spec.ts', title: 'test b' },
88
- ]);
89
- // Begin run
90
- await reporter.onBegin(config, suite);
91
- // Verify run.started was sent
92
- (0, vitest_1.expect)(mockApiWriter.writeRunEvent).toHaveBeenCalledTimes(1);
93
- (0, vitest_1.expect)(mockApiWriter.writeRunEvent.mock.calls[0][0]).toMatchObject({
94
- type: 'run.started',
95
- repoName: 'test-repo',
96
- runId: 'test-run-123',
97
- });
98
- // Run tests
99
- const testA = createMockTest('test-a', 'test a', '/project/tests/a.spec.ts');
100
- const testB = createMockTest('test-b', 'test b', '/project/tests/b.spec.ts');
101
- await reporter.onTestEnd(testA, createMockResult('passed', 100));
102
- await reporter.onTestEnd(testB, createMockResult('passed', 200));
103
- // End run
104
- await reporter.onEnd({ status: 'passed' });
105
- // Verify final events
106
- const runEventCalls = mockApiWriter.writeRunEvent.mock.calls;
107
- const lastRunEvent = runEventCalls[runEventCalls.length - 1][0];
108
- (0, vitest_1.expect)(lastRunEvent).toMatchObject({
109
- type: 'run.completed',
110
- status: 'passed',
111
- counts: { passed: 2, failed: 0, skipped: 0, flaky: 0 },
112
- });
113
- // Verify results were sent
114
- (0, vitest_1.expect)(mockApiWriter.writeResults).toHaveBeenCalled();
115
- });
116
- });
117
- (0, vitest_1.describe)('test run with failures', () => {
118
- (0, vitest_1.it)('records failed tests correctly', async () => {
119
- const reporter = new reporter_1.default({ mode: 'dev', flushThreshold: 100 });
120
- await reporter.onBegin(createMockConfig(), createMockSuite([]));
121
- const test = createMockTest('test-1', 'failing test', '/project/tests/fail.spec.ts');
122
- await reporter.onTestEnd(test, createMockResult('failed', 500, 0, { message: 'Expected true to be false' }));
123
- await reporter.onEnd({ status: 'failed' });
124
- const runEventCalls = mockApiWriter.writeRunEvent.mock.calls;
125
- const completedEvent = runEventCalls[runEventCalls.length - 1][0];
126
- (0, vitest_1.expect)(completedEvent.counts.failed).toBe(1);
127
- (0, vitest_1.expect)(completedEvent.status).toBe('failed');
128
- });
129
- });
130
- (0, vitest_1.describe)('test run with flaky tests', () => {
131
- (0, vitest_1.it)('records test as flaky when it fails then passes on retry', async () => {
132
- const reporter = new reporter_1.default({ mode: 'dev', flushThreshold: 100 });
133
- await reporter.onBegin(createMockConfig(), createMockSuite([]));
134
- const test = createMockTest('flaky-test', 'flaky test', '/project/tests/flaky.spec.ts');
135
- // First attempt fails
136
- await reporter.onTestEnd(test, createMockResult('failed', 500, 0, { message: 'Flaky failure' }));
137
- // Retry passes
138
- await reporter.onTestEnd(test, createMockResult('passed', 300, 1));
139
- await reporter.onEnd({ status: 'passed' });
140
- const runEventCalls = mockApiWriter.writeRunEvent.mock.calls;
141
- const completedEvent = runEventCalls[runEventCalls.length - 1][0];
142
- (0, vitest_1.expect)(completedEvent.counts.flaky).toBe(1);
143
- (0, vitest_1.expect)(completedEvent.counts.passed).toBe(0);
144
- (0, vitest_1.expect)(completedEvent.counts.failed).toBe(0);
145
- });
146
- });
147
- (0, vitest_1.describe)('test run with skipped tests', () => {
148
- (0, vitest_1.it)('records skipped tests correctly', async () => {
149
- const reporter = new reporter_1.default({ mode: 'dev', flushThreshold: 100 });
150
- await reporter.onBegin(createMockConfig(), createMockSuite([]));
151
- const test = createMockTest('skip-test', 'skipped test', '/project/tests/skip.spec.ts');
152
- await reporter.onTestEnd(test, createMockResult('skipped', 0));
153
- await reporter.onEnd({ status: 'passed' });
154
- const runEventCalls = mockApiWriter.writeRunEvent.mock.calls;
155
- const completedEvent = runEventCalls[runEventCalls.length - 1][0];
156
- (0, vitest_1.expect)(completedEvent.counts.skipped).toBe(1);
157
- });
158
- });
159
- (0, vitest_1.describe)('incremental flushing', () => {
160
- (0, vitest_1.it)('flushes results when threshold is reached', async () => {
161
- const reporter = new reporter_1.default({
162
- mode: 'dev',
163
- flushThreshold: 2,
164
- flushIntervalMs: 100000, // Long interval so only threshold triggers
165
- });
166
- await reporter.onBegin(createMockConfig(), createMockSuite([]));
167
- // Send 2 results to hit threshold
168
- await reporter.onTestEnd(createMockTest('t1', 'test 1', '/tests/1.spec.ts'), createMockResult('passed', 100));
169
- await reporter.onTestEnd(createMockTest('t2', 'test 2', '/tests/2.spec.ts'), createMockResult('passed', 100));
170
- // Should have flushed once (threshold = 2)
171
- (0, vitest_1.expect)(mockApiWriter.writeResults).toHaveBeenCalled();
172
- // Check batch ID is included
173
- const call = mockApiWriter.writeResults.mock.calls[0];
174
- (0, vitest_1.expect)(call[4]).toBe('001'); // batchId
175
- });
176
- });
177
- (0, vitest_1.describe)('mixed results scenario', () => {
178
- (0, vitest_1.it)('handles a realistic test run with mixed results', async () => {
179
- const reporter = new reporter_1.default({ mode: 'dev', flushThreshold: 100 });
180
- await reporter.onBegin(createMockConfig(), createMockSuite([]));
181
- // 3 passing tests
182
- for (let i = 1; i <= 3; i++) {
183
- await reporter.onTestEnd(createMockTest(`pass-${i}`, `passing test ${i}`, `/tests/pass${i}.spec.ts`), createMockResult('passed', 100 * i));
184
- }
185
- // 1 failing test
186
- await reporter.onTestEnd(createMockTest('fail-1', 'failing test', '/tests/fail.spec.ts'), createMockResult('failed', 500, 0, { message: 'Assertion error' }));
187
- // 1 flaky test (fail then pass)
188
- const flakyTest = createMockTest('flaky-1', 'flaky test', '/tests/flaky.spec.ts');
189
- await reporter.onTestEnd(flakyTest, createMockResult('failed', 200, 0));
190
- await reporter.onTestEnd(flakyTest, createMockResult('passed', 150, 1));
191
- // 1 skipped test
192
- await reporter.onTestEnd(createMockTest('skip-1', 'skipped test', '/tests/skip.spec.ts'), createMockResult('skipped', 0));
193
- await reporter.onEnd({ status: 'failed' });
194
- const runEventCalls = mockApiWriter.writeRunEvent.mock.calls;
195
- const completedEvent = runEventCalls[runEventCalls.length - 1][0];
196
- (0, vitest_1.expect)(completedEvent.counts).toEqual({
197
- passed: 3,
198
- failed: 1,
199
- skipped: 1,
200
- flaky: 1,
201
- });
202
- });
203
- });
204
- (0, vitest_1.describe)('timed out tests', () => {
205
- (0, vitest_1.it)('treats timedOut status as failed', async () => {
206
- const reporter = new reporter_1.default({ mode: 'dev', flushThreshold: 100 });
207
- await reporter.onBegin(createMockConfig(), createMockSuite([]));
208
- await reporter.onTestEnd(createMockTest('timeout-1', 'slow test', '/tests/slow.spec.ts'), createMockResult('timedOut', 30000));
209
- await reporter.onEnd({ status: 'timedOut' });
210
- const runEventCalls = mockApiWriter.writeRunEvent.mock.calls;
211
- const completedEvent = runEventCalls[runEventCalls.length - 1][0];
212
- (0, vitest_1.expect)(completedEvent.counts.failed).toBe(1);
213
- });
214
- });
215
- });
216
- //# sourceMappingURL=reporter.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"reporter.test.js","sourceRoot":"","sources":["../src/reporter.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=schemas.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"schemas.test.d.ts","sourceRoot":"","sources":["../src/schemas.test.ts"],"names":[],"mappings":""}
@@ -1,313 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const vitest_1 = require("vitest");
4
- const schemas_1 = require("./schemas");
5
- (0, vitest_1.describe)('ResultCreatedEventSchema', () => {
6
- const validEvent = {
7
- type: 'result.created',
8
- repoName: 'test-repo',
9
- runId: 'run-123',
10
- specPath: 'tests/example.spec.ts',
11
- testName: 'should work',
12
- status: 'passed',
13
- timestamp: '2024-01-15T10:30:00.000Z',
14
- eventId: 'abc123',
15
- };
16
- (0, vitest_1.it)('accepts valid minimal event', () => {
17
- const result = schemas_1.ResultCreatedEventSchema.safeParse(validEvent);
18
- (0, vitest_1.expect)(result.success).toBe(true);
19
- });
20
- (0, vitest_1.it)('accepts valid event with all optional fields', () => {
21
- const fullEvent = {
22
- ...validEvent,
23
- project: 'chromium',
24
- testId: 'test-id-123',
25
- durationMs: 1500,
26
- startedAt: '2024-01-15T10:30:00.000Z',
27
- attempt: 1,
28
- retries: 0,
29
- failureMessage: undefined,
30
- browser: 'chromium',
31
- os: 'mac',
32
- branch: 'main',
33
- sha: 'abc123def',
34
- reportUrl: 'https://example.com/report',
35
- commitMessage: 'fix: something',
36
- commitAuthor: 'dev@example.com',
37
- titlePath: ['Suite', 'Nested', 'Test'],
38
- };
39
- const result = schemas_1.ResultCreatedEventSchema.safeParse(fullEvent);
40
- (0, vitest_1.expect)(result.success).toBe(true);
41
- });
42
- (0, vitest_1.describe)('required fields', () => {
43
- (0, vitest_1.it)('rejects missing type', () => {
44
- const { type, ...eventWithoutType } = validEvent;
45
- const result = schemas_1.ResultCreatedEventSchema.safeParse(eventWithoutType);
46
- (0, vitest_1.expect)(result.success).toBe(false);
47
- });
48
- (0, vitest_1.it)('rejects missing repoName', () => {
49
- const { repoName, ...event } = validEvent;
50
- const result = schemas_1.ResultCreatedEventSchema.safeParse(event);
51
- (0, vitest_1.expect)(result.success).toBe(false);
52
- });
53
- (0, vitest_1.it)('rejects missing runId', () => {
54
- const { runId, ...event } = validEvent;
55
- const result = schemas_1.ResultCreatedEventSchema.safeParse(event);
56
- (0, vitest_1.expect)(result.success).toBe(false);
57
- });
58
- (0, vitest_1.it)('rejects missing specPath', () => {
59
- const { specPath, ...event } = validEvent;
60
- const result = schemas_1.ResultCreatedEventSchema.safeParse(event);
61
- (0, vitest_1.expect)(result.success).toBe(false);
62
- });
63
- (0, vitest_1.it)('rejects missing testName', () => {
64
- const { testName, ...event } = validEvent;
65
- const result = schemas_1.ResultCreatedEventSchema.safeParse(event);
66
- (0, vitest_1.expect)(result.success).toBe(false);
67
- });
68
- (0, vitest_1.it)('rejects missing status', () => {
69
- const { status, ...event } = validEvent;
70
- const result = schemas_1.ResultCreatedEventSchema.safeParse(event);
71
- (0, vitest_1.expect)(result.success).toBe(false);
72
- });
73
- (0, vitest_1.it)('rejects missing timestamp', () => {
74
- const { timestamp, ...event } = validEvent;
75
- const result = schemas_1.ResultCreatedEventSchema.safeParse(event);
76
- (0, vitest_1.expect)(result.success).toBe(false);
77
- });
78
- (0, vitest_1.it)('rejects missing eventId', () => {
79
- const { eventId, ...event } = validEvent;
80
- const result = schemas_1.ResultCreatedEventSchema.safeParse(event);
81
- (0, vitest_1.expect)(result.success).toBe(false);
82
- });
83
- (0, vitest_1.it)('rejects empty string for required fields', () => {
84
- const result = schemas_1.ResultCreatedEventSchema.safeParse({
85
- ...validEvent,
86
- repoName: '',
87
- });
88
- (0, vitest_1.expect)(result.success).toBe(false);
89
- });
90
- });
91
- (0, vitest_1.describe)('status enum', () => {
92
- vitest_1.it.each(['passed', 'failed', 'skipped', 'flaky'])('accepts status "%s"', (status) => {
93
- const result = schemas_1.ResultCreatedEventSchema.safeParse({ ...validEvent, status });
94
- (0, vitest_1.expect)(result.success).toBe(true);
95
- });
96
- (0, vitest_1.it)('rejects invalid status', () => {
97
- const result = schemas_1.ResultCreatedEventSchema.safeParse({
98
- ...validEvent,
99
- status: 'invalid',
100
- });
101
- (0, vitest_1.expect)(result.success).toBe(false);
102
- });
103
- });
104
- (0, vitest_1.describe)('os enum', () => {
105
- vitest_1.it.each(['mac', 'win', 'linux'])('accepts os "%s"', (os) => {
106
- const result = schemas_1.ResultCreatedEventSchema.safeParse({ ...validEvent, os });
107
- (0, vitest_1.expect)(result.success).toBe(true);
108
- });
109
- (0, vitest_1.it)('rejects invalid os', () => {
110
- const result = schemas_1.ResultCreatedEventSchema.safeParse({
111
- ...validEvent,
112
- os: 'windows',
113
- });
114
- (0, vitest_1.expect)(result.success).toBe(false);
115
- });
116
- });
117
- (0, vitest_1.describe)('numeric fields', () => {
118
- (0, vitest_1.it)('rejects negative durationMs', () => {
119
- const result = schemas_1.ResultCreatedEventSchema.safeParse({
120
- ...validEvent,
121
- durationMs: -1,
122
- });
123
- (0, vitest_1.expect)(result.success).toBe(false);
124
- });
125
- (0, vitest_1.it)('rejects non-positive attempt', () => {
126
- const result = schemas_1.ResultCreatedEventSchema.safeParse({
127
- ...validEvent,
128
- attempt: 0,
129
- });
130
- (0, vitest_1.expect)(result.success).toBe(false);
131
- });
132
- (0, vitest_1.it)('rejects negative retries', () => {
133
- const result = schemas_1.ResultCreatedEventSchema.safeParse({
134
- ...validEvent,
135
- retries: -1,
136
- });
137
- (0, vitest_1.expect)(result.success).toBe(false);
138
- });
139
- });
140
- (0, vitest_1.describe)('timestamp format', () => {
141
- (0, vitest_1.it)('accepts valid ISO 8601 timestamp', () => {
142
- const result = schemas_1.ResultCreatedEventSchema.safeParse({
143
- ...validEvent,
144
- timestamp: '2024-01-15T10:30:00.000Z',
145
- });
146
- (0, vitest_1.expect)(result.success).toBe(true);
147
- });
148
- (0, vitest_1.it)('rejects invalid timestamp format', () => {
149
- const result = schemas_1.ResultCreatedEventSchema.safeParse({
150
- ...validEvent,
151
- timestamp: '2024-01-15',
152
- });
153
- (0, vitest_1.expect)(result.success).toBe(false);
154
- });
155
- });
156
- (0, vitest_1.describe)('URL validation', () => {
157
- (0, vitest_1.it)('accepts valid URL for reportUrl', () => {
158
- const result = schemas_1.ResultCreatedEventSchema.safeParse({
159
- ...validEvent,
160
- reportUrl: 'https://example.com/report/123',
161
- });
162
- (0, vitest_1.expect)(result.success).toBe(true);
163
- });
164
- (0, vitest_1.it)('rejects invalid URL for reportUrl', () => {
165
- const result = schemas_1.ResultCreatedEventSchema.safeParse({
166
- ...validEvent,
167
- reportUrl: 'not-a-url',
168
- });
169
- (0, vitest_1.expect)(result.success).toBe(false);
170
- });
171
- });
172
- });
173
- (0, vitest_1.describe)('RunStartedEventSchema', () => {
174
- const validEvent = {
175
- type: 'run.started',
176
- repoName: 'test-repo',
177
- runId: 'run-123',
178
- startedAt: '2024-01-15T10:30:00.000Z',
179
- };
180
- (0, vitest_1.it)('accepts valid minimal event', () => {
181
- const result = schemas_1.RunStartedEventSchema.safeParse(validEvent);
182
- (0, vitest_1.expect)(result.success).toBe(true);
183
- });
184
- (0, vitest_1.it)('accepts valid event with all optional fields', () => {
185
- const fullEvent = {
186
- ...validEvent,
187
- branch: 'main',
188
- sha: 'abc123',
189
- workflowName: 'CI',
190
- jobName: 'test',
191
- runUrl: 'https://github.com/org/repo/actions/runs/123',
192
- commitMessage: 'fix: something',
193
- commitAuthor: 'dev@example.com',
194
- };
195
- const result = schemas_1.RunStartedEventSchema.safeParse(fullEvent);
196
- (0, vitest_1.expect)(result.success).toBe(true);
197
- });
198
- (0, vitest_1.it)('rejects missing startedAt', () => {
199
- const { startedAt, ...event } = validEvent;
200
- const result = schemas_1.RunStartedEventSchema.safeParse(event);
201
- (0, vitest_1.expect)(result.success).toBe(false);
202
- });
203
- (0, vitest_1.it)('rejects wrong type literal', () => {
204
- const result = schemas_1.RunStartedEventSchema.safeParse({
205
- ...validEvent,
206
- type: 'run.completed',
207
- });
208
- (0, vitest_1.expect)(result.success).toBe(false);
209
- });
210
- });
211
- (0, vitest_1.describe)('RunCompletedEventSchema', () => {
212
- const validEvent = {
213
- type: 'run.completed',
214
- repoName: 'test-repo',
215
- runId: 'run-123',
216
- completedAt: '2024-01-15T10:35:00.000Z',
217
- status: 'passed',
218
- counts: {
219
- passed: 10,
220
- failed: 0,
221
- skipped: 2,
222
- flaky: 1,
223
- },
224
- };
225
- (0, vitest_1.it)('accepts valid event', () => {
226
- const result = schemas_1.RunCompletedEventSchema.safeParse(validEvent);
227
- (0, vitest_1.expect)(result.success).toBe(true);
228
- });
229
- (0, vitest_1.it)('accepts valid event with optional durationMs', () => {
230
- const result = schemas_1.RunCompletedEventSchema.safeParse({
231
- ...validEvent,
232
- durationMs: 60000,
233
- });
234
- (0, vitest_1.expect)(result.success).toBe(true);
235
- });
236
- (0, vitest_1.it)('rejects missing completedAt', () => {
237
- const { completedAt, ...event } = validEvent;
238
- const result = schemas_1.RunCompletedEventSchema.safeParse(event);
239
- (0, vitest_1.expect)(result.success).toBe(false);
240
- });
241
- (0, vitest_1.it)('rejects missing status', () => {
242
- const { status, ...event } = validEvent;
243
- const result = schemas_1.RunCompletedEventSchema.safeParse(event);
244
- (0, vitest_1.expect)(result.success).toBe(false);
245
- });
246
- (0, vitest_1.it)('rejects missing counts', () => {
247
- const { counts, ...event } = validEvent;
248
- const result = schemas_1.RunCompletedEventSchema.safeParse(event);
249
- (0, vitest_1.expect)(result.success).toBe(false);
250
- });
251
- (0, vitest_1.it)('rejects incomplete counts object', () => {
252
- const result = schemas_1.RunCompletedEventSchema.safeParse({
253
- ...validEvent,
254
- counts: { passed: 10, failed: 0 }, // missing skipped and flaky
255
- });
256
- (0, vitest_1.expect)(result.success).toBe(false);
257
- });
258
- (0, vitest_1.it)('rejects negative count values', () => {
259
- const result = schemas_1.RunCompletedEventSchema.safeParse({
260
- ...validEvent,
261
- counts: { passed: -1, failed: 0, skipped: 0, flaky: 0 },
262
- });
263
- (0, vitest_1.expect)(result.success).toBe(false);
264
- });
265
- });
266
- (0, vitest_1.describe)('validation helpers', () => {
267
- (0, vitest_1.describe)('validateResultEvent', () => {
268
- (0, vitest_1.it)('returns validated data for valid event', () => {
269
- const event = {
270
- type: 'result.created',
271
- repoName: 'test-repo',
272
- runId: 'run-123',
273
- specPath: 'tests/example.spec.ts',
274
- testName: 'should work',
275
- status: 'passed',
276
- timestamp: '2024-01-15T10:30:00.000Z',
277
- eventId: 'abc123',
278
- };
279
- const result = (0, schemas_1.validateResultEvent)(event);
280
- (0, vitest_1.expect)(result).toEqual(event);
281
- });
282
- (0, vitest_1.it)('throws for invalid event', () => {
283
- (0, vitest_1.expect)(() => (0, schemas_1.validateResultEvent)({ type: 'result.created' })).toThrow();
284
- });
285
- });
286
- (0, vitest_1.describe)('safeValidateResultEvent', () => {
287
- (0, vitest_1.it)('returns success true for valid event', () => {
288
- const event = {
289
- type: 'result.created',
290
- repoName: 'test-repo',
291
- runId: 'run-123',
292
- specPath: 'tests/example.spec.ts',
293
- testName: 'should work',
294
- status: 'passed',
295
- timestamp: '2024-01-15T10:30:00.000Z',
296
- eventId: 'abc123',
297
- };
298
- const result = (0, schemas_1.safeValidateResultEvent)(event);
299
- (0, vitest_1.expect)(result.success).toBe(true);
300
- if (result.success) {
301
- (0, vitest_1.expect)(result.data).toEqual(event);
302
- }
303
- });
304
- (0, vitest_1.it)('returns success false for invalid event', () => {
305
- const result = (0, schemas_1.safeValidateResultEvent)({ type: 'result.created' });
306
- (0, vitest_1.expect)(result.success).toBe(false);
307
- if (!result.success) {
308
- (0, vitest_1.expect)(result.error).toBeDefined();
309
- }
310
- });
311
- });
312
- });
313
- //# sourceMappingURL=schemas.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"schemas.test.js","sourceRoot":"","sources":["../src/schemas.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=api.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"api.test.d.ts","sourceRoot":"","sources":["../../src/storage/api.test.ts"],"names":[],"mappings":""}