Files
AFFiNE-Mirror/blocksuite/integration-test
doodlewind 065167a09f test(editor): reduce flaky timing in turbo renderer tests (#12082)
### TL;DR

Improved the test stability for the turbo renderer by using reactive state observation instead of arbitrary timeouts. (https://github.com/toeverything/AFFiNE/actions/runs/14729729312/job/41340918866?pr=12071)

### What changed?

- Replaced `wait(FRAME)` and other timeout-based waits with reactive state observation using RxJS
- Added `filter` import from `rxjs/operators`
- Updated test assertions to properly wait for specific renderer states (`ready`, `pending`, `zooming`)
- Made tests more deterministic by waiting for specific state transitions rather than arbitrary time periods

<!-- This is an auto-generated comment: release notes by coderabbit.ai -->
## Summary by CodeRabbit

- **Tests**
  - Improved test reliability by replacing fixed-duration waits with reactive waits based on renderer state changes, ensuring tests are synchronized with actual state transitions.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-05-06 02:32:48 +00:00
..

@blocksuite/integration-test

Integration test for BlockSuite.

Running Tests

You can run all integration tests using:

cd blocksuite/integration-test
yarn test:unit

To run a specific test or test file, use the -t flag with a test name pattern:

# Run a specific test
yarn test:unit -t "should access turbo renderer instance"

# Run all tests in a specific file
yarn test:unit src/__tests__/edgeless/viewport-renderer.spec.ts

For debugging tests with the Playwright debugger:

yarn test:debug

yarn test:debug -t "should access turbo renderer instance"