Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

refactor: use describe to group e2e tests #1916

Merged
merged 3 commits into from
Jan 17, 2025

Conversation

gulfaraz
Copy link
Member

Describe your changes

  1. I moved the tests to separate files so they're maintainable. An unexpected benefit is that these tests can be reused in multiple scenario, for example, Map component elements should be visible in both Trigger and No Trigger.
  2. I renamed the test names to include a should.
  3. I replaced the reload with a goto to a beforeEach.
  4. I looks like an index issue in tests/e2e/Pages/MapComponent.ts. Other invocations of getRandomInt use 1 but this one uses 0. In all invocations, the result is passed to nth which is zero-indexed.
  5. I updated the playwright config to have,
    • 0 retries because I assume the tests are deterministic
    • For forbidOnly, we don't have a CI env var but we do have a NODE_ENV

What is left?

  1. I want to get the tests to pass with no retries. If not, then with 1 retry.
  2. I want to remove any timeouts. I noticed about 3-5. I want to remove them if possible.
    • 6-8 tests failed when I removed these timeouts so I reverted them.
  3. As a follow-up issue, I want to split and merge tests where possible. It requires context about IBF and most likely discussion. For now, I left a comment in one test as an example.

Local test runs

Attempt 1

  6 failed
    [chromium] › MapComponent/MapComponentGloFASStations.ts:8:7 › Scenario: No Trigger › MapComponent › glofas_stations should be visible (Qase ID: 28)
    [chromium] › MapComponent/MapComponentGloFASStationsWarning.ts:8:7 › Scenario: No Trigger › MapComponent › Trigger GloFAS station(s) should not be visible (Qase ID: 31)
    [chromium] › AggregatesComponent/AggregatesComponentVisible.ts:7:7 › Scenario: No Trigger › AggregatesComponent › Aggregates component elements should be visible (Qase ID: 6)
    [chromium] › ChatComponent/ChatComponentVisible.ts:8:7 › Scenario: No Trigger › ChatComponent › Chat component elements should be visible (Qase ID: 5)
    [chromium] › MapComponent/MapComponentLayersDefault.ts:8:7 › Scenario: Trigger › MapComponent › flood_extent and exposed_population should be active by default (Qase ID: 37)
    [chromium] › MapComponent/MapComponentGloFASStationsTrigger.ts:8:7 › Scenario: Trigger › MapComponent › Trigger GloFAS station(s) should be visible (Qase ID: 38)
  20 passed (4.3m)

Running 26 tests using 1 worker

  ✓  1 [chromium] › DashboardPage/DashboardPageVisible.ts:8:7 › Scenario: No Trigger › DashboardPage › Dashboard page elements should be visible (Qase ID: 1) (993ms)
  ✓  2 [chromium] › MapComponent/MapComponentVisible.ts:8:7 › Scenario: No Trigger › MapComponent › Map component elements should be visible (Qase ID: 2) (2.6s)
  ✓  3 [chromium] › MapComponent/MapComponentInteractive.ts:11:7 › Scenario: No Trigger › MapComponent › Map component should be interactive (Qase ID: 7) (1.5s)
  ✓  4 [chromium] › MapComponent/MapComponentLayersVisible.ts:8:7 › Scenario: No Trigger › MapComponent › Map should show active layers (Qase ID: 32) (1.2s)
  ✓  5 [chromium] › MapComponent/MapComponentAlertThreshold.ts:8:7 › Scenario: No Trigger › MapComponent › alert_threshold should be visible (Qase ID: 29) (1.1s)
  ✘  6 [chromium] › MapComponent/MapComponentGloFASStations.ts:8:7 › Scenario: No Trigger › MapComponent › glofas_stations should be visible (Qase ID: 28) (1.8s)
  ✘  7 [chromium] › MapComponent/MapComponentGloFASStationsWarning.ts:8:7 › Scenario: No Trigger › MapComponent › Trigger GloFAS station(s) should not be visible (Qase ID: 31) (2.2s)
  ✓  8 [chromium] › UserStateComponent/UserStateComponentVisible.ts:8:7 › Scenario: No Trigger › UserStateComponent › User state component elements should be visible (Qase ID: 3) (3.5s)
  ✓  9 [chromium] › UserStateComponent/UserStateComponentLogout.ts:8:7 › Scenario: No Trigger › UserStateComponent › Logout should load login page (Qase ID: 4) (10.7s)
  ✘  10 [chromium] › AggregatesComponent/AggregatesComponentVisible.ts:7:7 › Scenario: No Trigger › AggregatesComponent › Aggregates component elements should be visible (Qase ID: 6) (10.5s)
  ✓  11 [chromium] › AggregatesComponent/AggregateComponentTitleHover.ts:7:7 › Scenario: No Trigger › AggregatesComponent › Title should change based on hovered map district (Qase ID: 12) (3.9s)
  ✓  12 [chromium] › AggregatesComponent/AggregateComponentButtonClick.ts:7:7 › Scenario: No Trigger › AggregatesComponent › Info button(s) should be clickable (Qase ID: 13) (2.7s)
  ✘  13 [chromium] › ChatComponent/ChatComponentVisible.ts:8:7 › Scenario: No Trigger › ChatComponent › Chat component elements should be visible (Qase ID: 5) (10.9s)
  ✓  14 [chromium] › ChatComponent/ChatComponentButtonClick.ts:8:7 › Scenario: No Trigger › ChatComponent › Action buttons should be clickable (Qase ID: 11) (9.4s)
  ✓  15 [chromium] › DisasterTypeComponent/DisasterTypeComponentVisible.ts:8:7 › Scenario: No Trigger › DisasterTypeComponent › Disaster type component elements should be visible (Qase ID: 4) (356ms)
  ✓  16 [chromium] › DisasterTypeComponent/DisasterTypeComponentSelect.ts:11:7 › Scenario: No Trigger › DisasterTypeComponent › Disaster types should be selectable (Qase ID: 10) (11.4s)
  ✓  17 [chromium] › TimelineComponent/TimelineComponentVisible.ts:8:7 › Scenario: No Trigger › TimelineComponent › Timeline component elements should be visible (Qase ID: 15) (6.7s)
  ✓  18 [chromium] › TimelineComponent/TimelineComponentDisabled.ts:8:7 › Scenario: No Trigger › TimelineComponent › Timeline should be disabled (Qase ID: 14) (1.0s)
  ✘  19 [chromium] › MapComponent/MapComponentLayersDefault.ts:8:7 › Scenario: Trigger › MapComponent › flood_extent and exposed_population should be active by default (Qase ID: 37) (2.8s)
  ✓  20 [chromium] › MapComponent/MapComponentFloodExtent.ts:8:7 › Scenario: Trigger › MapComponent › flood_extent legend should be visible (Qase ID: 35) (3.0s)
  ✘  21 [chromium] › MapComponent/MapComponentGloFASStationsTrigger.ts:8:7 › Scenario: Trigger › MapComponent › Trigger GloFAS station(s) should be visible (Qase ID: 38) (8.8s)
  ✓  22 [chromium] › AggregatesComponent/AggregateComponentEventCount.ts:8:7 › Scenario: Trigger › AggregatesComponent › Number of events should be non-zero (Qase ID: 39) (2.0s)
  ✓  23 [chromium] › AggregatesComponent/AggregateComponentHeaderColour.ts:8:7 › Scenario: Trigger › AggregatesComponent › Header colour should be purple (Qase ID: 40) (951ms)
  ✓  24 [chromium] › ChatComponent/ChatComponentEventClick.ts:8:7 › Scenario: Trigger › ChatComponent › Show prediction button should be clickable (Qase ID: 44) (1.0s)
  ✓  25 [chromium] › ChatComponent/ChatComponentEventCount.ts:8:7 › Scenario: Trigger › ChatComponent › Number of events should match the number of events in aggregates component (Qase ID: 43) (1.0s)
  ✓  26 [chromium] › ChatComponent/ChatComponentInfoPopover.ts:8:7 › Scenario: Trigger › ChatComponent › Info icon should open popover on click (Qase ID: 45) (3.2s)

Attempt 2

  6 failed
    [chromium] › MapComponent/MapComponentGloFASStations.ts:8:7 › Scenario: No Trigger › MapComponent › glofas_stations should be visible (Qase ID: 28)
    [chromium] › MapComponent/MapComponentGloFASStationsWarning.ts:8:7 › Scenario: No Trigger › MapComponent › Trigger GloFAS station(s) should not be visible (Qase ID: 31)
    [chromium] › AggregatesComponent/AggregatesComponentVisible.ts:7:7 › Scenario: No Trigger › AggregatesComponent › Aggregates component elements should be visible (Qase ID: 6)
    [chromium] › ChatComponent/ChatComponentVisible.ts:8:7 › Scenario: No Trigger › ChatComponent › Chat component elements should be visible (Qase ID: 5)
    [chromium] › MapComponent/MapComponentLayersDefault.ts:8:7 › Scenario: Trigger › MapComponent › flood_extent and exposed_population should be active by default (Qase ID: 37)
    [chromium] › MapComponent/MapComponentGloFASStationsTrigger.ts:8:7 › Scenario: Trigger › MapComponent › Trigger GloFAS station(s) should be visible (Qase ID: 38)
  20 passed (3.2m)

Running 26 tests using 1 worker

  ✓  1 [chromium] › DashboardPage/DashboardPageVisible.ts:8:7 › Scenario: No Trigger › DashboardPage › Dashboard page elements should be visible (Qase ID: 1) (1.8s)
  ✓  2 [chromium] › MapComponent/MapComponentVisible.ts:8:7 › Scenario: No Trigger › MapComponent › Map component elements should be visible (Qase ID: 2) (1.9s)
  ✓  3 [chromium] › MapComponent/MapComponentInteractive.ts:11:7 › Scenario: No Trigger › MapComponent › Map component should be interactive (Qase ID: 7) (1.3s)
  ✓  4 [chromium] › MapComponent/MapComponentLayersVisible.ts:8:7 › Scenario: No Trigger › MapComponent › Map should show active layers (Qase ID: 32) (1.2s)
  ✓  5 [chromium] › MapComponent/MapComponentAlertThreshold.ts:8:7 › Scenario: No Trigger › MapComponent › alert_threshold should be visible (Qase ID: 29) (1.1s)
  ✘  6 [chromium] › MapComponent/MapComponentGloFASStations.ts:8:7 › Scenario: No Trigger › MapComponent › glofas_stations should be visible (Qase ID: 28) (1.4s)
  ✘  7 [chromium] › MapComponent/MapComponentGloFASStationsWarning.ts:8:7 › Scenario: No Trigger › MapComponent › Trigger GloFAS station(s) should not be visible (Qase ID: 31) (2.1s)
  ✓  8 [chromium] › UserStateComponent/UserStateComponentVisible.ts:8:7 › Scenario: No Trigger › UserStateComponent › User state component elements should be visible (Qase ID: 3) (833ms)
  ✓  9 [chromium] › UserStateComponent/UserStateComponentLogout.ts:8:7 › Scenario: No Trigger › UserStateComponent › Logout should load login page (Qase ID: 4) (3.1s)
  ✘  10 [chromium] › AggregatesComponent/AggregatesComponentVisible.ts:7:7 › Scenario: No Trigger › AggregatesComponent › Aggregates component elements should be visible (Qase ID: 6) (10.4s)
  ✓  11 [chromium] › AggregatesComponent/AggregateComponentTitleHover.ts:7:7 › Scenario: No Trigger › AggregatesComponent › Title should change based on hovered map district (Qase ID: 12) (2.4s)
  ✓  12 [chromium] › AggregatesComponent/AggregateComponentButtonClick.ts:7:7 › Scenario: No Trigger › AggregatesComponent › Info button(s) should be clickable (Qase ID: 13) (2.6s)
  ✘  13 [chromium] › ChatComponent/ChatComponentVisible.ts:8:7 › Scenario: No Trigger › ChatComponent › Chat component elements should be visible (Qase ID: 5) (10.5s)
  ✓  14 [chromium] › ChatComponent/ChatComponentButtonClick.ts:8:7 › Scenario: No Trigger › ChatComponent › Action buttons should be clickable (Qase ID: 11) (3.0s)
  ✓  15 [chromium] › DisasterTypeComponent/DisasterTypeComponentVisible.ts:8:7 › Scenario: No Trigger › DisasterTypeComponent › Disaster type component elements should be visible (Qase ID: 4) (374ms)
  ✓  16 [chromium] › DisasterTypeComponent/DisasterTypeComponentSelect.ts:11:7 › Scenario: No Trigger › DisasterTypeComponent › Disaster types should be selectable (Qase ID: 10) (1.9s)
  ✓  17 [chromium] › TimelineComponent/TimelineComponentVisible.ts:8:7 › Scenario: No Trigger › TimelineComponent › Timeline component elements should be visible (Qase ID: 15) (547ms)
  ✓  18 [chromium] › TimelineComponent/TimelineComponentDisabled.ts:8:7 › Scenario: No Trigger › TimelineComponent › Timeline should be disabled (Qase ID: 14) (1.0s)
  ✘  19 [chromium] › MapComponent/MapComponentLayersDefault.ts:8:7 › Scenario: Trigger › MapComponent › flood_extent and exposed_population should be active by default (Qase ID: 37) (2.8s)
  ✓  20 [chromium] › MapComponent/MapComponentFloodExtent.ts:8:7 › Scenario: Trigger › MapComponent › flood_extent legend should be visible (Qase ID: 35) (2.6s)
  ✘  21 [chromium] › MapComponent/MapComponentGloFASStationsTrigger.ts:8:7 › Scenario: Trigger › MapComponent › Trigger GloFAS station(s) should be visible (Qase ID: 38) (6.9s)
  ✓  22 [chromium] › AggregatesComponent/AggregateComponentEventCount.ts:8:7 › Scenario: Trigger › AggregatesComponent › Number of events should be non-zero (Qase ID: 39) (1.7s)
  ✓  23 [chromium] › AggregatesComponent/AggregateComponentHeaderColour.ts:8:7 › Scenario: Trigger › AggregatesComponent › Header colour should be purple (Qase ID: 40) (1.1s)
  ✓  24 [chromium] › ChatComponent/ChatComponentEventClick.ts:8:7 › Scenario: Trigger › ChatComponent › Show prediction button should be clickable (Qase ID: 44) (984ms)
  ✓  25 [chromium] › ChatComponent/ChatComponentEventCount.ts:8:7 › Scenario: Trigger › ChatComponent › Number of events should match the number of events in aggregates component (Qase ID: 43) (884ms)
  ✓  26 [chromium] › ChatComponent/ChatComponentInfoPopover.ts:8:7 › Scenario: Trigger › ChatComponent › Info icon should open popover on click (Qase ID: 45) (3.2s)

