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

Fix flaky testCreateBlankPage #22983

Merged
merged 1 commit into from
Apr 11, 2024
Merged

Fix flaky testCreateBlankPage #22983

merged 1 commit into from
Apr 11, 2024

Conversation

kean
Copy link
Contributor

@kean kean commented Apr 10, 2024

Fixes testCreateBlankPage().

To test:

RCA

  • setUpTestSuite(selectWPComSite: WPUITestCredentials.testWPcomFreeSite) launches the app and nearly instantly logs the user in (which is awesome – thank you!)
  • The app fetches the list of pages and transition the test scenario to the initial_pages_list state
  • The app calls try await WireMock.setUpScenario(scenario: "new_page_flow") and reset the scenario state back to "Started"

As a result, the mock server returns the following error when you try to upload a post:

                                               Request was not matched
                                               =======================

-----------------------------------------------------------------------------------------------------------------------
| Closest stub                                             | Request                                                  |
-----------------------------------------------------------------------------------------------------------------------
                                                           |
POST                                                       | POST
[path] /rest/v1.2/sites/181851495/posts/new                | /rest/v1.2/sites/181851495/posts/new?context=edit&locale=
                                                           | en
                                                           |
Query: context = edit                                      | context: edit
Query: locale = en                                         | locale: en
                                                           |
[Scenario 'new_page_flow' state: initial_pages_list]       | [Scenario 'new_page_flow' state: Started]           <<<<< Scenario does not match
            

It's a race condition and it depends on whether the pages are fetched before or after the reset happens.

Regression Notes

  1. Potential unintended areas of impact

  2. What I did to test those areas of impact (or what existing automated tests I relied on)

  3. What automated tests I added (or what prevented me from doing so)

PR submission checklist:

  • I have completed the Regression Notes.
  • I have considered adding unit tests for my changes.
  • I have considered adding accessibility improvements for my changes.
  • I have considered if this change warrants user-facing release notes and have added them to RELEASE-NOTES.txt if necessary.

Testing checklist:

  • WordPress.com sites and self-hosted Jetpack sites.
  • Portrait and landscape orientations.
  • Light and dark modes.
  • Fonts: Larger, smaller and bold text.
  • High contrast.
  • VoiceOver.
  • Languages with large words or with letters/accents not frequently used in English.
  • Right-to-left languages. (Even if translation isn’t complete, formatting should still respect the right-to-left layout)
  • iPhone and iPad.
  • Multi-tasking: Split view and Slide over. (iPad)

@kean kean added Testing Unit and UI Tests and Tooling [Type] Task labels Apr 10, 2024
@kean kean added this to the Pending milestone Apr 10, 2024
@wpmobilebot
Copy link
Contributor

WordPress Alpha📲 You can test the changes from this Pull Request in WordPress Alpha by scanning the QR code below to install the corresponding build.
App NameWordPress Alpha WordPress Alpha
ConfigurationRelease-Alpha
Build Numberpr22983-5dcac5b
Version24.6
Bundle IDorg.wordpress.alpha
Commit5dcac5b
App Center BuildWPiOS - One-Offs #9448
Automatticians: You can use our internal self-serve MC tool to give yourself access to App Center if needed.

@wpmobilebot
Copy link
Contributor

Jetpack Alpha📲 You can test the changes from this Pull Request in Jetpack Alpha by scanning the QR code below to install the corresponding build.
App NameJetpack Alpha Jetpack Alpha
ConfigurationRelease-Alpha
Build Numberpr22983-5dcac5b
Version24.6
Bundle IDcom.jetpack.alpha
Commit5dcac5b
App Center Buildjetpack-installable-builds #8491
Automatticians: You can use our internal self-serve MC tool to give yourself access to App Center if needed.

@kean kean requested a review from crazytonyli April 10, 2024 13:33
@crazytonyli crazytonyli requested a review from a team April 11, 2024 02:07
@kean kean merged commit febe218 into trunk Apr 11, 2024
25 of 28 checks passed
@kean kean deleted the fix/flaky-test-create-blank-page branch April 11, 2024 13:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Testing Unit and UI Tests and Tooling [Type] Task
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants