Commit 2bdf764
test: use a common fake clock baseline (#15052)
## Summary
Child of #15050. Give every root Vitest test the same named fake-clock
baseline and express scenario time as relative movement from that
baseline.
```ts
const TEST_SYSTEM_TIME = Date.parse('2024-06-15T12:00:00Z')
```
- reduces test-local `vi.setSystemTime()` calls from 44 to 7
- replaces arbitrary Unix-adjacent timestamps and unrelated calendar
dates with `Date.now()`-relative fixtures
- uses `vi.advanceTimersByTime()` when elapsed time, rather than a
wall-clock jump, is the behavior under test
- retains six non-firing wall-clock jumps where advancing timers would
execute scheduled work and change the scenario
- retains one explicit July 2026 clock for calendar-boundary filtering
- makes a template-freshness fixture relative to the baseline instead of
depending on the actual current date
- aligns a module-scoped workspace-token expiry with the deterministic
test clock
## Baseline choice
The most frequent exact timestamp was `1_000_000` ms (five calls),
equivalent to `1970-01-01T00:16:40Z`. That value was common but
arbitrary.
June 15, 2024 was the most common meaningful calendar anchor: four
date-oriented setups used that day. Noon UTC is explicit, stable, and
compatible with the root project's existing `TZ=UTC` configuration.
## Results
| Metric | Before | After | Change |
|---|---:|---:|---:|
| `vi.setSystemTime()` calls | 44 | 7 | −37 (−84%) |
| Files containing those calls | 14 | 3 | −11 (−79%) |
| Root tests passed | 15,892 | 15,892 | No regression |
| Root tests skipped | 8 | 8 | No change |
The first full run exposed one hidden real-date dependency in
`templateRankingStore.test.ts`: a hardcoded January 2024 template was
only “very old” relative to the present day. It is now represented as
three years before `Date.now()`, matching the behavior the assertion
describes.
## Validation
- `pnpm test:unit`: 1,159 files passed; 15,892 tests passed; 8 skipped
- `pnpm lint`
- `pnpm typecheck`
- oxfmt and type-aware Oxlint on all changed files
- pre-push `pnpm knip --cache`
Co-authored-by: Amp <amp@ampcode.com>1 parent 2ab67a6 commit 2bdf764
16 files changed
Lines changed: 58 additions & 83 deletions
File tree
- src
- composables/queue
- platform
- assets/composables
- surveys
- telemetry
- updates/common
- workflow/persistence
- composables
- stores
- workspace/stores
- renderer/extensions/vueNodes/widgets/composables
- stores
- utils
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
555 | 555 | | |
556 | 556 | | |
557 | 557 | | |
558 | | - | |
559 | 558 | | |
560 | 559 | | |
561 | 560 | | |
| |||
583 | 582 | | |
584 | 583 | | |
585 | 584 | | |
586 | | - | |
587 | 585 | | |
588 | 586 | | |
589 | 587 | | |
| |||
Lines changed: 22 additions & 19 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
119 | 119 | | |
120 | 120 | | |
121 | 121 | | |
122 | | - | |
123 | 122 | | |
124 | 123 | | |
125 | 124 | | |
| |||
204 | 203 | | |
205 | 204 | | |
206 | 205 | | |
| 206 | + | |
207 | 207 | | |
208 | 208 | | |
209 | 209 | | |
210 | | - | |
211 | | - | |
| 210 | + | |
| 211 | + | |
212 | 212 | | |
213 | 213 | | |
214 | | - | |
| 214 | + | |
215 | 215 | | |
216 | 216 | | |
217 | 217 | | |
| |||
229 | 229 | | |
230 | 230 | | |
231 | 231 | | |
| 232 | + | |
232 | 233 | | |
233 | 234 | | |
234 | | - | |
| 235 | + | |
235 | 236 | | |
236 | 237 | | |
237 | 238 | | |
238 | | - | |
| 239 | + | |
239 | 240 | | |
240 | 241 | | |
241 | 242 | | |
| |||
244 | 245 | | |
245 | 246 | | |
246 | 247 | | |
247 | | - | |
| 248 | + | |
248 | 249 | | |
249 | 250 | | |
250 | 251 | | |
| |||
270 | 271 | | |
271 | 272 | | |
272 | 273 | | |
| 274 | + | |
273 | 275 | | |
274 | 276 | | |
275 | 277 | | |
276 | | - | |
277 | | - | |
| 278 | + | |
| 279 | + | |
278 | 280 | | |
279 | 281 | | |
280 | | - | |
| 282 | + | |
281 | 283 | | |
282 | 284 | | |
283 | | - | |
284 | | - | |
285 | | - | |
| 285 | + | |
| 286 | + | |
| 287 | + | |
286 | 288 | | |
287 | 289 | | |
288 | 290 | | |
| |||
306 | 308 | | |
307 | 309 | | |
308 | 310 | | |
| 311 | + | |
309 | 312 | | |
310 | 313 | | |
311 | 314 | | |
312 | | - | |
313 | | - | |
| 315 | + | |
| 316 | + | |
314 | 317 | | |
315 | 318 | | |
316 | | - | |
| 319 | + | |
317 | 320 | | |
318 | 321 | | |
319 | 322 | | |
320 | | - | |
| 323 | + | |
321 | 324 | | |
322 | 325 | | |
323 | 326 | | |
324 | | - | |
| 327 | + | |
325 | 328 | | |
326 | 329 | | |
327 | 330 | | |
328 | | - | |
| 331 | + | |
329 | 332 | | |
330 | 333 | | |
331 | 334 | | |
| |||
Lines changed: 1 addition & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
380 | 380 | | |
381 | 381 | | |
382 | 382 | | |
383 | | - | |
384 | | - | |
| 383 | + | |
385 | 384 | | |
386 | 385 | | |
387 | 386 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
46 | 46 | | |
47 | 47 | | |
48 | 48 | | |
49 | | - | |
50 | 49 | | |
51 | 50 | | |
52 | 51 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
32 | 32 | | |
33 | 33 | | |
34 | 34 | | |
35 | | - | |
36 | | - | |
| 35 | + | |
37 | 36 | | |
38 | 37 | | |
39 | 38 | | |
40 | 39 | | |
41 | 40 | | |
42 | | - | |
| 41 | + | |
43 | 42 | | |
44 | 43 | | |
45 | 44 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
31 | 31 | | |
32 | 32 | | |
33 | 33 | | |
34 | | - | |
35 | 34 | | |
36 | 35 | | |
37 | 36 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
19 | 19 | | |
20 | 20 | | |
21 | 21 | | |
22 | | - | |
23 | 22 | | |
24 | 23 | | |
25 | 24 | | |
| |||
Lines changed: 7 additions & 16 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
274 | 274 | | |
275 | 275 | | |
276 | 276 | | |
277 | | - | |
278 | | - | |
| 277 | + | |
279 | 278 | | |
280 | 279 | | |
281 | 280 | | |
| |||
290 | 289 | | |
291 | 290 | | |
292 | 291 | | |
293 | | - | |
| 292 | + | |
294 | 293 | | |
295 | 294 | | |
296 | 295 | | |
| |||
481 | 480 | | |
482 | 481 | | |
483 | 482 | | |
484 | | - | |
485 | | - | |
| 483 | + | |
486 | 484 | | |
487 | 485 | | |
488 | 486 | | |
| |||
504 | 502 | | |
505 | 503 | | |
506 | 504 | | |
507 | | - | |
| 505 | + | |
508 | 506 | | |
509 | 507 | | |
510 | 508 | | |
511 | 509 | | |
512 | | - | |
513 | | - | |
514 | | - | |
515 | 510 | | |
516 | 511 | | |
517 | 512 | | |
| |||
551 | 546 | | |
552 | 547 | | |
553 | 548 | | |
554 | | - | |
555 | | - | |
| 549 | + | |
556 | 550 | | |
557 | 551 | | |
558 | | - | |
559 | | - | |
| 552 | + | |
| 553 | + | |
560 | 554 | | |
561 | 555 | | |
562 | 556 | | |
| |||
575 | 569 | | |
576 | 570 | | |
577 | 571 | | |
578 | | - | |
579 | | - | |
580 | | - | |
581 | 572 | | |
582 | 573 | | |
583 | 574 | | |
| |||
Lines changed: 0 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
186 | 186 | | |
187 | 187 | | |
188 | 188 | | |
189 | | - | |
190 | 189 | | |
191 | 190 | | |
192 | 191 | | |
| |||
Lines changed: 3 additions & 5 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
82 | 82 | | |
83 | 83 | | |
84 | 84 | | |
85 | | - | |
86 | 85 | | |
87 | 86 | | |
88 | 87 | | |
89 | 88 | | |
90 | 89 | | |
91 | 90 | | |
92 | | - | |
| 91 | + | |
93 | 92 | | |
94 | 93 | | |
95 | 94 | | |
96 | 95 | | |
97 | 96 | | |
98 | 97 | | |
99 | | - | |
| 98 | + | |
100 | 99 | | |
101 | 100 | | |
102 | 101 | | |
| |||
212 | 211 | | |
213 | 212 | | |
214 | 213 | | |
215 | | - | |
216 | 214 | | |
217 | 215 | | |
218 | 216 | | |
219 | 217 | | |
220 | 218 | | |
221 | 219 | | |
222 | | - | |
| 220 | + | |
223 | 221 | | |
224 | 222 | | |
225 | 223 | | |
| |||
0 commit comments