mattermost-mobile-upstream/detox/package.json
Pablo Vélez 4d842026f6
Some checks failed
ci / lint-typecheck (push) Has been cancelled
ci / detox-lint-typecheck (push) Has been cancelled
ci / test (push) Has been cancelled
CodeQL / Analyze (javascript) (push) Has been cancelled
Mm 70564 channel labels use in channel creation (#10146)
* MM-70516 - Add ability to edit channel attribute values from Channel Info

* Add API methods for patching property fields and setting channel attribute requirements

* Update channel attribute clearing behavior for required and non-required fields

* MM-70564 - use channel attributes on channel creation

* Fix undefined propertyValues and ternary formatting in channel attributes

* Fix spelling of "colour" to "color" in attribute chip tests and related comments

* Add visibility checks for channel attribute labels in tests

* Fix data-integrity, permission, and accessibility issues in channel attributes: scoped pruning, atomic writes, race serialization, required clear/stale-option guards

* Fix handling of null values in apiGetChannelAttributeValue and update test assertions for channel attributes

* Improve channel attribute editor sizing for long labels, keep Save visible, and prevent keyboard overlap on Android

* Address CodeRabbit feedback for nullable values, bottom-sheet state, async validation, and reliable E2E cleanup

* lock-safe field fetch, create-time gate recheck, scoped value pruning, and tappable header chips

* Address CodeRabbit feedback: drop queued attribute saves on channel switch and use page object selectors in E2E

* Respect the ChannelAttributesRequired flag on channel creation and enable it for channel attribute E2E

* Skip required channel attribute E2E tests and stop enabling ChannelAttributesRequired on the shared server until  they move to SITE_3

* Fix clearing channel attributes on iOS by sending an empty value instead of null, and stop E2E suites from turning  off the ChannelAttributes flag mid-run

* Refactor getEmptyPropertyValue to accept string type for fieldType parameter

* E2E: give channel attribute test fields a suite-unique suffix

Pool shards may only create optional property fields named <name>_<6 hex>; fixed names were blocked by the pool guard.

* E2E: restore channel attribute cleanup checks; name network error codes

Brings back the PR's afterEach/afterAll error handling that the main merge replaced, and makes a no-response error show its codes (an AggregateError has an empty message).

* E2E: run channel attribute creation and editing specs on server B

Their 11 required-attribute tests could not run on the shared servers. Both specs now run on the mutation server with ChannelAttributesRequired on for their run, and the tests are re-enabled. setChannelAttributesRequired moves to the shared helper.

* Check header chips instead of their wrapper and use toExist for the create screen in channel attribute E2E

---------

Co-authored-by: yasserfaraazkhan <attitude3cena.yf@gmail.com>
2026-10-30 15:03:55 +01:00

74 lines
3.8 KiB
JSON

{
"name": "mattermost-mobile-e2e",
"description": "End-to-end testing for Mattermost Mobile",
"repository": "git@github.com:mattermost/mattermost-mobile.git",
"author": "Mattermost, Inc.",
"devDependencies": {
"@aws-sdk/client-s3": "3.937.0",
"@aws-sdk/lib-storage": "3.937.0",
"@babel/plugin-proposal-class-properties": "7.18.6",
"@babel/plugin-transform-modules-commonjs": "7.26.3",
"@babel/plugin-transform-runtime": "7.25.9",
"@babel/preset-env": "7.26.0",
"@jest/test-sequencer": "29.7.0",
"@types/jest": "29.5.14",
"@types/tough-cookie": "4.0.5",
"@types/uuid": "10.0.0",
"async": "3.2.6",
"axios": "1.8.2",
"axios-cookiejar-support": "5.0.4",
"babel-jest": "29.7.0",
"babel-plugin-module-resolver": "5.0.2",
"client-oauth2": "4.3.3",
"deepmerge": "4.3.1",
"detox": "20.51.4",
"dotenv": "17.2.1",
"express": "^5.2.1",
"form-data": "4.0.1",
"jest": "29.7.0",
"jest-circus": "29.7.0",
"jest-cli": "29.7.0",
"jest-junit": "16.0.0",
"jest-stare": "2.5.3",
"junit-report-merger": "7.0.0",
"moment-timezone": "0.5.46",
"patch-package": "8.0.0",
"recursive-readdir": "2.2.3",
"sanitize-filename": "1.6.3",
"shelljs": "0.8.5",
"tough-cookie": "5.0.0",
"ts-jest": "29.2.5",
"tslib": "2.8.1",
"tsx": "^4.19.3",
"typescript": "5.7.2",
"uuid": "11.0.3",
"xml2js": "0.6.2"
},
"scripts": {
"e2e:android-create-emulator": "./create_android_emulator.sh",
"e2e:android-build": "./scripts/run_detox.sh build -c android.emu.debug",
"e2e:android-test": "npm run detox:config-gen && ./scripts/run_detox.sh test -c android.emu.debug --record-logs failing --take-screenshots failing",
"e2e:android-build-release": "./scripts/run_detox.sh build -c android.emu.release",
"e2e:android-test-release": "npm run detox:config-gen && ./scripts/run_detox.sh test -c android.emu.release --record-logs failing --take-screenshots failing",
"e2e:ios-build": "IOS=true ./scripts/run_detox.sh build -c ios.sim.debug",
"e2e:ios-test": "IOS=true ./scripts/run_detox.sh test -c ios.sim.debug --record-logs failing --take-screenshots failing",
"e2e:ios-ipad-test": "IOS=true ./scripts/run_detox.sh test -c ios.ipad.debug --record-logs failing --take-screenshots failing",
"e2e:ios-build-release": "IOS=true ./scripts/run_detox.sh build -c ios.sim.release",
"e2e:ios-test-release": "IOS=true ./scripts/run_detox.sh test -c ios.sim.release --record-logs failing --take-screenshots failing",
"e2e:ios-disable-autofill": "cd utils && node disable_ios_autofill.js",
"detox:config-gen": "cd utils && node generate_detox_config_ci.js",
"check": "npm run lint && npm run tsc && npm run test:unit && npm run validate:flow-headers",
"validate:flow-headers": "bash maestro/scripts/validate-flow-headers.sh",
"test:unit": "node --test utils/*.test.js && npx tsx --test e2e/support/utils/transport_retry.test.ts && npx tsx --test e2e/support/classification_test_helper.test.ts && npx tsx --test e2e/support/server_api/client.test.ts && npx tsx --test e2e/support/server_api/common.test.ts && npx tsx --test e2e/support/server_api/system.test.ts && npx tsx --test shared/server-baseline.test.ts && npx tsx --test e2e/support/server_baseline.test.ts && npx tsx --test e2e/support/server_api/pool_guard.test.ts && npx tsx --test provision/plugins.test.ts",
"clean-detox": "detox clean",
"lint": "eslint --ignore-pattern node_modules --quiet .",
"e2e:save-report": "node save_report.js",
"e2e:save-maestro-zephyr": "node save_maestro_zephyr.js",
"start:webhook": "node webhook_server.js",
"provision": "tsx provision/index.ts",
"tsc": "NODE_OPTIONS=--max_old_space_size=12000 tsc --noEmit",
"postinstall": "node scripts/postinstall.js"
},
"dependencies": {}
}