Commit a3cccd7
committed
test(ids): add 5 regression tests for syncSelfRegistryEntry
Addresses CodeRabbit feedback on PR #749 — the self-entry sync logic
introduced in PR #748 was load-bearing (lastVerified + checksum drift
was the original CodeRabbit complaint) but lacked targeted tests.
Tests added cover the four invariants:
1. **Self-path match → mutates both fields**: when the entry's path
equals `.aiox-core/data/entity-registry.yaml`, `lastVerified`
becomes the new timestamp and `checksum` becomes the sentinel.
2. **Non-self path → no mutation**: the companion entry pointing at
`.aiox-core/core/doctor/checks/entity-registry.js` (a real JS
module, NOT self-referential) must NOT be touched. Catches the
most likely regression: if the path guard is removed, the JS
module entry would get clobbered with the yaml sentinel.
3. **Missing entities.data** is a no-op (defensive).
4. **Missing self-entry** is a no-op + leaves other data entries
alone (defensive).
5. **Malformed registry** (`{}`, `null`) does not throw.
Required exporting `syncSelfRegistryEntry` from the script's
`module.exports` and consuming it in the test file. Suite: 96/96
pass (was 91/91).1 parent 05f3e7d commit a3cccd7
3 files changed
Lines changed: 76 additions & 3 deletions
File tree
- .aiox-core
- development/scripts
- tests/core/ids
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
853 | 853 | | |
854 | 854 | | |
855 | 855 | | |
| 856 | + | |
856 | 857 | | |
857 | 858 | | |
858 | 859 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
8 | 8 | | |
9 | 9 | | |
10 | 10 | | |
11 | | - | |
| 11 | + | |
12 | 12 | | |
13 | 13 | | |
14 | 14 | | |
| |||
1669 | 1669 | | |
1670 | 1670 | | |
1671 | 1671 | | |
1672 | | - | |
| 1672 | + | |
1673 | 1673 | | |
1674 | | - | |
| 1674 | + | |
1675 | 1675 | | |
1676 | 1676 | | |
1677 | 1677 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
| 10 | + | |
10 | 11 | | |
11 | 12 | | |
12 | 13 | | |
| |||
305 | 306 | | |
306 | 307 | | |
307 | 308 | | |
| 309 | + | |
| 310 | + | |
| 311 | + | |
| 312 | + | |
| 313 | + | |
| 314 | + | |
| 315 | + | |
| 316 | + | |
| 317 | + | |
| 318 | + | |
| 319 | + | |
| 320 | + | |
| 321 | + | |
| 322 | + | |
| 323 | + | |
| 324 | + | |
| 325 | + | |
| 326 | + | |
| 327 | + | |
| 328 | + | |
| 329 | + | |
| 330 | + | |
| 331 | + | |
| 332 | + | |
| 333 | + | |
| 334 | + | |
| 335 | + | |
| 336 | + | |
| 337 | + | |
| 338 | + | |
| 339 | + | |
| 340 | + | |
| 341 | + | |
| 342 | + | |
| 343 | + | |
| 344 | + | |
| 345 | + | |
| 346 | + | |
| 347 | + | |
| 348 | + | |
| 349 | + | |
| 350 | + | |
| 351 | + | |
| 352 | + | |
| 353 | + | |
| 354 | + | |
| 355 | + | |
| 356 | + | |
| 357 | + | |
| 358 | + | |
| 359 | + | |
| 360 | + | |
| 361 | + | |
| 362 | + | |
| 363 | + | |
| 364 | + | |
| 365 | + | |
| 366 | + | |
| 367 | + | |
| 368 | + | |
| 369 | + | |
| 370 | + | |
| 371 | + | |
| 372 | + | |
| 373 | + | |
| 374 | + | |
| 375 | + | |
| 376 | + | |
| 377 | + | |
| 378 | + | |
| 379 | + | |
308 | 380 | | |
309 | 381 | | |
310 | 382 | | |
| |||
0 commit comments