Repository navigation
test(e2e): port the native e2e suites, add impact analysis - #3925
Draft
testableapple wants to merge 10 commits into
Draft
testableapple wants to merge 10 commits into
testableapple wants to merge 10 commits into
Conversation
testableapple
marked this pull request as draft
November 3, 2026 23:07
Contributor
SDK Size
|
This branch has not been deployed
This file contains hidden or 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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Ticket: https://linear.app/stream/issue/RN-449
π― Goal
Port the native iOS and Android e2e suites to the V10 Detox suite in
examples/E2ETestApp, and bring its CI up to the native SDKs: per-test impact analysis on pull requests, a nightly run that builds the coverage map, and Allure TestOps reporting.π Implementation details
Tests
it.skipand a comment that links a ticket. That covers 70 tests, tracked in RN-489 to RN-506. With those skipped, 185 tests run.E2E app
@op-engineering/op-sqlite,<Chat enableOfflineSupport>). The database is wiped at login, so every test starts clean.SDK
testIDs only (channel preview, reactions, link previews, unread indicators, swipe actions, and a few others). There is no behaviour change. One snapshot changed becauseScrollToBottomButtongot a newtestID.Impact analysis (
e2e/README.md, "Impact analysis")E2E_COVERAGE=1builds add a small Babel plugin (e2e/coverage/babelPlugin.js) that records which files run code. It isn't istanbul, because worklets capture istanbul's counters and then throw on the UI runtime.build_e2e_coverage_mapandselect_e2e_testsusefastlane-plugin-stream_actions(bumped from 0.4.14 to 0.4.19).Check E2E Requiredjob now also selects the tests, and skips e2e when none are selected.e2e-test-cron.yml, runs everything on Android with the coverage build and uploads thee2e-coverage-mapartifact. Until its first run on the default branch, every PR runs all tests.Allure
examples/SampleApp/fastlane/Allurefile, the same layout as stream-chat-swift. A newallure_testcaselane creates test cases.ALLURE_TOKENrepository secret.Mock server
api_version=v2×tamps=ns. That mode comes from Add a nanosecond timestamps mode for stream-chat-js v10Β stream-chat-test-mock-server#98, which is now merged intomain.π¨ UI Changes
None. The SDK changes are
testIDs only.π§ͺ Testing
yarn lint, E2ETestApptypecheckand the SDK unit tests pass.βοΈ Checklist
developbranch (targetsV10: the suite needs the v10 SDK)examples/E2ETestApp/e2e/README.md)