-
Notifications
You must be signed in to change notification settings - Fork 2.9k
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
[NoQA] e2e: terminate app only when all network requests were finished #43038
[NoQA] e2e: terminate app only when all network requests were finished #43038
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
some considerations, but overall lgtm!
@@ -68,7 +68,6 @@ export default { | |||
TESTS_CONFIG: { | |||
[TEST_NAMES.AppStartTime]: { | |||
name: TEST_NAMES.AppStartTime, | |||
warmupRuns: 1, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
is it correct that we removed that here? if so, why?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@hannojg because on first app start we call OpenApp
endpoint, but when we run app the second time we call ReconnectApp
(and there is no cache for ReconnectApp
).
Technically it doesn't make such big difference (for this particular test), because we'll update cache second time and it will not affect test results. But I thought it could be better to be consistent and run warmup for all tests two times.
Testing locally the app is stuck at the login flow but that's probably just me. Other than that this does not seem to need a C+ review. Let me know otherwise |
LGTM now! 😊 |
@mountiny can you help us getting this merged? Thanks! 😊 |
Reviewer Checklist
Screenshots/VideosAndroid: NativeAndroid: mWeb ChromeiOS: NativeiOS: mWeb SafariMacOS: Chrome / SafariMacOS: Desktop |
✋ This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release. |
🚀 Deployed to staging by https://github.com/mountiny in version: 1.4.85-0 🚀
|
2 similar comments
🚀 Deployed to staging by https://github.com/mountiny in version: 1.4.85-0 🚀
|
🚀 Deployed to staging by https://github.com/mountiny in version: 1.4.85-0 🚀
|
🚀 Deployed to production by https://github.com/AndrewGable in version: 1.4.85-7 🚀
|
Details
A follow-up for #42991
In #42991 we've decided to fix the problem by reinstalling the app. It indeed fixes the problem, but after a talk with @hannojg we've came to conclusion, that original design is to cache all network requests before actual test execution (so our queue shouldn't keep growing).
Below is a breakdown why we have a growing queue:
To fix this problem I decided:
OpenApp
andReconnectApp
gets cached) - it's not mandatory but I decided to be consistent;It reminds a first approach that I took in #42991 but we don't add client code and we make tests execution as it was originally designed.
Fixed Issues
$ #42987 #42163
PROPOSAL: N/A
Tests
Offline tests
N/A
QA Steps
N/A
PR Author Checklist
### Fixed Issues
section aboveTests
sectionOffline steps
sectionQA steps
sectiontoggleReport
and notonIconClick
)myBool && <MyComponent />
.src/languages/*
files and using the translation methodSTYLE.md
) were followedAvatar
, I verified the components usingAvatar
are working as expected)StyleUtils.getBackgroundAndBorderStyle(theme.componentBG)
)Avatar
is modified, I verified thatAvatar
is working as expected in all cases)Design
label and/or tagged@Expensify/design
so the design team can review the changes.ScrollView
component to make it scrollable when more elements are added to the page.main
branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to theTest
steps.Screenshots/Videos
Android: Native
Android: mWeb Chrome
iOS: Native
iOS: mWeb Safari
MacOS: Chrome / Safari
MacOS: Desktop