Attempt 3

  5 failed
    [chromium] › MapComponent/MapComponentGloFASStations.ts:8:7 › Scenario: No Trigger › MapComponent › glofas_stations should be visible (Qase ID: 28)
    [chromium] › MapComponent/MapComponentGloFASStationsWarning.ts:8:7 › Scenario: No Trigger › MapComponent › Trigger GloFAS station(s) should not be visible (Qase ID: 31)
    [chromium] › AggregatesComponent/AggregatesComponentVisible.ts:7:7 › Scenario: No Trigger › AggregatesComponent › Aggregates component elements should be visible (Qase ID: 6)
    [chromium] › ChatComponent/ChatComponentVisible.ts:8:7 › Scenario: No Trigger › ChatComponent › Chat component elements should be visible (Qase ID: 5)
    [chromium] › MapComponent/MapComponentGloFASStationsTrigger.ts:8:7 › Scenario: Trigger › MapComponent › Trigger GloFAS station(s) should be visible (Qase ID: 38)
  21 passed (3.0m)

Running 26 tests using 1 worker

  ✓  1 [chromium] › DashboardPage/DashboardPageVisible.ts:8:7 › Scenario: No Trigger › DashboardPage › Dashboard page elements should be visible (Qase ID: 1) (1.8s)
  ✓  2 [chromium] › MapComponent/MapComponentVisible.ts:8:7 › Scenario: No Trigger › MapComponent › Map component elements should be visible (Qase ID: 2) (2.3s)
  ✓  3 [chromium] › MapComponent/MapComponentInteractive.ts:11:7 › Scenario: No Trigger › MapComponent › Map component should be interactive (Qase ID: 7) (1.8s)
  ✓  4 [chromium] › MapComponent/MapComponentLayersVisible.ts:8:7 › Scenario: No Trigger › MapComponent › Map should show active layers (Qase ID: 32) (1.7s)
  ✓  5 [chromium] › MapComponent/MapComponentAlertThreshold.ts:8:7 › Scenario: No Trigger › MapComponent › alert_threshold should be visible (Qase ID: 29) (1.5s)
  ✘  6 [chromium] › MapComponent/MapComponentGloFASStations.ts:8:7 › Scenario: No Trigger › MapComponent › glofas_stations should be visible (Qase ID: 28) (2.0s)
  ✘  7 [chromium] › MapComponent/MapComponentGloFASStationsWarning.ts:8:7 › Scenario: No Trigger › MapComponent › Trigger GloFAS station(s) should not be visible (Qase ID: 31) (7.7s)
  ✓  8 [chromium] › UserStateComponent/UserStateComponentVisible.ts:8:7 › Scenario: No Trigger › UserStateComponent › User state component elements should be visible (Qase ID: 3) (1.2s)
  ✓  9 [chromium] › UserStateComponent/UserStateComponentLogout.ts:8:7 › Scenario: No Trigger › UserStateComponent › Logout should load login page (Qase ID: 4) (3.2s)
  ✘  10 [chromium] › AggregatesComponent/AggregatesComponentVisible.ts:7:7 › Scenario: No Trigger › AggregatesComponent › Aggregates component elements should be visible (Qase ID: 6) (10.8s)
  ✓  11 [chromium] › AggregatesComponent/AggregateComponentTitleHover.ts:7:7 › Scenario: No Trigger › AggregatesComponent › Title should change based on hovered map district (Qase ID: 12) (2.4s)
  ✓  12 [chromium] › AggregatesComponent/AggregateComponentButtonClick.ts:7:7 › Scenario: No Trigger › AggregatesComponent › Info button(s) should be clickable (Qase ID: 13) (3.1s)
  ✘  13 [chromium] › ChatComponent/ChatComponentVisible.ts:8:7 › Scenario: No Trigger › ChatComponent › Chat component elements should be visible (Qase ID: 5) (10.8s)
  ✓  14 [chromium] › ChatComponent/ChatComponentButtonClick.ts:8:7 › Scenario: No Trigger › ChatComponent › Action buttons should be clickable (Qase ID: 11) (3.7s)
  ✓  15 [chromium] › DisasterTypeComponent/DisasterTypeComponentVisible.ts:8:7 › Scenario: No Trigger › DisasterTypeComponent › Disaster type component elements should be visible (Qase ID: 4) (988ms)
  ✓  16 [chromium] › DisasterTypeComponent/DisasterTypeComponentSelect.ts:11:7 › Scenario: No Trigger › DisasterTypeComponent › Disaster types should be selectable (Qase ID: 10) (2.2s)
  ✓  17 [chromium] › TimelineComponent/TimelineComponentVisible.ts:8:7 › Scenario: No Trigger › TimelineComponent › Timeline component elements should be visible (Qase ID: 15) (911ms)
  ✓  18 [chromium] › TimelineComponent/TimelineComponentDisabled.ts:8:7 › Scenario: No Trigger › TimelineComponent › Timeline should be disabled (Qase ID: 14) (972ms)
  ✓  19 [chromium] › MapComponent/MapComponentLayersDefault.ts:8:7 › Scenario: Trigger › MapComponent › flood_extent and exposed_population should be active by default (Qase ID: 37) (2.6s)
  ✓  20 [chromium] › MapComponent/MapComponentFloodExtent.ts:8:7 › Scenario: Trigger › MapComponent › flood_extent legend should be visible (Qase ID: 35) (1.4s)
  ✘  21 [chromium] › MapComponent/MapComponentGloFASStationsTrigger.ts:8:7 › Scenario: Trigger › MapComponent › Trigger GloFAS station(s) should be visible (Qase ID: 38) (1.8s)
  ✓  22 [chromium] › AggregatesComponent/AggregateComponentEventCount.ts:8:7 › Scenario: Trigger › AggregatesComponent › Number of events should be non-zero (Qase ID: 39) (1.8s)
  ✓  23 [chromium] › AggregatesComponent/AggregateComponentHeaderColour.ts:8:7 › Scenario: Trigger › AggregatesComponent › Header colour should be purple (Qase ID: 40) (1.6s)
  ✓  24 [chromium] › ChatComponent/ChatComponentEventClick.ts:8:7 › Scenario: Trigger › ChatComponent › Show prediction button should be clickable (Qase ID: 44) (1.0s)
  ✓  25 [chromium] › ChatComponent/ChatComponentEventCount.ts:8:7 › Scenario: Trigger › ChatComponent › Number of events should match the number of events in aggregates component (Qase ID: 43) (1.0s)
  ✓  26 [chromium] › ChatComponent/ChatComponentInfoPopover.ts:8:7 › Scenario: Trigger › ChatComponent › Info icon should open popover on click (Qase ID: 45) (3.1s)

Without timeouts

Attempt 1

  8 failed
    [chromium] › MapComponent/MapComponentGloFASStations.ts:8:7 › Scenario: No Trigger › MapComponent › glofas_stations should be visible (Qase ID: 28)
    [chromium] › MapComponent/MapComponentGloFASStationsWarning.ts:8:7 › Scenario: No Trigger › MapComponent › Trigger GloFAS station(s) should not be visible (Qase ID: 31)
    [chromium] › AggregatesComponent/AggregatesComponentVisible.ts:7:7 › Scenario: No Trigger › AggregatesComponent › Aggregates component elements should be visible (Qase ID: 6)
    [chromium] › AggregatesComponent/AggregateComponentTitleHover.ts:7:7 › Scenario: No Trigger › AggregatesComponent › Title should change based on hovered map district (Qase ID: 12)
    [chromium] › AggregatesComponent/AggregateComponentButtonClick.ts:7:7 › Scenario: No Trigger › AggregatesComponent › Info button(s) should be clickable (Qase ID: 13)
    [chromium] › MapComponent/MapComponentLayersDefault.ts:8:7 › Scenario: Trigger › MapComponent › flood_extent and exposed_population should be active by default (Qase ID: 37)
    [chromium] › MapComponent/MapComponentGloFASStationsTrigger.ts:8:7 › Scenario: Trigger › MapComponent › Trigger GloFAS station(s) should be visible (Qase ID: 38)
    [chromium] › ChatComponent/ChatComponentEventCount.ts:8:7 › Scenario: Trigger › ChatComponent › Number of events should match the number of events in aggregates component (Qase ID: 43)
  18 passed (3.8m)

Running 26 tests using 1 worker

  ✓  1 [chromium] › DashboardPage/DashboardPageVisible.ts:8:7 › Scenario: No Trigger › DashboardPage › Dashboard page elements should be visible (Qase ID: 1) (906ms)
  ✓  2 [chromium] › MapComponent/MapComponentVisible.ts:8:7 › Scenario: No Trigger › MapComponent › Map component elements should be visible (Qase ID: 2) (2.4s)
  ✓  3 [chromium] › MapComponent/MapComponentInteractive.ts:11:7 › Scenario: No Trigger › MapComponent › Map component should be interactive (Qase ID: 7) (1.7s)
  ✓  4 [chromium] › MapComponent/MapComponentLayersVisible.ts:8:7 › Scenario: No Trigger › MapComponent › Map should show active layers (Qase ID: 32) (1.2s)
  ✓  5 [chromium] › MapComponent/MapComponentAlertThreshold.ts:8:7 › Scenario: No Trigger › MapComponent › alert_threshold should be visible (Qase ID: 29) (1.5s)
  ✘  6 [chromium] › MapComponent/MapComponentGloFASStations.ts:8:7 › Scenario: No Trigger › MapComponent › glofas_stations should be visible (Qase ID: 28) (1.4s)
  ✘  7 [chromium] › MapComponent/MapComponentGloFASStationsWarning.ts:8:7 › Scenario: No Trigger › MapComponent › Trigger GloFAS station(s) should not be visible (Qase ID: 31) (2.1s)
  ✓  8 [chromium] › UserStateComponent/UserStateComponentVisible.ts:8:7 › Scenario: No Trigger › UserStateComponent › User state component elements should be visible (Qase ID: 3) (787ms)
  ✓  9 [chromium] › UserStateComponent/UserStateComponentLogout.ts:8:7 › Scenario: No Trigger › UserStateComponent › Logout should load login page (Qase ID: 4) (3.1s)
  ✘  10 [chromium] › AggregatesComponent/AggregatesComponentVisible.ts:7:7 › Scenario: No Trigger › AggregatesComponent › Aggregates component elements should be visible (Qase ID: 6) (10.4s)
  ✘  11 [chromium] › AggregatesComponent/AggregateComponentTitleHover.ts:7:7 › Scenario: No Trigger › AggregatesComponent › Title should change based on hovered map district (Qase ID: 12) (11.8s)
  ✘  12 [chromium] › AggregatesComponent/AggregateComponentButtonClick.ts:7:7 › Scenario: No Trigger › AggregatesComponent › Info button(s) should be clickable (Qase ID: 13) (12.0s)
  ✓  13 [chromium] › ChatComponent/ChatComponentVisible.ts:8:7 › Scenario: No Trigger › ChatComponent › Chat component elements should be visible (Qase ID: 5) (1.8s)
  ✓  14 [chromium] › ChatComponent/ChatComponentButtonClick.ts:8:7 › Scenario: No Trigger › ChatComponent › Action buttons should be clickable (Qase ID: 11) (2.6s)
  ✓  15 [chromium] › DisasterTypeComponent/DisasterTypeComponentVisible.ts:8:7 › Scenario: No Trigger › DisasterTypeComponent › Disaster type component elements should be visible (Qase ID: 4) (368ms)
  ✓  16 [chromium] › DisasterTypeComponent/DisasterTypeComponentSelect.ts:11:7 › Scenario: No Trigger › DisasterTypeComponent › Disaster types should be selectable (Qase ID: 10) (1.6s)
  ✓  17 [chromium] › TimelineComponent/TimelineComponentVisible.ts:8:7 › Scenario: No Trigger › TimelineComponent › Timeline component elements should be visible (Qase ID: 15) (549ms)
  ✓  18 [chromium] › TimelineComponent/TimelineComponentDisabled.ts:8:7 › Scenario: No Trigger › TimelineComponent › Timeline should be disabled (Qase ID: 14) (990ms)
  ✘  19 [chromium] › MapComponent/MapComponentLayersDefault.ts:8:7 › Scenario: Trigger › MapComponent › flood_extent and exposed_population should be active by default (Qase ID: 37) (2.7s)
  ✓  20 [chromium] › MapComponent/MapComponentFloodExtent.ts:8:7 › Scenario: Trigger › MapComponent › flood_extent legend should be visible (Qase ID: 35) (2.5s)
  ✘  21 [chromium] › MapComponent/MapComponentGloFASStationsTrigger.ts:8:7 › Scenario: Trigger › MapComponent › Trigger GloFAS station(s) should be visible (Qase ID: 38) (1.8s)
  ✓  22 [chromium] › AggregatesComponent/AggregateComponentEventCount.ts:8:7 › Scenario: Trigger › AggregatesComponent › Number of events should be non-zero (Qase ID: 39) (1.7s)
  ✓  23 [chromium] › AggregatesComponent/AggregateComponentHeaderColour.ts:8:7 › Scenario: Trigger › AggregatesComponent › Header colour should be purple (Qase ID: 40) (960ms)
  ✓  24 [chromium] › ChatComponent/ChatComponentEventClick.ts:8:7 › Scenario: Trigger › ChatComponent › Show prediction button should be clickable (Qase ID: 44) (992ms)
  ✘  25 [chromium] › ChatComponent/ChatComponentEventCount.ts:8:7 › Scenario: Trigger › ChatComponent › Number of events should match the number of events in aggregates component (Qase ID: 43) (6.0s)
  ✓  26 [chromium] › ChatComponent/ChatComponentInfoPopover.ts:8:7 › Scenario: Trigger › ChatComponent › Info icon should open popover on click (Qase ID: 45) (4.1s)

Attempt 2

  5 failed
    [chromium] › MapComponent/MapComponentGloFASStations.ts:8:7 › Scenario: No Trigger › MapComponent › glofas_stations should be visible (Qase ID: 28)
    [chromium] › MapComponent/MapComponentGloFASStationsWarning.ts:8:7 › Scenario: No Trigger › MapComponent › Trigger GloFAS station(s) should not be visible (Qase ID: 31)
    [chromium] › AggregatesComponent/AggregatesComponentVisible.ts:7:7 › Scenario: No Trigger › AggregatesComponent › Aggregates component elements should be visible (Qase ID: 6)
    [chromium] › AggregatesComponent/AggregateComponentButtonClick.ts:7:7 › Scenario: No Trigger › AggregatesComponent › Info button(s) should be clickable (Qase ID: 13)
    [chromium] › MapComponent/MapComponentGloFASStationsTrigger.ts:8:7 › Scenario: Trigger › MapComponent › Trigger GloFAS station(s) should be visible (Qase ID: 38)
  21 passed (2.7m)

Running 26 tests using 1 worker

  ✓  1 [chromium] › DashboardPage/DashboardPageVisible.ts:8:7 › Scenario: No Trigger › DashboardPage › Dashboard page elements should be visible (Qase ID: 1) (888ms)
  ✓  2 [chromium] › MapComponent/MapComponentVisible.ts:8:7 › Scenario: No Trigger › MapComponent › Map component elements should be visible (Qase ID: 2) (2.4s)
  ✓  3 [chromium] › MapComponent/MapComponentInteractive.ts:11:7 › Scenario: No Trigger › MapComponent › Map component should be interactive (Qase ID: 7) (1.4s)
  ✓  4 [chromium] › MapComponent/MapComponentLayersVisible.ts:8:7 › Scenario: No Trigger › MapComponent › Map should show active layers (Qase ID: 32) (1.2s)
  ✓  5 [chromium] › MapComponent/MapComponentAlertThreshold.ts:8:7 › Scenario: No Trigger › MapComponent › alert_threshold should be visible (Qase ID: 29) (1.7s)
  ✘  6 [chromium] › MapComponent/MapComponentGloFASStations.ts:8:7 › Scenario: No Trigger › MapComponent › glofas_stations should be visible (Qase ID: 28) (1.5s)
  ✘  7 [chromium] › MapComponent/MapComponentGloFASStationsWarning.ts:8:7 › Scenario: No Trigger › MapComponent › Trigger GloFAS station(s) should not be visible (Qase ID: 31) (2.0s)
  ✓  8 [chromium] › UserStateComponent/UserStateComponentVisible.ts:8:7 › Scenario: No Trigger › UserStateComponent › User state component elements should be visible (Qase ID: 3) (794ms)
  ✓  9 [chromium] › UserStateComponent/UserStateComponentLogout.ts:8:7 › Scenario: No Trigger › UserStateComponent › Logout should load login page (Qase ID: 4) (2.3s)
  ✘  10 [chromium] › AggregatesComponent/AggregatesComponentVisible.ts:7:7 › Scenario: No Trigger › AggregatesComponent › Aggregates component elements should be visible (Qase ID: 6) (10.4s)
  ✓  11 [chromium] › AggregatesComponent/AggregateComponentTitleHover.ts:7:7 › Scenario: No Trigger › AggregatesComponent › Title should change based on hovered map district (Qase ID: 12) (2.5s)
  ✘  12 [chromium] › AggregatesComponent/AggregateComponentButtonClick.ts:7:7 › Scenario: No Trigger › AggregatesComponent › Info button(s) should be clickable (Qase ID: 13) (11.4s)
  ✓  13 [chromium] › ChatComponent/ChatComponentVisible.ts:8:7 › Scenario: No Trigger › ChatComponent › Chat component elements should be visible (Qase ID: 5) (905ms)
  ✓  14 [chromium] › ChatComponent/ChatComponentButtonClick.ts:8:7 › Scenario: No Trigger › ChatComponent › Action buttons should be clickable (Qase ID: 11) (2.9s)
  ✓  15 [chromium] › DisasterTypeComponent/DisasterTypeComponentVisible.ts:8:7 › Scenario: No Trigger › DisasterTypeComponent › Disaster type component elements should be visible (Qase ID: 4) (400ms)
  ✓  16 [chromium] › DisasterTypeComponent/DisasterTypeComponentSelect.ts:11:7 › Scenario: No Trigger › DisasterTypeComponent › Disaster types should be selectable (Qase ID: 10) (1.8s)
  ✓  17 [chromium] › TimelineComponent/TimelineComponentVisible.ts:8:7 › Scenario: No Trigger › TimelineComponent › Timeline component elements should be visible (Qase ID: 15) (545ms)
  ✓  18 [chromium] › TimelineComponent/TimelineComponentDisabled.ts:8:7 › Scenario: No Trigger › TimelineComponent › Timeline should be disabled (Qase ID: 14) (838ms)
  ✓  19 [chromium] › MapComponent/MapComponentLayersDefault.ts:8:7 › Scenario: Trigger › MapComponent › flood_extent and exposed_population should be active by default (Qase ID: 37) (2.6s)
  ✓  20 [chromium] › MapComponent/MapComponentFloodExtent.ts:8:7 › Scenario: Trigger › MapComponent › flood_extent legend should be visible (Qase ID: 35) (1.4s)
  ✘  21 [chromium] › MapComponent/MapComponentGloFASStationsTrigger.ts:8:7 › Scenario: Trigger › MapComponent › Trigger GloFAS station(s) should be visible (Qase ID: 38) (1.7s)
  ✓  22 [chromium] › AggregatesComponent/AggregateComponentEventCount.ts:8:7 › Scenario: Trigger › AggregatesComponent › Number of events should be non-zero (Qase ID: 39) (1.6s)
  ✓  23 [chromium] › AggregatesComponent/AggregateComponentHeaderColour.ts:8:7 › Scenario: Trigger › AggregatesComponent › Header colour should be purple (Qase ID: 40) (950ms)
  ✓  24 [chromium] › ChatComponent/ChatComponentEventClick.ts:8:7 › Scenario: Trigger › ChatComponent › Show prediction button should be clickable (Qase ID: 44) (943ms)
  ✓  25 [chromium] › ChatComponent/ChatComponentEventCount.ts:8:7 › Scenario: Trigger › ChatComponent › Number of events should match the number of events in aggregates component (Qase ID: 43) (919ms)
  ✓  26 [chromium] › ChatComponent/ChatComponentInfoPopover.ts:8:7 › Scenario: Trigger › ChatComponent › Info icon should open popover on click (Qase ID: 45) (3.3s)

@gulfaraz gulfaraz requested a review from Piotrk39 January 15, 2025 12:47
@jannisvisser jannisvisser marked this pull request as ready for review January 15, 2025 13:51
Copy link
Contributor

@jannisvisser jannisvisser left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm already approving and merging this, because I have used this myself already to build an other sub-PR on. Of course, it still comes with failing tests, but I'm also convinced that this setup (one seed/mock per scenario, but still split across separate test files) is the way to go. So the failing tests simply have to be taken care of before merging this into main (this is just a merge into feature branch).

@jannisvisser jannisvisser merged commit c6313d1 into feat.refactor-and-group-e2e-tests Jan 17, 2025
@jannisvisser jannisvisser deleted the refactor.e2e-groups branch January 17, 2025 09:00
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