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

feat: More E2e tests, test improvements, add more testTags (pt. 2) #59

Merged
merged 45 commits into from
Aug 18, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
45 commits
Select commit Hold shift + click to select a range
2837b44
chore(tools): bump maestro from v1.30.4 to v1.31.0
deepanchal Aug 15, 2023
29cf92e
chore(tools): set java version to adoptopenjdk-17.0.8+7 in tool-versions
deepanchal Aug 15, 2023
d90b848
feat(designsystem): add testTag on OutlinedObfuscatingTextField based…
deepanchal Aug 15, 2023
facd8dd
chore(env): don't set MAESTRO_DRIVER_STARTUP optional env var in .envrc
deepanchal Aug 15, 2023
210eda8
refactor(e2e): use testTags for e2e test ops in login-password-toggle…
deepanchal Aug 15, 2023
4b267b6
fix(designsystem): remove setting testTag inside `CrisisCleanupNaviga…
deepanchal Aug 15, 2023
f6c6dce
feat(app): set testTag for bottom nav bar item using title in CrisisC…
deepanchal Aug 15, 2023
210f0ff
feat(cases): set testTag for dialog header on SelectIncidentDialog in…
deepanchal Aug 15, 2023
f4be522
feat(designsystem): add testTag on user avatar icon btn in TopAppBar …
deepanchal Aug 15, 2023
1461f6e
refactor(e2e): replace raw text with testTags in login-view.yaml e2e …
deepanchal Aug 15, 2023
db1e005
refactor(e2e): replace text with testTag in login.yaml e2e flow
deepanchal Aug 15, 2023
d7383d2
refactor(e2e): replace text with testTag in logout.yaml e2e flow
deepanchal Aug 15, 2023
f348169
refactor(e2e): replace text with testTag id in profile-view.yaml e2e …
deepanchal Aug 15, 2023
348e52a
feat(commoncase): add testTag for every worksite result item based on…
deepanchal Aug 15, 2023
7a5e86c
feat(commoncase): add testTag for loading indicator in IncidentDropdo…
deepanchal Aug 15, 2023
333b1ad
feat(cases): add testTag for incident search popup items in CasesSear…
deepanchal Aug 15, 2023
ed23aaf
feat(cases): add testTags for cases count view loading indicator in C…
deepanchal Aug 15, 2023
4128953
feat(caseeditor): add testTags in `CaseIncidentView`
deepanchal Aug 16, 2023
6063f32
feat(caseeeditor): add static and dynamic testTags on all `EditExisti…
deepanchal Aug 16, 2023
f84023e
feat(designsystem): add testTag on `WorkTypeAction` in Button.kt
deepanchal Aug 16, 2023
3b8d864
feat(caseeditor): add testTags for header and subheader in `WorkTypeS…
deepanchal Aug 16, 2023
18f74b7
feat(caseeditor): add testTag on `SectionHeader` using section index …
deepanchal Aug 16, 2023
84897da
test(e2e): add e2e flow for searching and selecting incident w/ asser…
deepanchal Aug 16, 2023
2316228
feat(cases): add testTags for actions in `CasesFilterScreen`
deepanchal Aug 16, 2023
8e55191
feat(designsystem): add testTag on `CollapsibleIcon` with sectionTitle
deepanchal Aug 16, 2023
5667d2d
feat(cases): add testTags on all dynamically generated form field in …
deepanchal Aug 16, 2023
1b78d75
test(e2e): add e2e flow which checks for change in worksite filters
deepanchal Aug 16, 2023
e043308
test(e2e): add more assertions and filters selection cmds to filters-…
deepanchal Aug 16, 2023
7e3910a
feat(caseeditor): set testTag on `CircleNumber` composable with passe…
deepanchal Aug 16, 2023
1bffe72
feat(cases): set testTag on `FilterButtonBadge` with filtersCount
deepanchal Aug 16, 2023
1927502
fix(e2e): wait for all worksites to load before selecting filters in …
deepanchal Aug 16, 2023
40e3840
test(e2e): extend filters-change by applying selected filters & asser…
deepanchal Aug 16, 2023
ce8944e
feat(cases): set dynamic testTag based on incident id on `SelectIncid…
deepanchal Aug 16, 2023
9126587
feat(cases): set testTag for filter section header & help row in `Cas…
deepanchal Aug 16, 2023
96cb343
feat(designsystem): add testTag for `HelpRow` text in `HelpDialog`
deepanchal Aug 16, 2023
a7f1d63
feat(app): remove `CrisisCleanupAppHeader` testTag, add `appIncidentS…
deepanchal Aug 16, 2023
25914ea
feat(e2e): improve incident-change e2e flow
deepanchal Aug 16, 2023
d9ff453
feat(e2e): improve filter-headers e2e flow
deepanchal Aug 16, 2023
cb19a57
feat(e2e) improve incident-search-invalid e2e flow by using testTags
deepanchal Aug 16, 2023
22222f0
feat(e2e): make improvements to incident-selector e2e flow by using t…
deepanchal Aug 16, 2023
b339377
feat(caseeditor): add testTags for `SaveActionBar` under `CaseEditorS…
deepanchal Aug 16, 2023
ef4712e
feat(caseeditor): set testTags in `PropertyDataScreen`
deepanchal Aug 16, 2023
cbf21b6
feat(caseeditor): add testTags on `PropertyLocationViews`
deepanchal Aug 16, 2023
99c12c5
feat(caseeditor): add testTag for `GoogleMap` view under `LocationScr…
deepanchal Aug 16, 2023
9c0d1a2
feat(designsystem): add testTags for `OpenSettingsDialog` in `Explain…
deepanchal Aug 16, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .envrc
Original file line number Diff line number Diff line change
Expand Up @@ -33,4 +33,4 @@ export MAESTRO_APP_PASSWORD=${MAESTRO_APP_PASSWORD:-}

# Optional Env Vars

export MAESTRO_DRIVER_STARTUP_TIMEOUT=${MAESTRO_DRIVER_STARTUP_TIMEOUT:-15000}
# export MAESTRO_DRIVER_STARTUP_TIMEOUT=${MAESTRO_DRIVER_STARTUP_TIMEOUT:-15000}
24 changes: 15 additions & 9 deletions .maestro/auth-tests/login-password-toggle.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,19 +11,25 @@ env:
---
- clearState
- launchApp
- assertVisible: "Crisis Cleanup"
- assertVisible:
text: "Login"
index: 0
- assertVisible: "Email"
- assertVisible: "Password"
- tapOn: "Password"
id: ccuLogo
- assertVisible:
id: loginHeaderText
- assertVisible:
id: loginEmailTextField
- assertVisible:
id: loginPasswordTextField
- tapOn:
id: loginPasswordTextField
- inputText: ${TEST_PASSWORD}
# Password should be hidden initially
- assertNotVisible: ${TEST_PASSWORD}
- assertVisible: "Show"
- tapOn: "Show"
- assertVisible:
id: textFieldShowIcon
- tapOn:
id: textFieldShowIcon
- assertVisible: ${TEST_PASSWORD}
- tapOn: "Hide"
- tapOn:
id: textFieldHideIcon
- assertNotVisible: ${TEST_PASSWORD}

15 changes: 8 additions & 7 deletions .maestro/auth-tests/login-view.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,13 @@ tags:
---
- clearState
- launchApp
- assertVisible: "Crisis Cleanup"
- assertVisible:
text: "Login"
index: 0
- assertVisible: ".*Email.*"
- assertVisible: ".*Password.*"
id: ccuLogo
- assertVisible:
text: "Login"
index: 1
id: loginHeaderText
- assertVisible:
id: loginEmailTextField
- assertVisible:
id: loginPasswordTextField
- assertVisible:
id: loginLoginBtn
15 changes: 9 additions & 6 deletions .maestro/auth-tests/login.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,15 @@ tags:
---
- clearState
- launchApp
- tapOn: "Email"
- tapOn:
id: loginEmailTextField
- inputText: ${MAESTRO_APP_EMAIL}
- tapOn: "Password"
- tapOn:
id: loginPasswordTextField
- inputText: ${MAESTRO_APP_PASSWORD}
- tapOn:
text: "Login"
index: 1
- assertVisible: "Work"
- assertVisible: "Menu"
id: loginLoginBtn
- assertVisible:
id: navItem_Work
- assertVisible:
id: navItem_Menu
21 changes: 13 additions & 8 deletions .maestro/auth-tests/logout.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,17 @@ onFlowStart:
- runFlow: login.yaml
---
- launchApp
- assertVisible: "Work"
- assertVisible: "Menu"
- tapOn: "Menu"
- tapOn: "Account"
- tapOn: "Logout"
- assertVisible: "Crisis Cleanup"
- assertVisible:
text: "Login"
index: 0
id: navItem_Work
- assertVisible:
id: navItem_Menu
- tapOn:
id: navItem_Menu
- tapOn:
id: topBarAvatarIconBtn
- tapOn:
id: authedProfileLogoutBtn
- assertVisible:
id: ccuLogo
- assertVisible:
id: loginHeaderText
15 changes: 10 additions & 5 deletions .maestro/auth-tests/profile-view.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,16 @@ onFlowStart:
- runFlow: login.yaml
---
- launchApp
- tapOn: "Menu"
- tapOn: "Account"
- assertVisible: .*crisis.*cleanup.*
- tapOn:
id: navItem_Menu
- tapOn:
id: topBarAvatarIconBtn
- assertVisible:
id: ccuLogo
# Currently logged in user's email should be visible on profile page
- assertVisible: .*${MAESTRO_APP_EMAIL}.*
- assertVisible: .*logout.*
- assertVisible: .*dismiss.*
- assertVisible:
id: authedProfileLogoutBtn
- assertVisible:
id: authedProfileDismissBtn

114 changes: 114 additions & 0 deletions .maestro/work-tests/filters-change.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,114 @@
name: Work filter changes
appId: ${MAESTRO_APP_ID}
tags:
- development
- staging
- production
- pull-request
env:
APPLY_FILTERS_BTN_TEXT: "Apply filters"
CLEAR_FILTERS_BTN_TEXT: "Clear filters"
onFlowStart:
- runFlow: ../auth-tests/login.yaml
---
# wait for incidents to load
- waitForAnimationToEnd:
timeout: 5000
# wait till spinner is invisible
- assertNotVisible:
id: workIncidentsLoadingIndicator
- tapOn:
id: "workIncidentFilterBtn"
- assertVisible: "Filters"

- assertVisible:
id: "filterClearFiltersBtn"
- assertVisible:
id: "filterApplyFiltersBtn"

- assertVisible:
text: "${APPLY_FILTERS_BTN_TEXT}"

- scrollUntilVisible:
element:
id: "filterRadioBtn_5 miles"
direction: DOWN
- tapOn:
id: "filterRadioBtn_5 miles"
- assertVisible:
text: "${APPLY_FILTERS_BTN_TEXT} (1)"

- scrollUntilVisible:
element:
id: "filterCheckbox_worksiteFilters.unclaimed"
direction: DOWN
- tapOn:
id: "filterCheckbox_worksiteFilters.unclaimed"
- assertVisible:
text: "${APPLY_FILTERS_BTN_TEXT} (2)"

- scrollUntilVisible:
element:
id: "filterCheckbox_worksiteFilters.open"
direction: DOWN
- tapOn:
id: "filterCheckbox_worksiteFilters.open"
- assertVisible:
text: "${APPLY_FILTERS_BTN_TEXT} (3)"

- scrollUntilVisible:
element:
id: "filterCheckbox_open_assigned"
direction: DOWN
- tapOn:
id: "filterCheckbox_open_assigned"
- assertVisible:
text: "${APPLY_FILTERS_BTN_TEXT} (4)"

- scrollUntilVisible:
element:
id: "filterCheckbox_formLabels.older_than_60"
direction: DOWN
- tapOn:
id: "filterCheckbox_formLabels.older_than_60"
- assertVisible:
text: "${APPLY_FILTERS_BTN_TEXT} (5)"

- scrollUntilVisible:
element:
id: "filterCheckbox_flag.worksite_high_priority"
direction: DOWN
- tapOn:
id: "filterCheckbox_flag.worksite_high_priority"
- assertVisible:
text: "${APPLY_FILTERS_BTN_TEXT} (6)"

# Apply selected filters
- tapOn:
id: "filterApplyFiltersBtn"

# Small indicator number beside filters button
- assertVisible:
id: "filterButtonBadge_6"

# Reopen filters popup
- tapOn:
id: "workIncidentFilterBtn"

# Originally selected filters should be selected
- assertVisible:
text: "${APPLY_FILTERS_BTN_TEXT} (6)"

# Clear filters
- tapOn:
id: "filterClearFiltersBtn"
- assertVisible:
text: "${APPLY_FILTERS_BTN_TEXT}"

# Apply cleared filters
- tapOn:
id: "filterApplyFiltersBtn"

# Small indicator number beside filters button should not be visible
- assertNotVisible:
id: "filterButtonBadge_6"
50 changes: 30 additions & 20 deletions .maestro/work-tests/filters-headers.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,44 +8,54 @@ tags:
onFlowStart:
- runFlow: ../auth-tests/login.yaml
---
- tapOn: "Filters"
# wait for incidents to load
- waitForAnimationToEnd:
timeout: 5000
# wait till spinner is invisible
- assertNotVisible:
id: workIncidentsLoadingIndicator
- tapOn:
id: "workIncidentFilterBtn"
- assertVisible: "Filters"

- scrollUntilVisible:
element: "Vulnerability"
element:
id: filterHeaderCollapsibleTitle_Distance
direction: DOWN
- assertVisible:
text: "Vulnerability"
index: 1
id: "filterHeaderCollapsibleTitle_Distance"

- scrollUntilVisible:
element: "Distance"
element:
id: filterHeaderCollapsibleTitle_General
direction: DOWN
- assertVisible: "Distance"

- scrollUntilVisible:
element: "General"
direction: DOWN
- assertVisible: "General"
- assertVisible:
id: "filterHeaderCollapsibleTitle_General"

- scrollUntilVisible:
element: "Personal Info"
element:
id: "filterHeaderCollapsibleTitle_Personal Info"
direction: DOWN
- assertVisible:
text: "Personal Info"
index: 0
id: "filterHeaderCollapsibleTitle_Personal Info"

- scrollUntilVisible:
element: "Flags"
element:
id: "filterHeaderCollapsibleTitle_Flags"
direction: DOWN
- assertVisible: "Flags"
- assertVisible:
id: "filterHeaderCollapsibleTitle_Flags"

- scrollUntilVisible:
element: "Work"
element:
id: "filterHeaderCollapsibleTitle_Work"
direction: DOWN
- assertVisible: "Work"
- assertVisible:
id: "filterHeaderCollapsibleTitle_Work"

- scrollUntilVisible:
element: "Dates"
element:
id: "filterHeaderCollapsibleTitle_Dates"
direction: DOWN
- assertVisible: "Dates"
- assertVisible:
id: "filterHeaderCollapsibleTitle_Dates"
14 changes: 10 additions & 4 deletions .maestro/work-tests/incident-change.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,15 +8,21 @@ tags:
onFlowStart:
- runFlow: ../auth-tests/login.yaml
env:
INCIDENT_SELECTOR_COORDS: "9%,9%"
INCIDENT_SELECTOR_ID: appIncidentSelector
FIRST_INCIDENT: ".*(flood|tornado).*"
SECOND_INCIDENT: ".*(storm|hurricane|fire).*"
---
# wait for incidents to load
- waitForAnimationToEnd:
timeout: 5000
# wait till spinner is invisible
- assertNotVisible:
id: workIncidentsLoadingIndicator
- tapOn: "Menu"

# Find first type incident and select it
- tapOn:
point: ${INCIDENT_SELECTOR_COORDS}
id: ${INCIDENT_SELECTOR_ID}
- assertVisible: "Change Incident"

- scrollUntilVisible:
Expand All @@ -30,7 +36,7 @@ env:

# Find second type of incident and select it
- tapOn:
point: ${INCIDENT_SELECTOR_COORDS}
id: ${INCIDENT_SELECTOR_ID}
- assertVisible: "Change Incident"

- scrollUntilVisible:
Expand All @@ -44,7 +50,7 @@ env:

# Find first type of incident again and select it
- tapOn:
point: ${INCIDENT_SELECTOR_COORDS}
id: ${INCIDENT_SELECTOR_ID}
- assertVisible: "Change Incident"

- scrollUntilVisible:
Expand Down
Loading