-
Notifications
You must be signed in to change notification settings - Fork 424
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'develop' into dominik/sync-ffs-favorites
- Loading branch information
Showing
17 changed files
with
465 additions
and
26 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,63 @@ | ||
name: Sync-End-to-End tests | ||
|
||
on: | ||
schedule: | ||
- cron: '0 5 * * *' # run at 5 AM UTC | ||
|
||
jobs: | ||
sync-end-to-end-tests: | ||
name: Sync End to end Tests | ||
runs-on: macos-13 | ||
|
||
steps: | ||
- name: Check out the code | ||
uses: actions/checkout@v3 | ||
with: | ||
submodules: recursive | ||
|
||
- name: Set cache key hash | ||
run: | | ||
has_only_tags=$(jq '[ .object.pins[].state | has("version") ] | all' DuckDuckGo.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved) | ||
if [[ "$has_only_tags" == "true" ]]; then | ||
echo "cache_key_hash=${{ hashFiles('DuckDuckGo.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved') }}" >> $GITHUB_ENV | ||
else | ||
echo "Package.resolved contains dependencies specified by branch or commit, skipping cache." | ||
fi | ||
- name: Cache SPM | ||
if: env.cache_key_hash | ||
uses: actions/cache@v3 | ||
with: | ||
path: DerivedData/SourcePackages | ||
key: ${{ runner.os }}-spm-${{ env.cache_key_hash }} | ||
restore-keys: | | ||
${{ runner.os }}-spm- | ||
- name: Select Xcode | ||
run: sudo xcode-select -s /Applications/Xcode_$(<.xcode-version).app/Contents/Developer | ||
|
||
- name: Build for tests | ||
run: | | ||
set -o pipefail && xcodebuild \ | ||
-scheme "DuckDuckGo" \ | ||
-destination "platform=iOS Simulator,name=iPhone 14,OS=16.4" \ | ||
-derivedDataPath "DerivedData" \ | ||
| tee xcodebuild.log | ||
- name: Create test account for Sync and return the recovery code | ||
uses: duckduckgo/sync_crypto/action@main | ||
id: sync-recovery-code | ||
with: | ||
debug: true | ||
|
||
- name: Sync e2e tests | ||
uses: mobile-dev-inc/[email protected] | ||
with: | ||
api-key: ${{ secrets.MAESTRO_CLOUD_API_KEY }} | ||
app-file: DerivedData/Build/Products/Debug-iphonesimulator/DuckDuckGo.app | ||
workspace: .maestro | ||
include-tags: sync | ||
env: | | ||
CODE=${{ steps.sync-recovery-code.outputs.recovery-code }} | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
appId: com.duckduckgo.mobile.ios | ||
--- | ||
|
||
- scroll | ||
- scroll | ||
- scroll | ||
- assertVisible: Debug Menu | ||
- tapOn: Debug Menu | ||
- tapOn: Internal User State | ||
- tapOn: Settings |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
appId: com.duckduckgo.mobile.ios | ||
--- | ||
|
||
- assertVisible: Sync | ||
- tapOn: Sync | ||
- assertVisible: Sync | ||
- tapOn: "0" | ||
- assertVisible: Turn on Sync? | ||
- tapOn: Turn on Sync | ||
- tapOn: Sync Another Device | ||
- tapOn: Show QR Code | ||
- assertVisible: "Go to Settings > Sync in the DuckDuckGo App on a different device and scan this QR code to sync." |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
appId: com.duckduckgo.mobile.ios | ||
--- | ||
|
||
- assertVisible: Sync | ||
- scroll | ||
- tapOn: | ||
point: 50%,91% # TODO: Revisit after new setup flow has been implemented. | ||
- assertVisible: Delete Server Data? | ||
- tapOn: Delete Server Data |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
appId: com.duckduckgo.mobile.ios | ||
tags: | ||
- sync | ||
|
||
--- | ||
|
||
- clearState | ||
- launchApp | ||
- runFlow: | ||
when: | ||
visible: | ||
text: "Let’s Do It!" | ||
index: 0 | ||
file: ../shared/onboarding.yaml | ||
|
||
- tapOn: Settings | ||
- runFlow: | ||
file: ../shared/set_internal_user.yaml | ||
- runFlow: | ||
file: ../shared/sync_create.yaml | ||
|
||
|
||
# Clean up | ||
- tapOn: Back | ||
- tapOn: Cancel | ||
- tapOn: Not Now | ||
- assertVisible: Sync | ||
- runFlow: | ||
file: ../shared/sync_delete.yaml |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,45 @@ | ||
appId: com.duckduckgo.mobile.ios | ||
tags: | ||
- sync | ||
|
||
--- | ||
|
||
# Create an account | ||
- clearState | ||
- launchApp | ||
- runFlow: | ||
when: | ||
visible: | ||
text: "Let’s Do It!" | ||
index: 0 | ||
file: ../shared/onboarding.yaml | ||
|
||
- tapOn: Settings | ||
- runFlow: | ||
file: ../shared/set_internal_user.yaml | ||
- runFlow: | ||
file: ../shared/sync_create.yaml | ||
|
||
# Copy Sync Code and Log Out | ||
- tapOn: Back | ||
- tapOn: Cancel | ||
- assertVisible: Save Recovery Key | ||
- tapOn: Copy Key | ||
- tapOn: Not Now | ||
- tapOn: "1" | ||
- assertVisible: Turn Off Sync? | ||
- tapOn: Remove | ||
|
||
# Login | ||
- tapOn: "0" | ||
- tapOn: Recover Your Synced Data | ||
- tapOn: Manually Enter Code | ||
- tapOn: Paste | ||
- assertVisible: Device Synced! | ||
- tapOn: Next | ||
- tapOn: Not Now | ||
|
||
# Clean up | ||
- assertVisible: Sync | ||
- runFlow: | ||
file: ../shared/sync_delete.yaml |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,51 @@ | ||
appId: com.duckduckgo.mobile.ios | ||
tags: | ||
- sync | ||
|
||
--- | ||
|
||
- clearState | ||
- launchApp | ||
- runFlow: | ||
when: | ||
visible: | ||
text: "Let’s Do It!" | ||
index: 0 | ||
file: ../shared/onboarding.yaml | ||
|
||
# <WORKAROUND>This is a workaround to: | ||
# - Put the code in the clipboard on Maestro Cloud | ||
# - Prevent iOS from showing the Paste permission alert as Maestro can't handle it | ||
- tapOn: | ||
id: searchEntry | ||
- inputText: ${CODE} | ||
- longPressOn: | ||
id: searchEntry | ||
- tapOn: Select All | ||
- tapOn: Cut | ||
- tapOn: | ||
id: searchEntry | ||
- longPressOn: | ||
id: searchEntry | ||
- tapOn: Paste | ||
- tapOn: Cancel | ||
#</WORKAROUND> | ||
|
||
# Recover Account test | ||
- tapOn: Settings | ||
- runFlow: | ||
file: ../shared/set_internal_user.yaml | ||
- assertVisible: Sync | ||
- tapOn: Sync | ||
- assertVisible: Sync | ||
- tapOn: "0" | ||
- assertVisible: Turn on Sync? | ||
- tapOn: Recover Your Synced Data | ||
- assertVisible: Scan QR Code | ||
- tapOn: Manually Enter Code | ||
- tapOn: Paste | ||
- assertVisible: Device Synced! | ||
- tapOn: Next | ||
- tapOn: Not Now | ||
- tapOn: Settings | ||
- tapOn: Done |
Oops, something went wrong.