Skip to content

Add large-data timeout and API wait helpers#389

Merged
SteveChurchillSWO merged 1 commit intomainfrom
MPT-19651-Improve-wait-for-large-data-volumes
Mar 27, 2026
Merged

Add large-data timeout and API wait helpers#389
SteveChurchillSWO merged 1 commit intomainfrom
MPT-19651-Improve-wait-for-large-data-volumes

Conversation

@SteveChurchillSWO
Copy link
Copy Markdown

Description

Introduce LARGE_DATA_TIMEOUT and replace fragile canvas waits with network-based waits to better handle slow/large data loads. Key changes:

  • e2etests/playwright.config.ts: add LARGE_DATA_TIMEOUT (30000ms) for long-running operations.
  • e2etests/pages/base-page.ts: use LARGE_DATA_TIMEOUT as default for several waits, add noDataMessage locator, implement waitForAPIResponseByPartialTextMatch and waitForFirstAPIResponseByPartialTextMatch helpers, refine waitForAllCanvases signature, and harden selectFilter option matching (escape + regex).
  • e2etests/pages/resources-page.ts: import LARGE_DATA_TIMEOUT and switch tab/navigation/chart waits to rely on the new API wait helpers (and progress-bar waits) instead of canvas checks; make several methods accept optional wait flags or timeouts; minor locator robustness improvements.
  • e2etests/tests/*.spec.ts: update tests to use the new navigateToResourcesPageAndResetFilters and to call selectCategorizeBy without implicit waits where appropriate, adding explicit API/canvas waits where needed.

These updates improve reliability on slow CI or when pages load large datasets by waiting for specific API responses rather than relying solely on canvas rendering heuristics.

Related issue number

https://softwareone.atlassian.net/browse/MPT-19651

Introduce LARGE_DATA_TIMEOUT and replace fragile canvas waits with network-based waits to better handle slow/large data loads. Key changes:

- e2etests/playwright.config.ts: add LARGE_DATA_TIMEOUT (30000ms) for long-running operations.
- e2etests/pages/base-page.ts: use LARGE_DATA_TIMEOUT as default for several waits, add noDataMessage locator, implement waitForAPIResponseByPartialTextMatch and waitForFirstAPIResponseByPartialTextMatch helpers, refine waitForAllCanvases signature, and harden selectFilter option matching (escape + regex).
- e2etests/pages/resources-page.ts: import LARGE_DATA_TIMEOUT and switch tab/navigation/chart waits to rely on the new API wait helpers (and progress-bar waits) instead of canvas checks; make several methods accept optional wait flags or timeouts; minor locator robustness improvements.
- e2etests/tests/*.spec.ts: update tests to use the new navigateToResourcesPageAndResetFilters and to call selectCategorizeBy without implicit waits where appropriate, adding explicit API/canvas waits where needed.

These updates improve reliability on slow CI or when pages load large datasets by waiting for specific API responses rather than relying solely on canvas rendering heuristics.
@SteveChurchillSWO SteveChurchillSWO merged commit efd1451 into main Mar 27, 2026
42 checks passed
@SteveChurchillSWO SteveChurchillSWO deleted the MPT-19651-Improve-wait-for-large-data-volumes branch March 27, 2026 11:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants