portfolio.service.spec: два теста ждали публикацию циклом из до 10 immediate()-тиков и затем читали publish.mock.calls[0], что без публикации давало неочевидный undefined. Теперь service.request возвращает handle, и тест делает await handle.done. Заодно удалён неиспользуемый импорт immediate.
Что проверено
Мутант: без await handle.done тест падает (1 failed). Значит ожидание реально нужно и проверяется.
verify: 40 suites, 268 tests, зелёные.
test:e2e: 21/21 зелёные при повторном прогоне.
Наблюдение (не исправлено)
В первом полном прогоне portfolio-structure.e2e-spec упал в beforeEach (PUT tbank-connection -> 401), в повторном прогоне и при отдельном запуске (2 раза) прошёл. Причина не установлена: в логе нет деталей 401. Флейк, не систематический; отдельный риск для стабильности e2e, требует отдельного разбора (токен подписывается при загрузке модуля через process.env.JWT_SECRET).
catalog: конкурирующий producer удалён в #62, оставшиеся pump(N) в tbank-hourly-lifecycle - вне scope (hourly), не переписывались.
Rollback fault после первой Portfolio write: без test-only seam (spy или инъекция) в существующих моках не воспроизводится; в проекте нет прецедента spy на делегаты транзакции. Нужно решение владельца.
operations-sync: ~14 delay, каждый требует разбора (см. PR #102).
Доказательство claimed-fence в publish: нужна инъекция падения между шагами репозитория.
Поэтому PR не использует Closes.
Refs #63
## Что изменено
- `portfolio.service.spec`: два теста ждали публикацию циклом из до 10 `immediate()`-тиков и затем читали `publish.mock.calls[0]`, что без публикации давало неочевидный `undefined`. Теперь `service.request` возвращает handle, и тест делает `await handle.done`. Заодно удалён неиспользуемый импорт `immediate`.
## Что проверено
- Мутант: без `await handle.done` тест падает (1 failed). Значит ожидание реально нужно и проверяется.
- `verify`: 40 suites, 268 tests, зелёные.
- `test:e2e`: 21/21 зелёные при повторном прогоне.
## Наблюдение (не исправлено)
- В первом полном прогоне `portfolio-structure.e2e-spec` упал в `beforeEach` (PUT tbank-connection -> 401), в повторном прогоне и при отдельном запуске (2 раза) прошёл. Причина не установлена: в логе нет деталей 401. Флейк, не систематический; отдельный риск для стабильности e2e, требует отдельного разбора (токен подписывается при загрузке модуля через process.env.JWT_SECRET).
## Пункты #63, которые этим PR НЕ закрываются
- `catalog`: конкурирующий producer удалён в #62, оставшиеся `pump(N)` в `tbank-hourly-lifecycle` - вне scope (hourly), не переписывались.
- Rollback fault после первой Portfolio write: без test-only seam (spy или инъекция) в существующих моках не воспроизводится; в проекте нет прецедента spy на делегаты транзакции. Нужно решение владельца.
- `operations-sync`: ~14 `delay`, каждый требует разбора (см. PR #102).
- Доказательство `claimed`-fence в `publish`: нужна инъекция падения между шагами репозитория.
Поэтому PR не использует `Closes`.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Refs #63
Что изменено
portfolio.service.spec: два теста ждали публикацию циклом из до 10immediate()-тиков и затем читалиpublish.mock.calls[0], что без публикации давало неочевидныйundefined. Теперьservice.requestвозвращает handle, и тест делаетawait handle.done. Заодно удалён неиспользуемый импортimmediate.Что проверено
await handle.doneтест падает (1 failed). Значит ожидание реально нужно и проверяется.verify: 40 suites, 268 tests, зелёные.test:e2e: 21/21 зелёные при повторном прогоне.Наблюдение (не исправлено)
portfolio-structure.e2e-specупал вbeforeEach(PUT tbank-connection -> 401), в повторном прогоне и при отдельном запуске (2 раза) прошёл. Причина не установлена: в логе нет деталей 401. Флейк, не систематический; отдельный риск для стабильности e2e, требует отдельного разбора (токен подписывается при загрузке модуля через process.env.JWT_SECRET).Пункты #63, которые этим PR НЕ закрываются
catalog: конкурирующий producer удалён в #62, оставшиесяpump(N)вtbank-hourly-lifecycle- вне scope (hourly), не переписывались.operations-sync: ~14delay, каждый требует разбора (см. PR #102).claimed-fence вpublish: нужна инъекция падения между шагами репозитория.Поэтому PR не использует
Closes.