Test Suites

60 passed, 88 total

Tests

234 passed, 334 total

Snapshots

0 passed, 0 total

{ "log": false, "resultDir": "/home/runner/work/mattermost-mobile/mattermost-mobile/detox/artifacts/jest-stare/", "resultHtml": "android-report.html", "reportHeadline": "android Mobile App E2E with Detox and Jest", "resultJson": "jest-results.json" }
{ "numFailedTestSuites": 28, "numFailedTests": 100, "numPassedTestSuites": 60, "numPassedTests": 234, "numPendingTestSuites": 0, "numPendingTests": 0, "numRuntimeErrorTestSuites": 19, "numTodoTests": 0, "numTotalTestSuites": 88, "numTotalTests": 334, "openHandles": [], "snapshot": { "added": 0, "didUpdate": false, "failure": false, "filesAdded": 0, "filesRemoved": 0, "filesRemovedList": [], "filesUnmatched": 0, "filesUpdated": 0, "matched": 0, "total": 0, "unchecked": 0, "uncheckedKeysByFile": [], "unmatched": 0, "updated": 0 }, "startTime": 1765990051118, "success": false, "testResults": [ { "leaks": false, "numFailingTests": 0, "numPassingTests": 3, "numPendingTests": 0, "numTodoTests": 0, "openHandles": [], "perfStats": { "end": 1765990312714, "runtime": 117564, "slow": true, "start": 1765990195150 }, "skipped": false, "snapshot": { "added": 0, "fileDeleted": false, "matched": 0, "unchecked": 0, "uncheckedKeys": [], "unmatched": 0, "updated": 0 }, "testFilePath": "/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/server_login/preauth_secret_connection.e2e.ts", "testResults": [ { "ancestorTitles": [ "Server Login - Preauth Secret Connection" ], "duration": 22543, "failureDetails": [], "failureMessages": [], "fullName": "Server Login - Preauth Secret Connection MM-T5000_1 - should toggle advanced options and verify preauth secret field styling", "invocations": 1, "location": null, "numPassingAsserts": 3, "retryReasons": [], "status": "passed", "title": "MM-T5000_1 - should toggle advanced options and verify preauth secret field styling" }, { "ancestorTitles": [ "Server Login - Preauth Secret Connection" ], "duration": 13935, "failureDetails": [], "failureMessages": [], "fullName": "Server Login - Preauth Secret Connection MM-T5000_2 - should connect to server with preauth secret and verify storage", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T5000_2 - should connect to server with preauth secret and verify storage" }, { "ancestorTitles": [ "Server Login - Preauth Secret Connection" ], "duration": 13525, "failureDetails": [], "failureMessages": [], "fullName": "Server Login - Preauth Secret Connection MM-T5000_3 - should connect to server without preauth secret", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T5000_3 - should connect to server without preauth secret" } ], "failureMessage": null }, { "leaks": false, "numFailingTests": 1, "numPassingTests": 6, "numPendingTests": 0, "numTodoTests": 0, "openHandles": [], "perfStats": { "end": 1765990446481, "runtime": 133609, "slow": true, "start": 1765990312872 }, "skipped": false, "snapshot": { "added": 0, "fileDeleted": false, "matched": 0, "unchecked": 0, "uncheckedKeys": [], "unmatched": 0, "updated": 0 }, "testFilePath": "/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/server_login/server_list.e2e.ts", "testResults": [ { "ancestorTitles": [ "Server Login - Server List" ], "duration": 5811, "failureDetails": [], "failureMessages": [], "fullName": "Server Login - Server List MM-T4691_1 - should match elements on server list screen", "invocations": 1, "location": null, "numPassingAsserts": 3, "retryReasons": [], "status": "passed", "title": "MM-T4691_1 - should match elements on server list screen" }, { "ancestorTitles": [ "Server Login - Server List" ], "duration": 37174, "failureDetails": [], "failureMessages": [], "fullName": "Server Login - Server List MM-T4691_2 - should be able to add and log in to new servers", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T4691_2 - should be able to add and log in to new servers" }, { "ancestorTitles": [ "Server Login - Server List" ], "duration": 5258, "failureDetails": [], "failureMessages": [], "fullName": "Server Login - Server List MM-T4691_3 - should be able to switch to another existing server", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T4691_3 - should be able to switch to another existing server" }, { "ancestorTitles": [ "Server Login - Server List" ], "duration": 5459, "failureDetails": [ { "name": "DetoxRuntimeError" } ], "failureMessages": [ "Test Failed: '(view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)' doesn't match the selected view.\nExpected: (view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)\n Got: was null\n\n at Object.<anonymous> (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/server_login/server_list.e2e.ts:199:59)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)" ], "fullName": "Server Login - Server List MM-T4691_4 - should be able to edit server display name of active and inactive servers", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "failed", "title": "MM-T4691_4 - should be able to edit server display name of active and inactive servers" }, { "ancestorTitles": [ "Server Login - Server List" ], "duration": 19898, "failureDetails": [], "failureMessages": [], "fullName": "Server Login - Server List MM-T4691_5 - should be able to remove a server from the list", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T4691_5 - should be able to remove a server from the list" }, { "ancestorTitles": [ "Server Login - Server List" ], "duration": 8408, "failureDetails": [], "failureMessages": [], "fullName": "Server Login - Server List MM-T4691_6 - should be able to log out a server from the list", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T4691_6 - should be able to log out a server from the list" }, { "ancestorTitles": [ "Server Login - Server List" ], "duration": 17058, "failureDetails": [], "failureMessages": [], "fullName": "Server Login - Server List MM-T4691_7 - should not be able to add server for an already existing server", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T4691_7 - should not be able to add server for an already existing server" } ], "failureMessage": " ● Server Login - Server List › MM-T4691_4 - should be able to edit server display name of active and inactive servers\n\n Test Failed: '(view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)' doesn't match the selected view.\n Expected: (view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)\n Got: was null\n\n \u001b[0m \u001b[90m 197 |\u001b[39m\n \u001b[90m 198 |\u001b[39m \u001b[90m// * Verify save button is disabled\u001b[39m\n \u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 199 |\u001b[39m \u001b[36mawait\u001b[39m expect(\u001b[33mEditServerScreen\u001b[39m\u001b[33m.\u001b[39msaveButtonDisabled)\u001b[33m.\u001b[39mtoBeVisible()\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 200 |\u001b[39m\n \u001b[90m 201 |\u001b[39m \u001b[90m// # Enter a new first server display name\u001b[39m\n \u001b[90m 202 |\u001b[39m \u001b[36mconst\u001b[39m newServerOneDisplayName \u001b[33m=\u001b[39m \u001b[32m`${serverOneDisplayName} new`\u001b[39m\u001b[33m;\u001b[39m\u001b[0m\n\n at Object.<anonymous> (test/products/channels/server_login/server_list.e2e.ts:199:59)\n" }, { "leaks": false, "numFailingTests": 0, "numPassingTests": 4, "numPendingTests": 0, "numTodoTests": 0, "openHandles": [], "perfStats": { "end": 1765990525220, "runtime": 78558, "slow": true, "start": 1765990446662 }, "skipped": false, "snapshot": { "added": 0, "fileDeleted": false, "matched": 0, "unchecked": 0, "uncheckedKeys": [], "unmatched": 0, "updated": 0 }, "testFilePath": "/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/smoke_test/account.e2e.ts", "testResults": [ { "ancestorTitles": [ "Smoke Test - Account" ], "duration": 15012, "failureDetails": [], "failureMessages": [], "fullName": "Smoke Test - Account MM-T5114_1 - should be able to set user presence and custom status", "invocations": 1, "location": null, "numPassingAsserts": 3, "retryReasons": [], "status": "passed", "title": "MM-T5114_1 - should be able to set user presence and custom status" }, { "ancestorTitles": [ "Smoke Test - Account" ], "duration": 11884, "failureDetails": [], "failureMessages": [], "fullName": "Smoke Test - Account MM-T5114_2 - should be able to edit profile", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T5114_2 - should be able to edit profile" }, { "ancestorTitles": [ "Smoke Test - Account" ], "duration": 12058, "failureDetails": [], "failureMessages": [], "fullName": "Smoke Test - Account MM-T5114_3 - should be able to set notification settings", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T5114_3 - should be able to set notification settings" }, { "ancestorTitles": [ "Smoke Test - Account" ], "duration": 5506, "failureDetails": [], "failureMessages": [], "fullName": "Smoke Test - Account MM-T5114_4 - should be able to set display settings", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T5114_4 - should be able to set display settings" } ], "failureMessage": null }, { "leaks": false, "numFailingTests": 4, "numPassingTests": 0, "numPendingTests": 0, "numTodoTests": 0, "openHandles": [], "perfStats": { "end": 1765990585220, "runtime": 59900, "slow": true, "start": 1765990525320 }, "skipped": false, "snapshot": { "added": 0, "fileDeleted": false, "matched": 0, "unchecked": 0, "uncheckedKeys": [], "unmatched": 0, "updated": 0 }, "testFilePath": "/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/smoke_test/autocomplete.e2e.ts", "testResults": [ { "ancestorTitles": [ "Smoke Test - Autocomplete" ], "duration": 4137, "failureDetails": [ { "name": "DetoxRuntimeError" } ], "failureMessages": [ "Test Failed: '(view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)' doesn't match the selected view.\nExpected: (view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)\n Got: view was <4> percent visible to the user\nView Details: ReactViewGroup{id=1705, visibility=VISIBLE, width=1036, height=633, has-focus=false, has-focusable=true, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, layout-params=android.view.ViewGroup$LayoutParams@YYYYYY, tag=autocomplete, root-is-layout-requested=false, has-input-connection=false, x=22.0, y=-607.0, child-count=1}\n\n at Autocomplete.toBeVisible (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/component/autocomplete.ts:117:56)\n at Object.<anonymous> (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/smoke_test/autocomplete.e2e.ts:67:9)" ], "fullName": "Smoke Test - Autocomplete MM-T4886_1 - should be able to select and post at-mention suggestion", "invocations": 1, "location": null, "numPassingAsserts": 3, "retryReasons": [], "status": "failed", "title": "MM-T4886_1 - should be able to select and post at-mention suggestion" }, { "ancestorTitles": [ "Smoke Test - Autocomplete" ], "duration": 3844, "failureDetails": [ { "name": "DetoxRuntimeError" } ], "failureMessages": [ "Test Failed: '(view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)' doesn't match the selected view.\nExpected: (view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)\n Got: view was <5> percent visible to the user\nView Details: ReactViewGroup{id=1705, visibility=VISIBLE, width=1036, height=446, has-focus=false, has-focusable=true, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, layout-params=android.view.ViewGroup$LayoutParams@YYYYYY, tag=autocomplete, root-is-layout-requested=false, has-input-connection=false, x=22.0, y=-420.0, child-count=1}\n\n at Autocomplete.toBeVisible (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/component/autocomplete.ts:117:56)\n at Object.<anonymous> (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/smoke_test/autocomplete.e2e.ts:91:9)" ], "fullName": "Smoke Test - Autocomplete MM-T4886_2 - should be able to select and post channel mention suggestion", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "failed", "title": "MM-T4886_2 - should be able to select and post channel mention suggestion" }, { "ancestorTitles": [ "Smoke Test - Autocomplete" ], "duration": 5042, "failureDetails": [ { "name": "DetoxRuntimeError" } ], "failureMessages": [ "Test Failed: '(view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)' doesn't match the selected view.\nExpected: (view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)\n Got: view was <4> percent visible to the user\nView Details: ReactViewGroup{id=1705, visibility=VISIBLE, width=1036, height=633, has-focus=false, has-focusable=true, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, layout-params=android.view.ViewGroup$LayoutParams@YYYYYY, tag=autocomplete, root-is-layout-requested=false, has-input-connection=false, x=22.0, y=-607.0, child-count=1}\n\n at Autocomplete.toBeVisible (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/component/autocomplete.ts:117:56)\n at Object.<anonymous> (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/smoke_test/autocomplete.e2e.ts:118:9)" ], "fullName": "Smoke Test - Autocomplete MM-T4886_3 - should be able to select and post emoji suggestion", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "failed", "title": "MM-T4886_3 - should be able to select and post emoji suggestion" }, { "ancestorTitles": [ "Smoke Test - Autocomplete" ], "duration": 4514, "failureDetails": [ { "name": "DetoxRuntimeError" } ], "failureMessages": [ "Test Failed: '(view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)' doesn't match the selected view.\nExpected: (view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)\n Got: view was <4> percent visible to the user\nView Details: ReactViewGroup{id=1705, visibility=VISIBLE, width=1036, height=633, has-focus=false, has-focusable=true, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, layout-params=android.view.ViewGroup$LayoutParams@YYYYYY, tag=autocomplete, root-is-layout-requested=false, has-input-connection=false, x=22.0, y=-607.0, child-count=1}\n\n at Autocomplete.toBeVisible (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/component/autocomplete.ts:117:56)\n at Object.<anonymous> (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/smoke_test/autocomplete.e2e.ts:142:9)" ], "fullName": "Smoke Test - Autocomplete MM-T4886_4 - should be able to select and post slash suggestion", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "failed", "title": "MM-T4886_4 - should be able to select and post slash suggestion" } ], "failureMessage": " ● Smoke Test - Autocomplete › MM-T4886_1 - should be able to select and post at-mention suggestion\n\n Test Failed: '(view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)' doesn't match the selected view.\n Expected: (view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)\n Got: view was <4> percent visible to the user\n View Details: ReactViewGroup{id=1705, visibility=VISIBLE, width=1036, height=633, has-focus=false, has-focusable=true, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, layout-params=android.view.ViewGroup$LayoutParams@YYYYYY, tag=autocomplete, root-is-layout-requested=false, has-input-connection=false, x=22.0, y=-607.0, child-count=1}\n\n \u001b[0m \u001b[90m 115 |\u001b[39m \u001b[36mawait\u001b[39m wait(timeouts\u001b[33m.\u001b[39m\u001b[33mONE_SEC\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m 116 |\u001b[39m \u001b[36mif\u001b[39m (isVisible) {\n \u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 117 |\u001b[39m \u001b[36mawait\u001b[39m expect(\u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mautocomplete\u001b[33m.\u001b[39matIndex(\u001b[35m0\u001b[39m))\u001b[33m.\u001b[39mtoBeVisible()\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 118 |\u001b[39m \u001b[36mreturn\u001b[39m \u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mautocomplete\u001b[33m;\u001b[39m\n \u001b[90m 119 |\u001b[39m }\n \u001b[90m 120 |\u001b[39m\u001b[0m\n\n at Autocomplete.toBeVisible (support/ui/component/autocomplete.ts:117:56)\n at Object.<anonymous> (test/products/channels/smoke_test/autocomplete.e2e.ts:67:9)\n\n ● Smoke Test - Autocomplete › MM-T4886_2 - should be able to select and post channel mention suggestion\n\n Test Failed: '(view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)' doesn't match the selected view.\n Expected: (view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)\n Got: view was <5> percent visible to the user\n View Details: ReactViewGroup{id=1705, visibility=VISIBLE, width=1036, height=446, has-focus=false, has-focusable=true, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, layout-params=android.view.ViewGroup$LayoutParams@YYYYYY, tag=autocomplete, root-is-layout-requested=false, has-input-connection=false, x=22.0, y=-420.0, child-count=1}\n\n \u001b[0m \u001b[90m 115 |\u001b[39m \u001b[36mawait\u001b[39m wait(timeouts\u001b[33m.\u001b[39m\u001b[33mONE_SEC\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m 116 |\u001b[39m \u001b[36mif\u001b[39m (isVisible) {\n \u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 117 |\u001b[39m \u001b[36mawait\u001b[39m expect(\u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mautocomplete\u001b[33m.\u001b[39matIndex(\u001b[35m0\u001b[39m))\u001b[33m.\u001b[39mtoBeVisible()\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 118 |\u001b[39m \u001b[36mreturn\u001b[39m \u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mautocomplete\u001b[33m;\u001b[39m\n \u001b[90m 119 |\u001b[39m }\n \u001b[90m 120 |\u001b[39m\u001b[0m\n\n at Autocomplete.toBeVisible (support/ui/component/autocomplete.ts:117:56)\n at Object.<anonymous> (test/products/channels/smoke_test/autocomplete.e2e.ts:91:9)\n\n ● Smoke Test - Autocomplete › MM-T4886_3 - should be able to select and post emoji suggestion\n\n Test Failed: '(view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)' doesn't match the selected view.\n Expected: (view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)\n Got: view was <4> percent visible to the user\n View Details: ReactViewGroup{id=1705, visibility=VISIBLE, width=1036, height=633, has-focus=false, has-focusable=true, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, layout-params=android.view.ViewGroup$LayoutParams@YYYYYY, tag=autocomplete, root-is-layout-requested=false, has-input-connection=false, x=22.0, y=-607.0, child-count=1}\n\n \u001b[0m \u001b[90m 115 |\u001b[39m \u001b[36mawait\u001b[39m wait(timeouts\u001b[33m.\u001b[39m\u001b[33mONE_SEC\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m 116 |\u001b[39m \u001b[36mif\u001b[39m (isVisible) {\n \u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 117 |\u001b[39m \u001b[36mawait\u001b[39m expect(\u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mautocomplete\u001b[33m.\u001b[39matIndex(\u001b[35m0\u001b[39m))\u001b[33m.\u001b[39mtoBeVisible()\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 118 |\u001b[39m \u001b[36mreturn\u001b[39m \u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mautocomplete\u001b[33m;\u001b[39m\n \u001b[90m 119 |\u001b[39m }\n \u001b[90m 120 |\u001b[39m\u001b[0m\n\n at Autocomplete.toBeVisible (support/ui/component/autocomplete.ts:117:56)\n at Object.<anonymous> (test/products/channels/smoke_test/autocomplete.e2e.ts:118:9)\n\n ● Smoke Test - Autocomplete › MM-T4886_4 - should be able to select and post slash suggestion\n\n Test Failed: '(view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)' doesn't match the selected view.\n Expected: (view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)\n Got: view was <4> percent visible to the user\n View Details: ReactViewGroup{id=1705, visibility=VISIBLE, width=1036, height=633, has-focus=false, has-focusable=true, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, layout-params=android.view.ViewGroup$LayoutParams@YYYYYY, tag=autocomplete, root-is-layout-requested=false, has-input-connection=false, x=22.0, y=-607.0, child-count=1}\n\n \u001b[0m \u001b[90m 115 |\u001b[39m \u001b[36mawait\u001b[39m wait(timeouts\u001b[33m.\u001b[39m\u001b[33mONE_SEC\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m 116 |\u001b[39m \u001b[36mif\u001b[39m (isVisible) {\n \u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 117 |\u001b[39m \u001b[36mawait\u001b[39m expect(\u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mautocomplete\u001b[33m.\u001b[39matIndex(\u001b[35m0\u001b[39m))\u001b[33m.\u001b[39mtoBeVisible()\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 118 |\u001b[39m \u001b[36mreturn\u001b[39m \u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mautocomplete\u001b[33m;\u001b[39m\n \u001b[90m 119 |\u001b[39m }\n \u001b[90m 120 |\u001b[39m\u001b[0m\n\n at Autocomplete.toBeVisible (support/ui/component/autocomplete.ts:117:56)\n at Object.<anonymous> (test/products/channels/smoke_test/autocomplete.e2e.ts:142:9)\n" }, { "leaks": false, "numFailingTests": 0, "numPassingTests": 6, "numPendingTests": 0, "numTodoTests": 0, "openHandles": [], "perfStats": { "end": 1765990752525, "runtime": 167215, "slow": true, "start": 1765990585310 }, "skipped": false, "snapshot": { "added": 0, "fileDeleted": false, "matched": 0, "unchecked": 0, "uncheckedKeys": [], "unmatched": 0, "updated": 0 }, "testFilePath": "/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/smoke_test/channels.e2e.ts", "testResults": [ { "ancestorTitles": [ "Smoke Test - Channels" ], "duration": 32063, "failureDetails": [], "failureMessages": [], "fullName": "Smoke Test - Channels MM-T4774_1 - should be able to join a new channel and switch to an existing channel", "invocations": 1, "location": null, "numPassingAsserts": 3, "retryReasons": [], "status": "passed", "title": "MM-T4774_1 - should be able to join a new channel and switch to an existing channel" }, { "ancestorTitles": [ "Smoke Test - Channels" ], "duration": 41091, "failureDetails": [], "failureMessages": [], "fullName": "Smoke Test - Channels MM-T4774_2 - should be able to create a channel and create a direct message", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T4774_2 - should be able to create a channel and create a direct message" }, { "ancestorTitles": [ "Smoke Test - Channels" ], "duration": 9991, "failureDetails": [], "failureMessages": [], "fullName": "Smoke Test - Channels MM-T4774_3 - should be able to post a message in a channel", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T4774_3 - should be able to post a message in a channel" }, { "ancestorTitles": [ "Smoke Test - Channels" ], "duration": 15062, "failureDetails": [], "failureMessages": [], "fullName": "Smoke Test - Channels MM-T4774_4 - should be able to find and edit a channel", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T4774_4 - should be able to find and edit a channel" }, { "ancestorTitles": [ "Smoke Test - Channels" ], "duration": 10250, "failureDetails": [], "failureMessages": [], "fullName": "Smoke Test - Channels MM-T4774_5 - should be able to favorite and mute a channel", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T4774_5 - should be able to favorite and mute a channel" }, { "ancestorTitles": [ "Smoke Test - Channels" ], "duration": 25857, "failureDetails": [], "failureMessages": [], "fullName": "Smoke Test - Channels MM-T4774_6 - should be able to archive and leave a channel", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T4774_6 - should be able to archive and leave a channel" } ], "failureMessage": null }, { "leaks": false, "numFailingTests": 7, "numPassingTests": 0, "numPendingTests": 0, "numTodoTests": 0, "openHandles": [], "perfStats": { "end": 1765990874943, "runtime": 122234, "slow": true, "start": 1765990752709 }, "skipped": false, "snapshot": { "added": 0, "fileDeleted": false, "matched": 0, "unchecked": 0, "uncheckedKeys": [], "unmatched": 0, "updated": 0 }, "testFilePath": "/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/smoke_test/messaging.e2e.ts", "testResults": [ { "ancestorTitles": [ "Smoke Test - Messaging" ], "duration": 22950, "failureDetails": [ { "name": "DetoxRuntimeError" } ], "failureMessages": [ "Test Failed: 10.0sec timeout expired without matching of given matcher: not null\n at PostOptionsScreen.toBeVisible (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/screen/post_options.ts:50:57)\n at ChannelScreen.openPostOptionsFor (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/screen/channel.ts:202:33)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at Object.<anonymous> (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/smoke_test/messaging.e2e.ts:75:9)" ], "fullName": "Smoke Test - Messaging MM-T4786_1 - should be able to post, edit, and delete a message", "invocations": 1, "location": null, "numPassingAsserts": 3, "retryReasons": [], "status": "failed", "title": "MM-T4786_1 - should be able to post, edit, and delete a message" }, { "ancestorTitles": [ "Smoke Test - Messaging" ], "duration": 10718, "failureDetails": [ { "name": "DetoxRuntimeError" } ], "failureMessages": [ "Test Failed: 10.0sec timeout expired without matching of given matcher: not null\n at ChannelListScreen.toBeVisible (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/screen/channel_list.ts:79:57)\n at Object.<anonymous> (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/smoke_test/messaging.e2e.ts:55:33)\n at Promise.then.completed (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/utils.js:298:28)\n at new Promise (<anonymous>)\n at callAsyncCircusFn (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/utils.js:231:10)\n at _callCircusHook (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:281:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:246:5)\n at _runTestsForDescribeBlock (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:126:9)\n at _runTestsForDescribeBlock (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:121:9)\n at run (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:71:3)\n at runAndTransformResultsToJestFormat (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at jestAdapter (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at runTestInternal (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-runner/build/runTest.js:367:16)\n at runTest (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-runner/build/runTest.js:444:34)" ], "fullName": "Smoke Test - Messaging MM-T4786_2 - should be able to reply to a message", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "failed", "title": "MM-T4786_2 - should be able to reply to a message" }, { "ancestorTitles": [ "Smoke Test - Messaging" ], "duration": 10615, "failureDetails": [ { "name": "DetoxRuntimeError" } ], "failureMessages": [ "Test Failed: 10.0sec timeout expired without matching of given matcher: not null\n at ChannelListScreen.toBeVisible (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/screen/channel_list.ts:79:57)\n at Object.<anonymous> (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/smoke_test/messaging.e2e.ts:55:33)\n at Promise.then.completed (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/utils.js:298:28)\n at new Promise (<anonymous>)\n at callAsyncCircusFn (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/utils.js:231:10)\n at _callCircusHook (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:281:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:246:5)\n at _runTestsForDescribeBlock (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:126:9)\n at _runTestsForDescribeBlock (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:121:9)\n at run (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:71:3)\n at runAndTransformResultsToJestFormat (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at jestAdapter (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at runTestInternal (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-runner/build/runTest.js:367:16)\n at runTest (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-runner/build/runTest.js:444:34)" ], "fullName": "Smoke Test - Messaging MM-T4786_3 - should be able to include emojis in a message and add reaction to a message", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "failed", "title": "MM-T4786_3 - should be able to include emojis in a message and add reaction to a message" }, { "ancestorTitles": [ "Smoke Test - Messaging" ], "duration": 10610, "failureDetails": [ { "name": "DetoxRuntimeError" } ], "failureMessages": [ "Test Failed: 10.0sec timeout expired without matching of given matcher: not null\n at ChannelListScreen.toBeVisible (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/screen/channel_list.ts:79:57)\n at Object.<anonymous> (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/smoke_test/messaging.e2e.ts:55:33)\n at Promise.then.completed (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/utils.js:298:28)\n at new Promise (<anonymous>)\n at callAsyncCircusFn (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/utils.js:231:10)\n at _callCircusHook (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:281:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:246:5)\n at _runTestsForDescribeBlock (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:126:9)\n at _runTestsForDescribeBlock (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:121:9)\n at run (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:71:3)\n at runAndTransformResultsToJestFormat (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at jestAdapter (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at runTestInternal (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-runner/build/runTest.js:367:16)\n at runTest (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-runner/build/runTest.js:444:34)" ], "fullName": "Smoke Test - Messaging MM-T4786_4 - should be able to follow/unfollow a message, save/unsave a message, and pin/unpin a message", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "failed", "title": "MM-T4786_4 - should be able to follow/unfollow a message, save/unsave a message, and pin/unpin a message" }, { "ancestorTitles": [ "Smoke Test - Messaging" ], "duration": 10761, "failureDetails": [ { "name": "DetoxRuntimeError" } ], "failureMessages": [ "Test Failed: 10.0sec timeout expired without matching of given matcher: not null\n at ChannelListScreen.toBeVisible (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/screen/channel_list.ts:79:57)\n at Object.<anonymous> (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/smoke_test/messaging.e2e.ts:55:33)\n at Promise.then.completed (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/utils.js:298:28)\n at new Promise (<anonymous>)\n at callAsyncCircusFn (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/utils.js:231:10)\n at _callCircusHook (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:281:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:246:5)\n at _runTestsForDescribeBlock (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:126:9)\n at _runTestsForDescribeBlock (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:121:9)\n at run (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:71:3)\n at runAndTransformResultsToJestFormat (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at jestAdapter (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at runTestInternal (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-runner/build/runTest.js:367:16)\n at runTest (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-runner/build/runTest.js:444:34)" ], "fullName": "Smoke Test - Messaging MM-T4786_5 - should be able to post a message with at-mention and channel mention", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "failed", "title": "MM-T4786_5 - should be able to post a message with at-mention and channel mention" }, { "ancestorTitles": [ "Smoke Test - Messaging" ], "duration": 10680, "failureDetails": [ { "name": "DetoxRuntimeError" } ], "failureMessages": [ "Test Failed: 10.0sec timeout expired without matching of given matcher: not null\n at ChannelListScreen.toBeVisible (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/screen/channel_list.ts:79:57)\n at Object.<anonymous> (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/smoke_test/messaging.e2e.ts:55:33)\n at Promise.then.completed (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/utils.js:298:28)\n at new Promise (<anonymous>)\n at callAsyncCircusFn (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/utils.js:231:10)\n at _callCircusHook (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:281:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:246:5)\n at _runTestsForDescribeBlock (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:126:9)\n at _runTestsForDescribeBlock (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:121:9)\n at run (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:71:3)\n at runAndTransformResultsToJestFormat (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at jestAdapter (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at runTestInternal (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-runner/build/runTest.js:367:16)\n at runTest (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-runner/build/runTest.js:444:34)" ], "fullName": "Smoke Test - Messaging MM-T4786_6 - should be able to post labeled permalink and labeled channel link", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "failed", "title": "MM-T4786_6 - should be able to post labeled permalink and labeled channel link" }, { "ancestorTitles": [ "Smoke Test - Messaging" ], "duration": 10684, "failureDetails": [ { "name": "DetoxRuntimeError" } ], "failureMessages": [ "Test Failed: 10.0sec timeout expired without matching of given matcher: not null\n at ChannelListScreen.toBeVisible (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/screen/channel_list.ts:79:57)\n at Object.<anonymous> (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/smoke_test/messaging.e2e.ts:55:33)\n at Promise.then.completed (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/utils.js:298:28)\n at new Promise (<anonymous>)\n at callAsyncCircusFn (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/utils.js:231:10)\n at _callCircusHook (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:281:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:246:5)\n at _runTestsForDescribeBlock (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:126:9)\n at _runTestsForDescribeBlock (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:121:9)\n at run (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:71:3)\n at runAndTransformResultsToJestFormat (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at jestAdapter (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at runTestInternal (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-runner/build/runTest.js:367:16)\n at runTest (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-runner/build/runTest.js:444:34)" ], "fullName": "Smoke Test - Messaging MM-T4786_7 - should be able to post a message with markdown", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "failed", "title": "MM-T4786_7 - should be able to post a message with markdown" } ], "failureMessage": " ● Smoke Test - Messaging › MM-T4786_1 - should be able to post, edit, and delete a message\n\n Test Failed: 10.0sec timeout expired without matching of given matcher: not null\n\n \u001b[0m \u001b[90m 48 |\u001b[39m\n \u001b[90m 49 |\u001b[39m toBeVisible \u001b[33m=\u001b[39m \u001b[36masync\u001b[39m () \u001b[33m=>\u001b[39m {\n \u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 50 |\u001b[39m \u001b[36mawait\u001b[39m waitFor(\u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mpostOptionsScreen)\u001b[33m.\u001b[39mtoExist()\u001b[33m.\u001b[39mwithTimeout(timeouts\u001b[33m.\u001b[39m\u001b[33mTEN_SEC\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 51 |\u001b[39m\n \u001b[90m 52 |\u001b[39m \u001b[36mreturn\u001b[39m postOptionsScreen\u001b[33m;\u001b[39m\n \u001b[90m 53 |\u001b[39m }\u001b[33m;\u001b[39m\u001b[0m\n\n at PostOptionsScreen.toBeVisible (support/ui/screen/post_options.ts:50:57)\n at ChannelScreen.openPostOptionsFor (support/ui/screen/channel.ts:202:33)\n at Object.<anonymous> (test/products/channels/smoke_test/messaging.e2e.ts:75:9)\n\n ● Smoke Test - Messaging › MM-T4786_2 - should be able to reply to a message\n\n Test Failed: 10.0sec timeout expired without matching of given matcher: not null\n\n \u001b[0m \u001b[90m 77 |\u001b[39m\n \u001b[90m 78 |\u001b[39m toBeVisible \u001b[33m=\u001b[39m \u001b[36masync\u001b[39m () \u001b[33m=>\u001b[39m {\n \u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 79 |\u001b[39m \u001b[36mawait\u001b[39m waitFor(\u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mchannelListScreen)\u001b[33m.\u001b[39mtoExist()\u001b[33m.\u001b[39mwithTimeout(timeouts\u001b[33m.\u001b[39m\u001b[33mTEN_SEC\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 80 |\u001b[39m\n \u001b[90m 81 |\u001b[39m \u001b[36mreturn\u001b[39m \u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mchannelListScreen\u001b[33m;\u001b[39m\n \u001b[90m 82 |\u001b[39m }\u001b[33m;\u001b[39m\u001b[0m\n\n at ChannelListScreen.toBeVisible (support/ui/screen/channel_list.ts:79:57)\n at Object.<anonymous> (test/products/channels/smoke_test/messaging.e2e.ts:55:33)\n\n ● Smoke Test - Messaging › MM-T4786_3 - should be able to include emojis in a message and add reaction to a message\n\n Test Failed: 10.0sec timeout expired without matching of given matcher: not null\n\n \u001b[0m \u001b[90m 77 |\u001b[39m\n \u001b[90m 78 |\u001b[39m toBeVisible \u001b[33m=\u001b[39m \u001b[36masync\u001b[39m () \u001b[33m=>\u001b[39m {\n \u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 79 |\u001b[39m \u001b[36mawait\u001b[39m waitFor(\u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mchannelListScreen)\u001b[33m.\u001b[39mtoExist()\u001b[33m.\u001b[39mwithTimeout(timeouts\u001b[33m.\u001b[39m\u001b[33mTEN_SEC\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 80 |\u001b[39m\n \u001b[90m 81 |\u001b[39m \u001b[36mreturn\u001b[39m \u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mchannelListScreen\u001b[33m;\u001b[39m\n \u001b[90m 82 |\u001b[39m }\u001b[33m;\u001b[39m\u001b[0m\n\n at ChannelListScreen.toBeVisible (support/ui/screen/channel_list.ts:79:57)\n at Object.<anonymous> (test/products/channels/smoke_test/messaging.e2e.ts:55:33)\n\n ● Smoke Test - Messaging › MM-T4786_4 - should be able to follow/unfollow a message, save/unsave a message, and pin/unpin a message\n\n Test Failed: 10.0sec timeout expired without matching of given matcher: not null\n\n \u001b[0m \u001b[90m 77 |\u001b[39m\n \u001b[90m 78 |\u001b[39m toBeVisible \u001b[33m=\u001b[39m \u001b[36masync\u001b[39m () \u001b[33m=>\u001b[39m {\n \u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 79 |\u001b[39m \u001b[36mawait\u001b[39m waitFor(\u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mchannelListScreen)\u001b[33m.\u001b[39mtoExist()\u001b[33m.\u001b[39mwithTimeout(timeouts\u001b[33m.\u001b[39m\u001b[33mTEN_SEC\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 80 |\u001b[39m\n \u001b[90m 81 |\u001b[39m \u001b[36mreturn\u001b[39m \u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mchannelListScreen\u001b[33m;\u001b[39m\n \u001b[90m 82 |\u001b[39m }\u001b[33m;\u001b[39m\u001b[0m\n\n at ChannelListScreen.toBeVisible (support/ui/screen/channel_list.ts:79:57)\n at Object.<anonymous> (test/products/channels/smoke_test/messaging.e2e.ts:55:33)\n\n ● Smoke Test - Messaging › MM-T4786_5 - should be able to post a message with at-mention and channel mention\n\n Test Failed: 10.0sec timeout expired without matching of given matcher: not null\n\n \u001b[0m \u001b[90m 77 |\u001b[39m\n \u001b[90m 78 |\u001b[39m toBeVisible \u001b[33m=\u001b[39m \u001b[36masync\u001b[39m () \u001b[33m=>\u001b[39m {\n \u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 79 |\u001b[39m \u001b[36mawait\u001b[39m waitFor(\u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mchannelListScreen)\u001b[33m.\u001b[39mtoExist()\u001b[33m.\u001b[39mwithTimeout(timeouts\u001b[33m.\u001b[39m\u001b[33mTEN_SEC\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 80 |\u001b[39m\n \u001b[90m 81 |\u001b[39m \u001b[36mreturn\u001b[39m \u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mchannelListScreen\u001b[33m;\u001b[39m\n \u001b[90m 82 |\u001b[39m }\u001b[33m;\u001b[39m\u001b[0m\n\n at ChannelListScreen.toBeVisible (support/ui/screen/channel_list.ts:79:57)\n at Object.<anonymous> (test/products/channels/smoke_test/messaging.e2e.ts:55:33)\n\n ● Smoke Test - Messaging › MM-T4786_6 - should be able to post labeled permalink and labeled channel link\n\n Test Failed: 10.0sec timeout expired without matching of given matcher: not null\n\n \u001b[0m \u001b[90m 77 |\u001b[39m\n \u001b[90m 78 |\u001b[39m toBeVisible \u001b[33m=\u001b[39m \u001b[36masync\u001b[39m () \u001b[33m=>\u001b[39m {\n \u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 79 |\u001b[39m \u001b[36mawait\u001b[39m waitFor(\u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mchannelListScreen)\u001b[33m.\u001b[39mtoExist()\u001b[33m.\u001b[39mwithTimeout(timeouts\u001b[33m.\u001b[39m\u001b[33mTEN_SEC\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 80 |\u001b[39m\n \u001b[90m 81 |\u001b[39m \u001b[36mreturn\u001b[39m \u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mchannelListScreen\u001b[33m;\u001b[39m\n \u001b[90m 82 |\u001b[39m }\u001b[33m;\u001b[39m\u001b[0m\n\n at ChannelListScreen.toBeVisible (support/ui/screen/channel_list.ts:79:57)\n at Object.<anonymous> (test/products/channels/smoke_test/messaging.e2e.ts:55:33)\n\n ● Smoke Test - Messaging › MM-T4786_7 - should be able to post a message with markdown\n\n Test Failed: 10.0sec timeout expired without matching of given matcher: not null\n\n \u001b[0m \u001b[90m 77 |\u001b[39m\n \u001b[90m 78 |\u001b[39m toBeVisible \u001b[33m=\u001b[39m \u001b[36masync\u001b[39m () \u001b[33m=>\u001b[39m {\n \u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 79 |\u001b[39m \u001b[36mawait\u001b[39m waitFor(\u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mchannelListScreen)\u001b[33m.\u001b[39mtoExist()\u001b[33m.\u001b[39mwithTimeout(timeouts\u001b[33m.\u001b[39m\u001b[33mTEN_SEC\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 80 |\u001b[39m\n \u001b[90m 81 |\u001b[39m \u001b[36mreturn\u001b[39m \u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mchannelListScreen\u001b[33m;\u001b[39m\n \u001b[90m 82 |\u001b[39m }\u001b[33m;\u001b[39m\u001b[0m\n\n at ChannelListScreen.toBeVisible (support/ui/screen/channel_list.ts:79:57)\n at Object.<anonymous> (test/products/channels/smoke_test/messaging.e2e.ts:55:33)\n\n\n ● Test suite failed to run\n\n Test Failed: 2.0sec timeout expired without matching of given matcher: (view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)\n\n \u001b[0m \u001b[90m 82 |\u001b[39m open \u001b[33m=\u001b[39m \u001b[36masync\u001b[39m () \u001b[33m=>\u001b[39m {\n \u001b[90m 83 |\u001b[39m \u001b[90m// # Open account screen\u001b[39m\n \u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 84 |\u001b[39m \u001b[36mawait\u001b[39m waitFor(\u001b[33mHomeScreen\u001b[39m\u001b[33m.\u001b[39maccountTab)\u001b[33m.\u001b[39mtoBeVisible()\u001b[33m.\u001b[39mwithTimeout(timeouts\u001b[33m.\u001b[39m\u001b[33mTWO_SEC\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 85 |\u001b[39m \u001b[36mawait\u001b[39m \u001b[33mHomeScreen\u001b[39m\u001b[33m.\u001b[39maccountTab\u001b[33m.\u001b[39mtap()\u001b[33m;\u001b[39m\n \u001b[90m 86 |\u001b[39m\n \u001b[90m 87 |\u001b[39m \u001b[36mreturn\u001b[39m \u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mtoBeVisible()\u001b[33m;\u001b[39m\u001b[0m\n\n at AccountScreen.open (support/ui/screen/account.ts:84:60)\n at HomeScreen.logout (support/ui/screen/home.ts:40:29)\n at Object.<anonymous> (test/products/channels/smoke_test/messaging.e2e.ts:60:26)\n", "testExecError": { "message": "", "stack": "Test Failed: 2.0sec timeout expired without matching of given matcher: (view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)\n at AccountScreen.open (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/screen/account.ts:84:60)\n at HomeScreen.logout (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/screen/home.ts:40:29)\n at Object.<anonymous> (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/smoke_test/messaging.e2e.ts:60:26)\n at Promise.then.completed (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/utils.js:298:28)\n at new Promise (<anonymous>)\n at callAsyncCircusFn (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/utils.js:231:10)\n at _callCircusHook (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:281:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTestsForDescribeBlock (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:154:7)\n at _runTestsForDescribeBlock (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:121:9)\n at run (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:71:3)\n at runAndTransformResultsToJestFormat (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at jestAdapter (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at runTestInternal (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-runner/build/runTest.js:367:16)\n at runTest (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-runner/build/runTest.js:444:34)" } }, { "leaks": false, "numFailingTests": 0, "numPassingTests": 4, "numPendingTests": 0, "numTodoTests": 0, "openHandles": [], "perfStats": { "end": 1765990970894, "runtime": 95806, "slow": true, "start": 1765990875088 }, "skipped": false, "snapshot": { "added": 0, "fileDeleted": false, "matched": 0, "unchecked": 0, "uncheckedKeys": [], "unmatched": 0, "updated": 0 }, "testFilePath": "/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/smoke_test/search.e2e.ts", "testResults": [ { "ancestorTitles": [ "Smoke Test - Search" ], "duration": 12719, "failureDetails": [], "failureMessages": [], "fullName": "Smoke Test - Search MM-T4911_1 - should be able to display a recent mention on recent mentions screen", "invocations": 1, "location": null, "numPassingAsserts": 3, "retryReasons": [], "status": "passed", "title": "MM-T4911_1 - should be able to display a recent mention on recent mentions screen" }, { "ancestorTitles": [ "Smoke Test - Search" ], "duration": 16558, "failureDetails": [], "failureMessages": [], "fullName": "Smoke Test - Search MM-T4911_2 - should be able to display a saved message on saved messages screen", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T4911_2 - should be able to display a saved message on saved messages screen" }, { "ancestorTitles": [ "Smoke Test - Search" ], "duration": 17145, "failureDetails": [], "failureMessages": [], "fullName": "Smoke Test - Search MM-T4911_3 - should be able to display a pinned message on pinned messages screen", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T4911_3 - should be able to display a pinned message on pinned messages screen" }, { "ancestorTitles": [ "Smoke Test - Search" ], "duration": 15674, "failureDetails": [], "failureMessages": [], "fullName": "Smoke Test - Search MM-T4911_4 - should be able to search for a message and display on search results screen", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T4911_4 - should be able to search for a message and display on search results screen" } ], "failureMessage": null }, { "leaks": false, "numFailingTests": 0, "numPassingTests": 2, "numPendingTests": 0, "numTodoTests": 0, "openHandles": [], "perfStats": { "end": 1765991038379, "runtime": 67318, "slow": true, "start": 1765990971061 }, "skipped": false, "snapshot": { "added": 0, "fileDeleted": false, "matched": 0, "unchecked": 0, "uncheckedKeys": [], "unmatched": 0, "updated": 0 }, "testFilePath": "/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/smoke_test/server_login.e2e.ts", "testResults": [ { "ancestorTitles": [ "Smoke Test - Server Login" ], "duration": 19997, "failureDetails": [], "failureMessages": [], "fullName": "Smoke Test - Server Login MM-T4675_1 - should be able to connect to a server, log in, and show channel list screen", "invocations": 1, "location": null, "numPassingAsserts": 3, "retryReasons": [], "status": "passed", "title": "MM-T4675_1 - should be able to connect to a server, log in, and show channel list screen" }, { "ancestorTitles": [ "Smoke Test - Server Login" ], "duration": 29769, "failureDetails": [], "failureMessages": [], "fullName": "Smoke Test - Server Login MM-T4675_2 - should be able to add a new server and log-in-to/log-out-from the new server", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T4675_2 - should be able to add a new server and log-in-to/log-out-from the new server" } ], "failureMessage": null }, { "leaks": false, "numFailingTests": 1, "numPassingTests": 1, "numPendingTests": 0, "numTodoTests": 0, "openHandles": [], "perfStats": { "end": 1765990278140, "runtime": 125062, "slow": true, "start": 1765990153078 }, "skipped": false, "snapshot": { "added": 0, "fileDeleted": false, "matched": 0, "unchecked": 0, "uncheckedKeys": [], "unmatched": 0, "updated": 0 }, "testFilePath": "/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/messaging/save_and_unsave_message.e2e.ts", "testResults": [ { "ancestorTitles": [ "Messaging - Save and Unsave Message" ], "duration": 25052, "failureDetails": [], "failureMessages": [], "fullName": "Messaging - Save and Unsave Message MM-T4864_1 - should be able to save/unsave a message via post options on channel screen", "invocations": 1, "location": null, "numPassingAsserts": 3, "retryReasons": [], "status": "passed", "title": "MM-T4864_1 - should be able to save/unsave a message via post options on channel screen" }, { "ancestorTitles": [ "Messaging - Save and Unsave Message" ], "duration": 13887, "failureDetails": [ { "name": "DetoxRuntimeError" } ], "failureMessages": [ "Test Failed: No views in hierarchy found matching: (view.getTag() is \"post_options.save_post.option\" and view has effective visibility <VISIBLE>)\n\n\nHINT: To print view hierarchy on failed actions/matches, use log-level verbose or higher.\n at Object.<anonymous> (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/messaging/save_and_unsave_message.e2e.ts:96:48)" ], "fullName": "Messaging - Save and Unsave Message MM-T4864_2 - should be able to save/unsave a message via post options on thread screen", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "failed", "title": "MM-T4864_2 - should be able to save/unsave a message via post options on thread screen" } ], "failureMessage": " ● Messaging - Save and Unsave Message › MM-T4864_2 - should be able to save/unsave a message via post options on thread screen\n\n Test Failed: No views in hierarchy found matching: (view.getTag() is \"post_options.save_post.option\" and view has effective visibility <VISIBLE>)\n\n\n HINT: To print view hierarchy on failed actions/matches, use log-level verbose or higher.\n\n \u001b[0m \u001b[90m 94 |\u001b[39m \u001b[36mawait\u001b[39m postListPostItem\u001b[33m.\u001b[39mtap()\u001b[33m;\u001b[39m\n \u001b[90m 95 |\u001b[39m \u001b[36mawait\u001b[39m \u001b[33mThreadScreen\u001b[39m\u001b[33m.\u001b[39mopenPostOptionsFor(post\u001b[33m.\u001b[39mid\u001b[33m,\u001b[39m message)\u001b[33m;\u001b[39m\n \u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 96 |\u001b[39m \u001b[36mawait\u001b[39m \u001b[33mPostOptionsScreen\u001b[39m\u001b[33m.\u001b[39msavePostOption\u001b[33m.\u001b[39mtap()\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 97 |\u001b[39m\n \u001b[90m 98 |\u001b[39m \u001b[90m// * Verify saved text is displayed on the post pre-header\u001b[39m\n \u001b[90m 99 |\u001b[39m \u001b[36mawait\u001b[39m wait(timeouts\u001b[33m.\u001b[39m\u001b[33mONE_SEC\u001b[39m)\u001b[33m;\u001b[39m\u001b[0m\n\n at Object.<anonymous> (test/products/channels/messaging/save_and_unsave_message.e2e.ts:96:48)\n\n\n ● Test suite failed to run\n\n Test Failed: 2.0sec timeout expired without matching of given matcher: (view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)\n\n \u001b[0m \u001b[90m 82 |\u001b[39m open \u001b[33m=\u001b[39m \u001b[36masync\u001b[39m () \u001b[33m=>\u001b[39m {\n \u001b[90m 83 |\u001b[39m \u001b[90m// # Open account screen\u001b[39m\n \u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 84 |\u001b[39m \u001b[36mawait\u001b[39m waitFor(\u001b[33mHomeScreen\u001b[39m\u001b[33m.\u001b[39maccountTab)\u001b[33m.\u001b[39mtoBeVisible()\u001b[33m.\u001b[39mwithTimeout(timeouts\u001b[33m.\u001b[39m\u001b[33mTWO_SEC\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 85 |\u001b[39m \u001b[36mawait\u001b[39m \u001b[33mHomeScreen\u001b[39m\u001b[33m.\u001b[39maccountTab\u001b[33m.\u001b[39mtap()\u001b[33m;\u001b[39m\n \u001b[90m 86 |\u001b[39m\n \u001b[90m 87 |\u001b[39m \u001b[36mreturn\u001b[39m \u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mtoBeVisible()\u001b[33m;\u001b[39m\u001b[0m\n\n at AccountScreen.open (support/ui/screen/account.ts:84:60)\n at HomeScreen.logout (support/ui/screen/home.ts:40:29)\n at Object.<anonymous> (test/products/channels/messaging/save_and_unsave_message.e2e.ts:52:26)\n", "testExecError": { "message": "", "stack": "Test Failed: 2.0sec timeout expired without matching of given matcher: (view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)\n at AccountScreen.open (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/screen/account.ts:84:60)\n at HomeScreen.logout (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/screen/home.ts:40:29)\n at Object.<anonymous> (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/messaging/save_and_unsave_message.e2e.ts:52:26)\n at Promise.then.completed (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/utils.js:298:28)\n at new Promise (<anonymous>)\n at callAsyncCircusFn (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/utils.js:231:10)\n at _callCircusHook (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:281:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTestsForDescribeBlock (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:154:7)\n at _runTestsForDescribeBlock (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:121:9)\n at run (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:71:3)\n at runAndTransformResultsToJestFormat (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at jestAdapter (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at runTestInternal (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-runner/build/runTest.js:367:16)\n at runTest (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-runner/build/runTest.js:444:34)" } }, { "leaks": false, "numFailingTests": 4, "numPassingTests": 1, "numPendingTests": 0, "numTodoTests": 0, "openHandles": [], "perfStats": { "end": 1765990387510, "runtime": 109270, "slow": true, "start": 1765990278240 }, "skipped": false, "snapshot": { "added": 0, "fileDeleted": false, "matched": 0, "unchecked": 0, "uncheckedKeys": [], "unmatched": 0, "updated": 0 }, "testFilePath": "/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/scheduled_messages/create_schedule_message.e2e.ts", "testResults": [ { "ancestorTitles": [ "Scheduled Draft," ], "duration": 20489, "failureDetails": [], "failureMessages": [], "fullName": "Scheduled Draft, MM-T5762 should be able to create a scheduled message", "invocations": 1, "location": null, "numPassingAsserts": 3, "retryReasons": [], "status": "passed", "title": "MM-T5762 should be able to create a scheduled message" }, { "ancestorTitles": [ "Scheduled Draft," ], "duration": 21344, "failureDetails": [ { "name": "DetoxRuntimeError" } ], "failureMessages": [ "Test Failed: 10.0sec timeout expired without matching of given matcher: not null\n at PostOptionsScreen.toBeVisible (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/screen/post_options.ts:50:57)\n at ChannelScreen.openPostOptionsFor (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/screen/channel.ts:202:33)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at ChannelScreen.openReplyThreadFor (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/screen/channel.ts:207:9)\n at Object.<anonymous> (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/scheduled_messages/create_schedule_message.e2e.ts:96:9)" ], "fullName": "Scheduled Draft, MM-T5767 should be able to create a scheduled message under a threaded post", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "failed", "title": "MM-T5767 should be able to create a scheduled message under a threaded post" }, { "ancestorTitles": [ "Scheduled Draft," ], "duration": 10919, "failureDetails": [ { "name": "DetoxRuntimeError" } ], "failureMessages": [ "Test Failed: 10.0sec timeout expired without matching of given matcher: not null\n at ChannelListScreen.toBeVisible (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/screen/channel_list.ts:79:57)\n at Object.<anonymous> (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/scheduled_messages/create_schedule_message.e2e.ts:59:33)\n at Promise.then.completed (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/utils.js:298:28)\n at new Promise (<anonymous>)\n at callAsyncCircusFn (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/utils.js:231:10)\n at _callCircusHook (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:281:40)\n at _runTest (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:246:5)\n at _runTestsForDescribeBlock (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:126:9)\n at _runTestsForDescribeBlock (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:121:9)\n at run (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:71:3)\n at runAndTransformResultsToJestFormat (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at jestAdapter (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at runTestInternal (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-runner/build/runTest.js:367:16)\n at runTest (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-runner/build/runTest.js:444:34)" ], "fullName": "Scheduled Draft, MM-T5731 should be able to Delete a scheduled Message", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "failed", "title": "MM-T5731 should be able to Delete a scheduled Message" }, { "ancestorTitles": [ "Scheduled Draft," ], "duration": 10765, "failureDetails": [ { "name": "DetoxRuntimeError" } ], "failureMessages": [ "Test Failed: 10.0sec timeout expired without matching of given matcher: not null\n at ChannelListScreen.toBeVisible (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/screen/channel_list.ts:79:57)\n at Object.<anonymous> (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/scheduled_messages/create_schedule_message.e2e.ts:59:33)\n at Promise.then.completed (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/utils.js:298:28)\n at new Promise (<anonymous>)\n at callAsyncCircusFn (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/utils.js:231:10)\n at _callCircusHook (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:281:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:246:5)\n at _runTestsForDescribeBlock (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:126:9)\n at _runTestsForDescribeBlock (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:121:9)\n at run (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:71:3)\n at runAndTransformResultsToJestFormat (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at jestAdapter (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at runTestInternal (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-runner/build/runTest.js:367:16)\n at runTest (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-runner/build/runTest.js:444:34)" ], "fullName": "Scheduled Draft, MM-T5730 should be able to Send a scheduled Message", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "failed", "title": "MM-T5730 should be able to Send a scheduled Message" }, { "ancestorTitles": [ "Scheduled Draft," ], "duration": 10784, "failureDetails": [ { "name": "DetoxRuntimeError" } ], "failureMessages": [ "Test Failed: 10.0sec timeout expired without matching of given matcher: not null\n at ChannelListScreen.toBeVisible (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/screen/channel_list.ts:79:57)\n at Object.<anonymous> (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/scheduled_messages/create_schedule_message.e2e.ts:59:33)\n at Promise.then.completed (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/utils.js:298:28)\n at new Promise (<anonymous>)\n at callAsyncCircusFn (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/utils.js:231:10)\n at _callCircusHook (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:281:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:246:5)\n at _runTestsForDescribeBlock (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:126:9)\n at _runTestsForDescribeBlock (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:121:9)\n at run (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:71:3)\n at runAndTransformResultsToJestFormat (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at jestAdapter (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at runTestInternal (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-runner/build/runTest.js:367:16)\n at runTest (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-runner/build/runTest.js:444:34)" ], "fullName": "Scheduled Draft, MM-T5720 should be able to Reschedule a scheduled Message", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "failed", "title": "MM-T5720 should be able to Reschedule a scheduled Message" } ], "failureMessage": " ● Scheduled Draft, › MM-T5767 should be able to create a scheduled message under a threaded post\n\n Test Failed: 10.0sec timeout expired without matching of given matcher: not null\n\n \u001b[0m \u001b[90m 48 |\u001b[39m\n \u001b[90m 49 |\u001b[39m toBeVisible \u001b[33m=\u001b[39m \u001b[36masync\u001b[39m () \u001b[33m=>\u001b[39m {\n \u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 50 |\u001b[39m \u001b[36mawait\u001b[39m waitFor(\u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mpostOptionsScreen)\u001b[33m.\u001b[39mtoExist()\u001b[33m.\u001b[39mwithTimeout(timeouts\u001b[33m.\u001b[39m\u001b[33mTEN_SEC\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 51 |\u001b[39m\n \u001b[90m 52 |\u001b[39m \u001b[36mreturn\u001b[39m postOptionsScreen\u001b[33m;\u001b[39m\n \u001b[90m 53 |\u001b[39m }\u001b[33m;\u001b[39m\u001b[0m\n\n at PostOptionsScreen.toBeVisible (support/ui/screen/post_options.ts:50:57)\n at ChannelScreen.openPostOptionsFor (support/ui/screen/channel.ts:202:33)\n at ChannelScreen.openReplyThreadFor (support/ui/screen/channel.ts:207:9)\n at Object.<anonymous> (test/products/channels/scheduled_messages/create_schedule_message.e2e.ts:96:9)\n\n ● Scheduled Draft, › MM-T5731 should be able to Delete a scheduled Message\n\n Test Failed: 10.0sec timeout expired without matching of given matcher: not null\n\n \u001b[0m \u001b[90m 77 |\u001b[39m\n \u001b[90m 78 |\u001b[39m toBeVisible \u001b[33m=\u001b[39m \u001b[36masync\u001b[39m () \u001b[33m=>\u001b[39m {\n \u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 79 |\u001b[39m \u001b[36mawait\u001b[39m waitFor(\u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mchannelListScreen)\u001b[33m.\u001b[39mtoExist()\u001b[33m.\u001b[39mwithTimeout(timeouts\u001b[33m.\u001b[39m\u001b[33mTEN_SEC\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 80 |\u001b[39m\n \u001b[90m 81 |\u001b[39m \u001b[36mreturn\u001b[39m \u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mchannelListScreen\u001b[33m;\u001b[39m\n \u001b[90m 82 |\u001b[39m }\u001b[33m;\u001b[39m\u001b[0m\n\n at ChannelListScreen.toBeVisible (support/ui/screen/channel_list.ts:79:57)\n at Object.<anonymous> (test/products/channels/scheduled_messages/create_schedule_message.e2e.ts:59:33)\n\n ● Scheduled Draft, › MM-T5730 should be able to Send a scheduled Message\n\n Test Failed: 10.0sec timeout expired without matching of given matcher: not null\n\n \u001b[0m \u001b[90m 77 |\u001b[39m\n \u001b[90m 78 |\u001b[39m toBeVisible \u001b[33m=\u001b[39m \u001b[36masync\u001b[39m () \u001b[33m=>\u001b[39m {\n \u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 79 |\u001b[39m \u001b[36mawait\u001b[39m waitFor(\u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mchannelListScreen)\u001b[33m.\u001b[39mtoExist()\u001b[33m.\u001b[39mwithTimeout(timeouts\u001b[33m.\u001b[39m\u001b[33mTEN_SEC\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 80 |\u001b[39m\n \u001b[90m 81 |\u001b[39m \u001b[36mreturn\u001b[39m \u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mchannelListScreen\u001b[33m;\u001b[39m\n \u001b[90m 82 |\u001b[39m }\u001b[33m;\u001b[39m\u001b[0m\n\n at ChannelListScreen.toBeVisible (support/ui/screen/channel_list.ts:79:57)\n at Object.<anonymous> (test/products/channels/scheduled_messages/create_schedule_message.e2e.ts:59:33)\n\n ● Scheduled Draft, › MM-T5720 should be able to Reschedule a scheduled Message\n\n Test Failed: 10.0sec timeout expired without matching of given matcher: not null\n\n \u001b[0m \u001b[90m 77 |\u001b[39m\n \u001b[90m 78 |\u001b[39m toBeVisible \u001b[33m=\u001b[39m \u001b[36masync\u001b[39m () \u001b[33m=>\u001b[39m {\n \u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 79 |\u001b[39m \u001b[36mawait\u001b[39m waitFor(\u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mchannelListScreen)\u001b[33m.\u001b[39mtoExist()\u001b[33m.\u001b[39mwithTimeout(timeouts\u001b[33m.\u001b[39m\u001b[33mTEN_SEC\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 80 |\u001b[39m\n \u001b[90m 81 |\u001b[39m \u001b[36mreturn\u001b[39m \u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mchannelListScreen\u001b[33m;\u001b[39m\n \u001b[90m 82 |\u001b[39m }\u001b[33m;\u001b[39m\u001b[0m\n\n at ChannelListScreen.toBeVisible (support/ui/screen/channel_list.ts:79:57)\n at Object.<anonymous> (test/products/channels/scheduled_messages/create_schedule_message.e2e.ts:59:33)\n\n\n ● Test suite failed to run\n\n Test Failed: 2.0sec timeout expired without matching of given matcher: (view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)\n\n \u001b[0m \u001b[90m 82 |\u001b[39m open \u001b[33m=\u001b[39m \u001b[36masync\u001b[39m () \u001b[33m=>\u001b[39m {\n \u001b[90m 83 |\u001b[39m \u001b[90m// # Open account screen\u001b[39m\n \u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 84 |\u001b[39m \u001b[36mawait\u001b[39m waitFor(\u001b[33mHomeScreen\u001b[39m\u001b[33m.\u001b[39maccountTab)\u001b[33m.\u001b[39mtoBeVisible()\u001b[33m.\u001b[39mwithTimeout(timeouts\u001b[33m.\u001b[39m\u001b[33mTWO_SEC\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 85 |\u001b[39m \u001b[36mawait\u001b[39m \u001b[33mHomeScreen\u001b[39m\u001b[33m.\u001b[39maccountTab\u001b[33m.\u001b[39mtap()\u001b[33m;\u001b[39m\n \u001b[90m 86 |\u001b[39m\n \u001b[90m 87 |\u001b[39m \u001b[36mreturn\u001b[39m \u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mtoBeVisible()\u001b[33m;\u001b[39m\u001b[0m\n\n at AccountScreen.open (support/ui/screen/account.ts:84:60)\n at HomeScreen.logout (support/ui/screen/home.ts:40:29)\n at Object.<anonymous> (test/products/channels/scheduled_messages/create_schedule_message.e2e.ts:64:26)\n", "testExecError": { "message": "", "stack": "Test Failed: 2.0sec timeout expired without matching of given matcher: (view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)\n at AccountScreen.open (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/screen/account.ts:84:60)\n at HomeScreen.logout (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/screen/home.ts:40:29)\n at Object.<anonymous> (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/scheduled_messages/create_schedule_message.e2e.ts:64:26)\n at Promise.then.completed (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/utils.js:298:28)\n at new Promise (<anonymous>)\n at callAsyncCircusFn (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/utils.js:231:10)\n at _callCircusHook (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:281:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTestsForDescribeBlock (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:154:7)\n at _runTestsForDescribeBlock (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:121:9)\n at run (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:71:3)\n at runAndTransformResultsToJestFormat (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at jestAdapter (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at runTestInternal (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-runner/build/runTest.js:367:16)\n at runTest (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-runner/build/runTest.js:444:34)" } }, { "leaks": false, "numFailingTests": 0, "numPassingTests": 1, "numPendingTests": 0, "numTodoTests": 0, "openHandles": [], "perfStats": { "end": 1765990487300, "runtime": 99660, "slow": true, "start": 1765990387640 }, "skipped": false, "snapshot": { "added": 0, "fileDeleted": false, "matched": 0, "unchecked": 0, "uncheckedKeys": [], "unmatched": 0, "updated": 0 }, "testFilePath": "/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/search/cross_team_search.e2e.ts", "testResults": [ { "ancestorTitles": [ "Search - Cross Team Search" ], "duration": 65350, "failureDetails": [], "failureMessages": [], "fullName": "Search - Cross Team Search MM-T5827 - should be able to search messages across multiple teams and navigate to results", "invocations": 1, "location": null, "numPassingAsserts": 3, "retryReasons": [], "status": "passed", "title": "MM-T5827 - should be able to search messages across multiple teams and navigate to results" } ], "failureMessage": null }, { "leaks": false, "numFailingTests": 0, "numPassingTests": 5, "numPendingTests": 0, "numTodoTests": 0, "openHandles": [], "perfStats": { "end": 1765990645579, "runtime": 158110, "slow": true, "start": 1765990487469 }, "skipped": false, "snapshot": { "added": 0, "fileDeleted": false, "matched": 0, "unchecked": 0, "uncheckedKeys": [], "unmatched": 0, "updated": 0 }, "testFilePath": "/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/search/pinned_messages.e2e.ts", "testResults": [ { "ancestorTitles": [ "Search - Pinned Messages" ], "duration": 10096, "failureDetails": [], "failureMessages": [], "fullName": "Search - Pinned Messages MM-T4918_1 - should match elements on pinned messages screen", "invocations": 1, "location": null, "numPassingAsserts": 3, "retryReasons": [], "status": "passed", "title": "MM-T4918_1 - should match elements on pinned messages screen" }, { "ancestorTitles": [ "Search - Pinned Messages" ], "duration": 23605, "failureDetails": [], "failureMessages": [], "fullName": "Search - Pinned Messages MM-T4918_2 - should be able to display a pinned message in pinned messages screen and navigate to message channel", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T4918_2 - should be able to display a pinned message in pinned messages screen and navigate to message channel" }, { "ancestorTitles": [ "Search - Pinned Messages" ], "duration": 34847, "failureDetails": [], "failureMessages": [], "fullName": "Search - Pinned Messages MM-T4918_3 - should be able to edit, reply to, and delete a pinned message from pinned messages screen", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T4918_3 - should be able to edit, reply to, and delete a pinned message from pinned messages screen" }, { "ancestorTitles": [ "Search - Pinned Messages" ], "duration": 21803, "failureDetails": [], "failureMessages": [], "fullName": "Search - Pinned Messages MM-T4918_4 - should be able to unpin a message from pinned messages screen", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T4918_4 - should be able to unpin a message from pinned messages screen" }, { "ancestorTitles": [ "Search - Pinned Messages" ], "duration": 35981, "failureDetails": [], "failureMessages": [], "fullName": "Search - Pinned Messages MM-T4918_5 - should be able to save/unsave a pinned message from pinned messages screen", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T4918_5 - should be able to save/unsave a pinned message from pinned messages screen" } ], "failureMessage": null }, { "leaks": false, "numFailingTests": 0, "numPassingTests": 5, "numPendingTests": 0, "numTodoTests": 0, "openHandles": [], "perfStats": { "end": 1765990784352, "runtime": 138664, "slow": true, "start": 1765990645688 }, "skipped": false, "snapshot": { "added": 0, "fileDeleted": false, "matched": 0, "unchecked": 0, "uncheckedKeys": [], "unmatched": 0, "updated": 0 }, "testFilePath": "/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/search/recent_mentions.e2e.ts", "testResults": [ { "ancestorTitles": [ "Search - Recent Mentions" ], "duration": 1760, "failureDetails": [], "failureMessages": [], "fullName": "Search - Recent Mentions MM-T4909_1 - should match elements on recent mentions screen", "invocations": 1, "location": null, "numPassingAsserts": 3, "retryReasons": [], "status": "passed", "title": "MM-T4909_1 - should match elements on recent mentions screen" }, { "ancestorTitles": [ "Search - Recent Mentions" ], "duration": 20116, "failureDetails": [], "failureMessages": [], "fullName": "Search - Recent Mentions MM-T4909_2 - should be able to display a recent mention in recent mentions screen and navigate to message channel", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T4909_2 - should be able to display a recent mention in recent mentions screen and navigate to message channel" }, { "ancestorTitles": [ "Search - Recent Mentions" ], "duration": 27871, "failureDetails": [], "failureMessages": [], "fullName": "Search - Recent Mentions MM-T4909_3 - should be able to edit, reply to, and delete a recent mention from recent mentions screen", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T4909_3 - should be able to edit, reply to, and delete a recent mention from recent mentions screen" }, { "ancestorTitles": [ "Search - Recent Mentions" ], "duration": 20016, "failureDetails": [], "failureMessages": [], "fullName": "Search - Recent Mentions MM-T4909_4 - should be able to save/unsave a recent mention from recent mentions screen", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T4909_4 - should be able to save/unsave a recent mention from recent mentions screen" }, { "ancestorTitles": [ "Search - Recent Mentions" ], "duration": 35600, "failureDetails": [], "failureMessages": [], "fullName": "Search - Recent Mentions MM-T4909_5 - should be able to pin/unpin a recent mention from recent mentions screen", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T4909_5 - should be able to pin/unpin a recent mention from recent mentions screen" } ], "failureMessage": null }, { "leaks": false, "numFailingTests": 0, "numPassingTests": 5, "numPendingTests": 0, "numTodoTests": 0, "openHandles": [], "perfStats": { "end": 1765990938487, "runtime": 154045, "slow": true, "start": 1765990784442 }, "skipped": false, "snapshot": { "added": 0, "fileDeleted": false, "matched": 0, "unchecked": 0, "uncheckedKeys": [], "unmatched": 0, "updated": 0 }, "testFilePath": "/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/search/saved_messages.e2e.ts", "testResults": [ { "ancestorTitles": [ "Search - Saved Messages" ], "duration": 1773, "failureDetails": [], "failureMessages": [], "fullName": "Search - Saved Messages MM-T4910_1 - should match elements on saved messages screen", "invocations": 1, "location": null, "numPassingAsserts": 3, "retryReasons": [], "status": "passed", "title": "MM-T4910_1 - should match elements on saved messages screen" }, { "ancestorTitles": [ "Search - Saved Messages" ], "duration": 25723, "failureDetails": [], "failureMessages": [], "fullName": "Search - Saved Messages MM-T4910_2 - should be able to display a saved message in saved messages screen and navigate to message channel", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T4910_2 - should be able to display a saved message in saved messages screen and navigate to message channel" }, { "ancestorTitles": [ "Search - Saved Messages" ], "duration": 32707, "failureDetails": [], "failureMessages": [], "fullName": "Search - Saved Messages MM-T4910_3 - should be able to edit, reply to, and delete a saved message from saved messages screen", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T4910_3 - should be able to edit, reply to, and delete a saved message from saved messages screen" }, { "ancestorTitles": [ "Search - Saved Messages" ], "duration": 20461, "failureDetails": [], "failureMessages": [], "fullName": "Search - Saved Messages MM-T4910_4 - should be able to unsave a message from saved messages screen", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T4910_4 - should be able to unsave a message from saved messages screen" }, { "ancestorTitles": [ "Search - Saved Messages" ], "duration": 40183, "failureDetails": [], "failureMessages": [], "fullName": "Search - Saved Messages MM-T4910_5 - should be able to pin/unpin a saved message from saved messages screen", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T4910_5 - should be able to pin/unpin a saved message from saved messages screen" } ], "failureMessage": null }, { "leaks": false, "numFailingTests": 0, "numPassingTests": 12, "numPendingTests": 0, "numTodoTests": 0, "openHandles": [], "perfStats": { "end": 1765991299000, "runtime": 360343, "slow": true, "start": 1765990938657 }, "skipped": false, "snapshot": { "added": 0, "fileDeleted": false, "matched": 0, "unchecked": 0, "uncheckedKeys": [], "unmatched": 0, "updated": 0 }, "testFilePath": "/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/search/search_messages.e2e.ts", "testResults": [ { "ancestorTitles": [ "Search - Search Messages" ], "duration": 2612, "failureDetails": [], "failureMessages": [], "fullName": "Search - Search Messages MM-T5294_1 - should match elements on search messages screen", "invocations": 1, "location": null, "numPassingAsserts": 3, "retryReasons": [], "status": "passed", "title": "MM-T5294_1 - should match elements on search messages screen" }, { "ancestorTitles": [ "Search - Search Messages" ], "duration": 22882, "failureDetails": [], "failureMessages": [], "fullName": "Search - Search Messages MM-T5294_2 - should be able to search messages from a specific user", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T5294_2 - should be able to search messages from a specific user" }, { "ancestorTitles": [ "Search - Search Messages" ], "duration": 21392, "failureDetails": [], "failureMessages": [], "fullName": "Search - Search Messages MM-T5294_3 - should be able to search messages in a specific channel", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T5294_3 - should be able to search messages in a specific channel" }, { "ancestorTitles": [ "Search - Search Messages" ], "duration": 26138, "failureDetails": [], "failureMessages": [], "fullName": "Search - Search Messages MM-T5294_4 - should be able to search messages excluding search terms", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T5294_4 - should be able to search messages excluding search terms" }, { "ancestorTitles": [ "Search - Search Messages" ], "duration": 26075, "failureDetails": [], "failureMessages": [], "fullName": "Search - Search Messages MM-T5294_5 - should be able to search messages with phrases", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T5294_5 - should be able to search messages with phrases" }, { "ancestorTitles": [ "Search - Search Messages" ], "duration": 29674, "failureDetails": [], "failureMessages": [], "fullName": "Search - Search Messages MM-T5294_6 - should be able to search messages using combination of modifiers", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T5294_6 - should be able to search messages using combination of modifiers" }, { "ancestorTitles": [ "Search - Search Messages" ], "duration": 28431, "failureDetails": [], "failureMessages": [], "fullName": "Search - Search Messages MM-T5294_7 - should be able to search messages using recent searches", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T5294_7 - should be able to search messages using recent searches" }, { "ancestorTitles": [ "Search - Search Messages" ], "duration": 23333, "failureDetails": [], "failureMessages": [], "fullName": "Search - Search Messages MM-T5294_8 - should be able to search messages on a another joined team", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T5294_8 - should be able to search messages on a another joined team" }, { "ancestorTitles": [ "Search - Search Messages" ], "duration": 17253, "failureDetails": [], "failureMessages": [], "fullName": "Search - Search Messages MM-T5294_9 - should show empty search results screen when search result is empty", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T5294_9 - should show empty search results screen when search result is empty" }, { "ancestorTitles": [ "Search - Search Messages" ], "duration": 43258, "failureDetails": [], "failureMessages": [], "fullName": "Search - Search Messages MM-T5294_10 - should be able to edit, reply to, and delete a searched message from search results screen", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T5294_10 - should be able to edit, reply to, and delete a searched message from search results screen" }, { "ancestorTitles": [ "Search - Search Messages" ], "duration": 34936, "failureDetails": [], "failureMessages": [], "fullName": "Search - Search Messages MM-T5294_11 - should be able to save/unsave a searched message from search results screen", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T5294_11 - should be able to save/unsave a searched message from search results screen" }, { "ancestorTitles": [ "Search - Search Messages" ], "duration": 50610, "failureDetails": [], "failureMessages": [], "fullName": "Search - Search Messages MM-T5294_12 - should be able to pin/unpin a searched message from search results screen", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T5294_12 - should be able to pin/unpin a searched message from search results screen" } ], "failureMessage": null }, { "leaks": false, "numFailingTests": 0, "numPassingTests": 5, "numPendingTests": 0, "numTodoTests": 0, "openHandles": [], "perfStats": { "end": 1765991332625, "runtime": 33494, "slow": true, "start": 1765991299131 }, "skipped": false, "snapshot": { "added": 0, "fileDeleted": false, "matched": 0, "unchecked": 0, "uncheckedKeys": [], "unmatched": 0, "updated": 0 }, "testFilePath": "/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/server_login/connect_to_server.e2e.ts", "testResults": [ { "ancestorTitles": [ "Server Login - Connect to Server" ], "duration": 3714, "failureDetails": [], "failureMessages": [], "fullName": "Server Login - Connect to Server MM-T4676_1 - should match elements on server screen", "invocations": 1, "location": null, "numPassingAsserts": 3, "retryReasons": [], "status": "passed", "title": "MM-T4676_1 - should match elements on server screen" }, { "ancestorTitles": [ "Server Login - Connect to Server" ], "duration": 1346, "failureDetails": [], "failureMessages": [], "fullName": "Server Login - Connect to Server MM-T4676_2 - should show disabled connect button on empty server url or server display name", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T4676_2 - should show disabled connect button on empty server url or server display name" }, { "ancestorTitles": [ "Server Login - Connect to Server" ], "duration": 3002, "failureDetails": [], "failureMessages": [], "fullName": "Server Login - Connect to Server MM-T4676_3 - should show invalid url error on invalid server url", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T4676_3 - should show invalid url error on invalid server url" }, { "ancestorTitles": [ "Server Login - Connect to Server" ], "duration": 2840, "failureDetails": [], "failureMessages": [], "fullName": "Server Login - Connect to Server MM-T4676_4 - should show connection error on invalid ssl or invalid host", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T4676_4 - should show connection error on invalid ssl or invalid host" }, { "ancestorTitles": [ "Server Login - Connect to Server" ], "duration": 7140, "failureDetails": [], "failureMessages": [], "fullName": "Server Login - Connect to Server MM-T4676_5 - should show login screen on successful connection to server", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T4676_5 - should show login screen on successful connection to server" } ], "failureMessage": null }, { "leaks": false, "numFailingTests": 0, "numPassingTests": 4, "numPendingTests": 0, "numTodoTests": 0, "openHandles": [], "perfStats": { "end": 1765991384374, "runtime": 51652, "slow": true, "start": 1765991332722 }, "skipped": false, "snapshot": { "added": 0, "fileDeleted": false, "matched": 0, "unchecked": 0, "uncheckedKeys": [], "unmatched": 0, "updated": 0 }, "testFilePath": "/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/server_login/login_by_email.e2e.ts", "testResults": [ { "ancestorTitles": [ "Server Login - Login by Email" ], "duration": 4515, "failureDetails": [], "failureMessages": [], "fullName": "Server Login - Login by Email MM-T4677_1 - should match elements on login screen", "invocations": 1, "location": null, "numPassingAsserts": 3, "retryReasons": [], "status": "passed", "title": "MM-T4677_1 - should match elements on login screen" }, { "ancestorTitles": [ "Server Login - Login by Email" ], "duration": 7288, "failureDetails": [], "failureMessages": [], "fullName": "Server Login - Login by Email MM-T4677_2 - should show disabled signin button on empty username or password", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T4677_2 - should show disabled signin button on empty username or password" }, { "ancestorTitles": [ "Server Login - Login by Email" ], "duration": 7721, "failureDetails": [], "failureMessages": [], "fullName": "Server Login - Login by Email MM-T4677_3 - should show incorrect combination error on incorrect credentials", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T4677_3 - should show incorrect combination error on incorrect credentials" }, { "ancestorTitles": [ "Server Login - Login by Email" ], "duration": 10210, "failureDetails": [], "failureMessages": [], "fullName": "Server Login - Login by Email MM-T4677_4 - should show channel list screen on successful login", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T4677_4 - should show channel list screen on successful login" } ], "failureMessage": null }, { "leaks": false, "numFailingTests": 0, "numPassingTests": 3, "numPendingTests": 0, "numTodoTests": 0, "openHandles": [], "perfStats": { "end": 1765990197937, "runtime": 146747, "slow": true, "start": 1765990051190 }, "skipped": false, "snapshot": { "added": 0, "fileDeleted": false, "matched": 0, "unchecked": 0, "uncheckedKeys": [], "unmatched": 0, "updated": 0 }, "testFilePath": "/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/messaging/message_delete.e2e.ts", "testResults": [ { "ancestorTitles": [ "Messaging - Message Delete" ], "duration": 19445, "failureDetails": [], "failureMessages": [], "fullName": "Messaging - Message Delete MM-T4784_1 - should be able to delete a post message and confirm", "invocations": 1, "location": null, "numPassingAsserts": 3, "retryReasons": [], "status": "passed", "title": "MM-T4784_1 - should be able to delete a post message and confirm" }, { "ancestorTitles": [ "Messaging - Message Delete" ], "duration": 19671, "failureDetails": [], "failureMessages": [], "fullName": "Messaging - Message Delete MM-T4784_2 - should be able to delete a post message and cancel", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T4784_2 - should be able to delete a post message and cancel" }, { "ancestorTitles": [ "Messaging - Message Delete" ], "duration": 23146, "failureDetails": [], "failureMessages": [], "fullName": "Messaging - Message Delete MM-T4784_3 - should be able to delete a post message from reply thread", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T4784_3 - should be able to delete a post message from reply thread" } ], "failureMessage": null }, { "leaks": false, "numFailingTests": 1, "numPassingTests": 3, "numPendingTests": 0, "numTodoTests": 0, "openHandles": [], "perfStats": { "end": 1765990282904, "runtime": 84806, "slow": true, "start": 1765990198098 }, "skipped": false, "snapshot": { "added": 0, "fileDeleted": false, "matched": 0, "unchecked": 0, "uncheckedKeys": [], "unmatched": 0, "updated": 0 }, "testFilePath": "/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/messaging/message_draft.e2e.ts", "testResults": [ { "ancestorTitles": [ "Messaging - Message Draft" ], "duration": 21487, "failureDetails": [], "failureMessages": [], "fullName": "Messaging - Message Draft MM-T4781_1 - should be able to create a message draft", "invocations": 1, "location": null, "numPassingAsserts": 3, "retryReasons": [], "status": "passed", "title": "MM-T4781_1 - should be able to create a message draft" }, { "ancestorTitles": [ "Messaging - Message Draft" ], "duration": 8678, "failureDetails": [], "failureMessages": [], "fullName": "Messaging - Message Draft MM-T4781_2 - should save message draft when app is closed then re-opened", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T4781_2 - should save message draft when app is closed then re-opened" }, { "ancestorTitles": [ "Messaging - Message Draft" ], "duration": 9802, "failureDetails": [], "failureMessages": [], "fullName": "Messaging - Message Draft MM-T4781_3 - should show character count warning when message exceeds character limit", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T4781_3 - should show character count warning when message exceeds character limit" }, { "ancestorTitles": [ "Messaging - Message Draft" ], "duration": 10620, "failureDetails": [ { "name": "DetoxRuntimeError" } ], "failureMessages": [ "Test Failed: 10.0sec timeout expired without matching of given matcher: not null\n at ChannelListScreen.toBeVisible (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/screen/channel_list.ts:79:57)\n at Object.<anonymous> (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/messaging/message_draft.e2e.ts:47:33)\n at Promise.then.completed (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/utils.js:298:28)\n at new Promise (<anonymous>)\n at callAsyncCircusFn (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/utils.js:231:10)\n at _callCircusHook (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:281:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:246:5)\n at _runTestsForDescribeBlock (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:126:9)\n at _runTestsForDescribeBlock (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:121:9)\n at run (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:71:3)\n at runAndTransformResultsToJestFormat (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at jestAdapter (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at runTestInternal (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-runner/build/runTest.js:367:16)\n at runTest (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-runner/build/runTest.js:444:34)" ], "fullName": "Messaging - Message Draft MM-T4781_4 - should be able to create a message draft from reply thread", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "failed", "title": "MM-T4781_4 - should be able to create a message draft from reply thread" } ], "failureMessage": " ● Messaging - Message Draft › MM-T4781_4 - should be able to create a message draft from reply thread\n\n Test Failed: 10.0sec timeout expired without matching of given matcher: not null\n\n \u001b[0m \u001b[90m 77 |\u001b[39m\n \u001b[90m 78 |\u001b[39m toBeVisible \u001b[33m=\u001b[39m \u001b[36masync\u001b[39m () \u001b[33m=>\u001b[39m {\n \u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 79 |\u001b[39m \u001b[36mawait\u001b[39m waitFor(\u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mchannelListScreen)\u001b[33m.\u001b[39mtoExist()\u001b[33m.\u001b[39mwithTimeout(timeouts\u001b[33m.\u001b[39m\u001b[33mTEN_SEC\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 80 |\u001b[39m\n \u001b[90m 81 |\u001b[39m \u001b[36mreturn\u001b[39m \u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mchannelListScreen\u001b[33m;\u001b[39m\n \u001b[90m 82 |\u001b[39m }\u001b[33m;\u001b[39m\u001b[0m\n\n at ChannelListScreen.toBeVisible (support/ui/screen/channel_list.ts:79:57)\n at Object.<anonymous> (test/products/channels/messaging/message_draft.e2e.ts:47:33)\n\n\n ● Test suite failed to run\n\n Test Failed: 2.0sec timeout expired without matching of given matcher: (view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)\n\n \u001b[0m \u001b[90m 82 |\u001b[39m open \u001b[33m=\u001b[39m \u001b[36masync\u001b[39m () \u001b[33m=>\u001b[39m {\n \u001b[90m 83 |\u001b[39m \u001b[90m// # Open account screen\u001b[39m\n \u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 84 |\u001b[39m \u001b[36mawait\u001b[39m waitFor(\u001b[33mHomeScreen\u001b[39m\u001b[33m.\u001b[39maccountTab)\u001b[33m.\u001b[39mtoBeVisible()\u001b[33m.\u001b[39mwithTimeout(timeouts\u001b[33m.\u001b[39m\u001b[33mTWO_SEC\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 85 |\u001b[39m \u001b[36mawait\u001b[39m \u001b[33mHomeScreen\u001b[39m\u001b[33m.\u001b[39maccountTab\u001b[33m.\u001b[39mtap()\u001b[33m;\u001b[39m\n \u001b[90m 86 |\u001b[39m\n \u001b[90m 87 |\u001b[39m \u001b[36mreturn\u001b[39m \u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mtoBeVisible()\u001b[33m;\u001b[39m\u001b[0m\n\n at AccountScreen.open (support/ui/screen/account.ts:84:60)\n at HomeScreen.logout (support/ui/screen/home.ts:40:29)\n at Object.<anonymous> (test/products/channels/messaging/message_draft.e2e.ts:52:26)\n", "testExecError": { "message": "", "stack": "Test Failed: 2.0sec timeout expired without matching of given matcher: (view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)\n at AccountScreen.open (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/screen/account.ts:84:60)\n at HomeScreen.logout (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/screen/home.ts:40:29)\n at Object.<anonymous> (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/messaging/message_draft.e2e.ts:52:26)\n at Promise.then.completed (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/utils.js:298:28)\n at new Promise (<anonymous>)\n at callAsyncCircusFn (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/utils.js:231:10)\n at _callCircusHook (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:281:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTestsForDescribeBlock (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:154:7)\n at _runTestsForDescribeBlock (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:121:9)\n at run (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:71:3)\n at runAndTransformResultsToJestFormat (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at jestAdapter (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at runTestInternal (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-runner/build/runTest.js:367:16)\n at runTest (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-runner/build/runTest.js:444:34)" } }, { "leaks": false, "numFailingTests": 3, "numPassingTests": 0, "numPendingTests": 0, "numTodoTests": 0, "openHandles": [], "perfStats": { "end": 1765990361752, "runtime": 78737, "slow": true, "start": 1765990283015 }, "skipped": false, "snapshot": { "added": 0, "fileDeleted": false, "matched": 0, "unchecked": 0, "uncheckedKeys": [], "unmatched": 0, "updated": 0 }, "testFilePath": "/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/messaging/message_edit.e2e.ts", "testResults": [ { "ancestorTitles": [ "Messaging - Message Edit" ], "duration": 22650, "failureDetails": [ { "name": "DetoxRuntimeError" } ], "failureMessages": [ "Test Failed: 10.0sec timeout expired without matching of given matcher: not null\n at PostOptionsScreen.toBeVisible (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/screen/post_options.ts:50:57)\n at ChannelScreen.openPostOptionsFor (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/screen/channel.ts:202:33)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at Object.<anonymous> (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/messaging/message_edit.e2e.ts:67:9)" ], "fullName": "Messaging - Message Edit MM-T4783_1 - should be able to edit a post message and save", "invocations": 1, "location": null, "numPassingAsserts": 3, "retryReasons": [], "status": "failed", "title": "MM-T4783_1 - should be able to edit a post message and save" }, { "ancestorTitles": [ "Messaging - Message Edit" ], "duration": 10881, "failureDetails": [ { "name": "DetoxRuntimeError" } ], "failureMessages": [ "Test Failed: 10.0sec timeout expired without matching of given matcher: not null\n at ChannelListScreen.toBeVisible (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/screen/channel_list.ts:79:57)\n at Object.<anonymous> (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/messaging/message_edit.e2e.ts:47:33)\n at Promise.then.completed (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/utils.js:298:28)\n at new Promise (<anonymous>)\n at callAsyncCircusFn (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/utils.js:231:10)\n at _callCircusHook (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:281:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:246:5)\n at _runTestsForDescribeBlock (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:126:9)\n at _runTestsForDescribeBlock (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:121:9)\n at run (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:71:3)\n at runAndTransformResultsToJestFormat (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at jestAdapter (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at runTestInternal (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-runner/build/runTest.js:367:16)\n at runTest (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-runner/build/runTest.js:444:34)" ], "fullName": "Messaging - Message Edit MM-T4783_2 - should be able to edit a post message and cancel", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "failed", "title": "MM-T4783_2 - should be able to edit a post message and cancel" }, { "ancestorTitles": [ "Messaging - Message Edit" ], "duration": 10739, "failureDetails": [ { "name": "DetoxRuntimeError" } ], "failureMessages": [ "Test Failed: 10.0sec timeout expired without matching of given matcher: not null\n at ChannelListScreen.toBeVisible (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/screen/channel_list.ts:79:57)\n at Object.<anonymous> (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/messaging/message_edit.e2e.ts:47:33)\n at Promise.then.completed (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/utils.js:298:28)\n at new Promise (<anonymous>)\n at callAsyncCircusFn (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/utils.js:231:10)\n at _callCircusHook (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:281:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:246:5)\n at _runTestsForDescribeBlock (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:126:9)\n at _runTestsForDescribeBlock (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:121:9)\n at run (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:71:3)\n at runAndTransformResultsToJestFormat (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at jestAdapter (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at runTestInternal (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-runner/build/runTest.js:367:16)\n at runTest (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-runner/build/runTest.js:444:34)" ], "fullName": "Messaging - Message Edit MM-T4783_3 - should be able to edit a post message from reply thread", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "failed", "title": "MM-T4783_3 - should be able to edit a post message from reply thread" } ], "failureMessage": " ● Messaging - Message Edit › MM-T4783_1 - should be able to edit a post message and save\n\n Test Failed: 10.0sec timeout expired without matching of given matcher: not null\n\n \u001b[0m \u001b[90m 48 |\u001b[39m\n \u001b[90m 49 |\u001b[39m toBeVisible \u001b[33m=\u001b[39m \u001b[36masync\u001b[39m () \u001b[33m=>\u001b[39m {\n \u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 50 |\u001b[39m \u001b[36mawait\u001b[39m waitFor(\u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mpostOptionsScreen)\u001b[33m.\u001b[39mtoExist()\u001b[33m.\u001b[39mwithTimeout(timeouts\u001b[33m.\u001b[39m\u001b[33mTEN_SEC\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 51 |\u001b[39m\n \u001b[90m 52 |\u001b[39m \u001b[36mreturn\u001b[39m postOptionsScreen\u001b[33m;\u001b[39m\n \u001b[90m 53 |\u001b[39m }\u001b[33m;\u001b[39m\u001b[0m\n\n at PostOptionsScreen.toBeVisible (support/ui/screen/post_options.ts:50:57)\n at ChannelScreen.openPostOptionsFor (support/ui/screen/channel.ts:202:33)\n at Object.<anonymous> (test/products/channels/messaging/message_edit.e2e.ts:67:9)\n\n ● Messaging - Message Edit › MM-T4783_2 - should be able to edit a post message and cancel\n\n Test Failed: 10.0sec timeout expired without matching of given matcher: not null\n\n \u001b[0m \u001b[90m 77 |\u001b[39m\n \u001b[90m 78 |\u001b[39m toBeVisible \u001b[33m=\u001b[39m \u001b[36masync\u001b[39m () \u001b[33m=>\u001b[39m {\n \u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 79 |\u001b[39m \u001b[36mawait\u001b[39m waitFor(\u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mchannelListScreen)\u001b[33m.\u001b[39mtoExist()\u001b[33m.\u001b[39mwithTimeout(timeouts\u001b[33m.\u001b[39m\u001b[33mTEN_SEC\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 80 |\u001b[39m\n \u001b[90m 81 |\u001b[39m \u001b[36mreturn\u001b[39m \u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mchannelListScreen\u001b[33m;\u001b[39m\n \u001b[90m 82 |\u001b[39m }\u001b[33m;\u001b[39m\u001b[0m\n\n at ChannelListScreen.toBeVisible (support/ui/screen/channel_list.ts:79:57)\n at Object.<anonymous> (test/products/channels/messaging/message_edit.e2e.ts:47:33)\n\n ● Messaging - Message Edit › MM-T4783_3 - should be able to edit a post message from reply thread\n\n Test Failed: 10.0sec timeout expired without matching of given matcher: not null\n\n \u001b[0m \u001b[90m 77 |\u001b[39m\n \u001b[90m 78 |\u001b[39m toBeVisible \u001b[33m=\u001b[39m \u001b[36masync\u001b[39m () \u001b[33m=>\u001b[39m {\n \u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 79 |\u001b[39m \u001b[36mawait\u001b[39m waitFor(\u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mchannelListScreen)\u001b[33m.\u001b[39mtoExist()\u001b[33m.\u001b[39mwithTimeout(timeouts\u001b[33m.\u001b[39m\u001b[33mTEN_SEC\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 80 |\u001b[39m\n \u001b[90m 81 |\u001b[39m \u001b[36mreturn\u001b[39m \u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mchannelListScreen\u001b[33m;\u001b[39m\n \u001b[90m 82 |\u001b[39m }\u001b[33m;\u001b[39m\u001b[0m\n\n at ChannelListScreen.toBeVisible (support/ui/screen/channel_list.ts:79:57)\n at Object.<anonymous> (test/products/channels/messaging/message_edit.e2e.ts:47:33)\n\n\n ● Test suite failed to run\n\n Test Failed: 2.0sec timeout expired without matching of given matcher: (view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)\n\n \u001b[0m \u001b[90m 82 |\u001b[39m open \u001b[33m=\u001b[39m \u001b[36masync\u001b[39m () \u001b[33m=>\u001b[39m {\n \u001b[90m 83 |\u001b[39m \u001b[90m// # Open account screen\u001b[39m\n \u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 84 |\u001b[39m \u001b[36mawait\u001b[39m waitFor(\u001b[33mHomeScreen\u001b[39m\u001b[33m.\u001b[39maccountTab)\u001b[33m.\u001b[39mtoBeVisible()\u001b[33m.\u001b[39mwithTimeout(timeouts\u001b[33m.\u001b[39m\u001b[33mTWO_SEC\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 85 |\u001b[39m \u001b[36mawait\u001b[39m \u001b[33mHomeScreen\u001b[39m\u001b[33m.\u001b[39maccountTab\u001b[33m.\u001b[39mtap()\u001b[33m;\u001b[39m\n \u001b[90m 86 |\u001b[39m\n \u001b[90m 87 |\u001b[39m \u001b[36mreturn\u001b[39m \u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mtoBeVisible()\u001b[33m;\u001b[39m\u001b[0m\n\n at AccountScreen.open (support/ui/screen/account.ts:84:60)\n at HomeScreen.logout (support/ui/screen/home.ts:40:29)\n at Object.<anonymous> (test/products/channels/messaging/message_edit.e2e.ts:52:26)\n", "testExecError": { "message": "", "stack": "Test Failed: 2.0sec timeout expired without matching of given matcher: (view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)\n at AccountScreen.open (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/screen/account.ts:84:60)\n at HomeScreen.logout (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/screen/home.ts:40:29)\n at Object.<anonymous> (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/messaging/message_edit.e2e.ts:52:26)\n at Promise.then.completed (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/utils.js:298:28)\n at new Promise (<anonymous>)\n at callAsyncCircusFn (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/utils.js:231:10)\n at _callCircusHook (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:281:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTestsForDescribeBlock (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:154:7)\n at _runTestsForDescribeBlock (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:121:9)\n at run (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:71:3)\n at runAndTransformResultsToJestFormat (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at jestAdapter (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at runTestInternal (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-runner/build/runTest.js:367:16)\n at runTest (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-runner/build/runTest.js:444:34)" } }, { "leaks": false, "numFailingTests": 0, "numPassingTests": 6, "numPendingTests": 0, "numTodoTests": 0, "openHandles": [], "perfStats": { "end": 1765990486391, "runtime": 124527, "slow": true, "start": 1765990361864 }, "skipped": false, "snapshot": { "added": 0, "fileDeleted": false, "matched": 0, "unchecked": 0, "uncheckedKeys": [], "unmatched": 0, "updated": 0 }, "testFilePath": "/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/messaging/message_local_drafts.e2e.ts", "testResults": [ { "ancestorTitles": [ "Messaging - Message Draft" ], "duration": 16380, "failureDetails": [], "failureMessages": [], "fullName": "Messaging - Message Draft MM-T5637 should be able to send the draft message from Draft screen", "invocations": 1, "location": null, "numPassingAsserts": 3, "retryReasons": [], "status": "passed", "title": "MM-T5637 should be able to send the draft message from Draft screen" }, { "ancestorTitles": [ "Messaging - Message Draft" ], "duration": 13290, "failureDetails": [], "failureMessages": [], "fullName": "Messaging - Message Draft MM-T5638 should be able to swipe left and delete a draft message", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T5638 should be able to swipe left and delete a draft message" }, { "ancestorTitles": [ "Messaging - Message Draft" ], "duration": 13312, "failureDetails": [], "failureMessages": [], "fullName": "Messaging - Message Draft MM-T5638 should be able to delete a draft message from long press Draft actions", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T5638 should be able to delete a draft message from long press Draft actions" }, { "ancestorTitles": [ "Messaging - Message Draft" ], "duration": 19519, "failureDetails": [], "failureMessages": [], "fullName": "Messaging - Message Draft MM-T5636 should be able to Edit a draft message", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T5636 should be able to Edit a draft message" }, { "ancestorTitles": [ "Messaging - Message Draft" ], "duration": 16281, "failureDetails": [], "failureMessages": [], "fullName": "Messaging - Message Draft MM-T5668 should be able to verify drafts tab shows message priority \"Important\" and request acknowledgement", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T5668 should be able to verify drafts tab shows message priority \"Important\" and request acknowledgement" }, { "ancestorTitles": [ "Messaging - Message Draft" ], "duration": 13377, "failureDetails": [], "failureMessages": [], "fullName": "Messaging - Message Draft MM-T5668 should be able to verify drafts tab shows message priority \"Urgent\" and persistent notification", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T5668 should be able to verify drafts tab shows message priority \"Urgent\" and persistent notification" } ], "failureMessage": null }, { "leaks": false, "numFailingTests": 0, "numPassingTests": 6, "numPendingTests": 0, "numTodoTests": 0, "openHandles": [], "perfStats": { "end": 1765990733815, "runtime": 247312, "slow": true, "start": 1765990486503 }, "skipped": false, "snapshot": { "added": 0, "fileDeleted": false, "matched": 0, "unchecked": 0, "uncheckedKeys": [], "unmatched": 0, "updated": 0 }, "testFilePath": "/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/messaging/message_permalink.e2e.ts", "testResults": [ { "ancestorTitles": [ "Messaging - Message Permalink Preview" ], "duration": 18464, "failureDetails": [], "failureMessages": [], "fullName": "Messaging - Message Permalink Preview MM-T4877_1 - should render permalink preview modal when posting a message with copied permalink", "invocations": 1, "location": null, "numPassingAsserts": 3, "retryReasons": [], "status": "passed", "title": "MM-T4877_1 - should render permalink preview modal when posting a message with copied permalink" }, { "ancestorTitles": [ "Messaging - Message Permalink Preview" ], "duration": 26814, "failureDetails": [], "failureMessages": [], "fullName": "Messaging - Message Permalink Preview MM-T4877_2 - should copy link and create permalink preview in different channel", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T4877_2 - should copy link and create permalink preview in different channel" }, { "ancestorTitles": [ "Messaging - Message Permalink Preview" ], "duration": 34034, "failureDetails": [], "failureMessages": [], "fullName": "Messaging - Message Permalink Preview MM-T4877_3 - should navigate to original post when tapping on permalink preview", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T4877_3 - should navigate to original post when tapping on permalink preview" }, { "ancestorTitles": [ "Messaging - Message Permalink Preview" ], "duration": 46428, "failureDetails": [], "failureMessages": [], "fullName": "Messaging - Message Permalink Preview MM-T4877_4 - should update permalink preview when original post is edited", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T4877_4 - should update permalink preview when original post is edited" }, { "ancestorTitles": [ "Messaging - Message Permalink Preview" ], "duration": 27251, "failureDetails": [], "failureMessages": [], "fullName": "Messaging - Message Permalink Preview MM-T4877_6 - should handle permalink preview with long message content", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T4877_6 - should handle permalink preview with long message content" }, { "ancestorTitles": [ "Messaging - Message Permalink Preview" ], "duration": 60881, "failureDetails": [], "failureMessages": [], "fullName": "Messaging - Message Permalink Preview MM-T4877_7 - should handle permalink preview when original post is deleted", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T4877_7 - should handle permalink preview when original post is deleted" } ], "failureMessage": null }, { "leaks": false, "numFailingTests": 0, "numPassingTests": 2, "numPendingTests": 0, "numTodoTests": 0, "openHandles": [], "perfStats": { "end": 1765990793080, "runtime": 59112, "slow": true, "start": 1765990733968 }, "skipped": false, "snapshot": { "added": 0, "fileDeleted": false, "matched": 0, "unchecked": 0, "uncheckedKeys": [], "unmatched": 0, "updated": 0 }, "testFilePath": "/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/messaging/message_post.e2e.ts", "testResults": [ { "ancestorTitles": [ "Messaging - Message Post" ], "duration": 11232, "failureDetails": [], "failureMessages": [], "fullName": "Messaging - Message Post MM-T4782_1 - should be able to post a message when send button is tapped", "invocations": 1, "location": null, "numPassingAsserts": 3, "retryReasons": [], "status": "passed", "title": "MM-T4782_1 - should be able to post a message when send button is tapped" }, { "ancestorTitles": [ "Messaging - Message Post" ], "duration": 14875, "failureDetails": [], "failureMessages": [], "fullName": "Messaging - Message Post MM-T4782_2 - should be able to post a long message", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T4782_2 - should be able to post a long message" } ], "failureMessage": null }, { "leaks": false, "numFailingTests": 0, "numPassingTests": 3, "numPendingTests": 0, "numTodoTests": 0, "openHandles": [], "perfStats": { "end": 1765990878988, "runtime": 85824, "slow": true, "start": 1765990793164 }, "skipped": false, "snapshot": { "added": 0, "fileDeleted": false, "matched": 0, "unchecked": 0, "uncheckedKeys": [], "unmatched": 0, "updated": 0 }, "testFilePath": "/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/messaging/message_reply.e2e.ts", "testResults": [ { "ancestorTitles": [ "Messaging - Message Reply" ], "duration": 22405, "failureDetails": [], "failureMessages": [], "fullName": "Messaging - Message Reply MM-T4785_1 - should be able to reply to a post via post options reply option", "invocations": 1, "location": null, "numPassingAsserts": 3, "retryReasons": [], "status": "passed", "title": "MM-T4785_1 - should be able to reply to a post via post options reply option" }, { "ancestorTitles": [ "Messaging - Message Reply" ], "duration": 12279, "failureDetails": [], "failureMessages": [], "fullName": "Messaging - Message Reply MM-T4785_2 - should be able to open reply thread by tapping on the post", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T4785_2 - should be able to open reply thread by tapping on the post" }, { "ancestorTitles": [ "Messaging - Message Reply" ], "duration": 17885, "failureDetails": [], "failureMessages": [], "fullName": "Messaging - Message Reply MM-T4785_3 - should not have reply option available on reply thread post options", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T4785_3 - should not have reply option available on reply thread post options" } ], "failureMessage": null }, { "leaks": false, "numFailingTests": 4, "numPassingTests": 0, "numPendingTests": 0, "numTodoTests": 0, "openHandles": [], "perfStats": { "end": 1765990959268, "runtime": 80157, "slow": true, "start": 1765990879111 }, "skipped": false, "snapshot": { "added": 0, "fileDeleted": false, "matched": 0, "unchecked": 0, "uncheckedKeys": [], "unmatched": 0, "updated": 0 }, "testFilePath": "/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/messaging/permalink.e2e.ts", "testResults": [ { "ancestorTitles": [ "Messaging - Permalink" ], "duration": 12886, "failureDetails": [ { "name": "DetoxRuntimeError" } ], "failureMessages": [ "Test Failed: '(view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)' doesn't match the selected view.\nExpected: (view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)\n Got: was null\n\n at PermalinkScreen.toBeVisible (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/screen/permalink.ts:32:44)\n at expectPermalinkTargetMessage (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/messaging/permalink.e2e.ts:69:9)\n at Object.<anonymous> (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/messaging/permalink.e2e.ts:92:9)" ], "fullName": "Messaging - Permalink MM-T4876_1 - should be able to jump to target public channel post by tapping on permalink with team name", "invocations": 1, "location": null, "numPassingAsserts": 3, "retryReasons": [], "status": "failed", "title": "MM-T4876_1 - should be able to jump to target public channel post by tapping on permalink with team name" }, { "ancestorTitles": [ "Messaging - Permalink" ], "duration": 10750, "failureDetails": [ { "name": "DetoxRuntimeError" } ], "failureMessages": [ "Test Failed: 10.0sec timeout expired without matching of given matcher: not null\n at ChannelListScreen.toBeVisible (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/screen/channel_list.ts:79:57)\n at Object.<anonymous> (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/messaging/permalink.e2e.ts:51:33)\n at Promise.then.completed (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/utils.js:298:28)\n at new Promise (<anonymous>)\n at callAsyncCircusFn (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/utils.js:231:10)\n at _callCircusHook (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:281:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:246:5)\n at _runTestsForDescribeBlock (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:126:9)\n at _runTestsForDescribeBlock (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:121:9)\n at run (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:71:3)\n at runAndTransformResultsToJestFormat (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at jestAdapter (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at runTestInternal (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-runner/build/runTest.js:367:16)\n at runTest (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-runner/build/runTest.js:444:34)" ], "fullName": "Messaging - Permalink MM-T4876_2 - should be able to jump to target public channel post by tapping on permalink with _redirect", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "failed", "title": "MM-T4876_2 - should be able to jump to target public channel post by tapping on permalink with _redirect" }, { "ancestorTitles": [ "Messaging - Permalink" ], "duration": 10814, "failureDetails": [ { "name": "DetoxRuntimeError" } ], "failureMessages": [ "Test Failed: 10.0sec timeout expired without matching of given matcher: not null\n at ChannelListScreen.toBeVisible (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/screen/channel_list.ts:79:57)\n at Object.<anonymous> (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/messaging/permalink.e2e.ts:51:33)\n at Promise.then.completed (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/utils.js:298:28)\n at new Promise (<anonymous>)\n at callAsyncCircusFn (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/utils.js:231:10)\n at _callCircusHook (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:281:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:246:5)\n at _runTestsForDescribeBlock (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:126:9)\n at _runTestsForDescribeBlock (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:121:9)\n at run (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:71:3)\n at runAndTransformResultsToJestFormat (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at jestAdapter (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at runTestInternal (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-runner/build/runTest.js:367:16)\n at runTest (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-runner/build/runTest.js:444:34)" ], "fullName": "Messaging - Permalink MM-T4876_3 - should be able to jump to target DM post by tapping on permalink with team name", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "failed", "title": "MM-T4876_3 - should be able to jump to target DM post by tapping on permalink with team name" }, { "ancestorTitles": [ "Messaging - Permalink" ], "duration": 10618, "failureDetails": [ { "name": "DetoxRuntimeError" } ], "failureMessages": [ "Test Failed: 10.0sec timeout expired without matching of given matcher: not null\n at ChannelListScreen.toBeVisible (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/screen/channel_list.ts:79:57)\n at Object.<anonymous> (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/messaging/permalink.e2e.ts:51:33)\n at Promise.then.completed (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/utils.js:298:28)\n at new Promise (<anonymous>)\n at callAsyncCircusFn (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/utils.js:231:10)\n at _callCircusHook (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:281:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:246:5)\n at _runTestsForDescribeBlock (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:126:9)\n at _runTestsForDescribeBlock (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:121:9)\n at run (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:71:3)\n at runAndTransformResultsToJestFormat (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at jestAdapter (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at runTestInternal (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-runner/build/runTest.js:367:16)\n at runTest (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-runner/build/runTest.js:444:34)" ], "fullName": "Messaging - Permalink MM-T4876_4 - should be able to jump to target DM post by tapping on permalink with _redirect", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "failed", "title": "MM-T4876_4 - should be able to jump to target DM post by tapping on permalink with _redirect" } ], "failureMessage": " ● Messaging - Permalink › MM-T4876_1 - should be able to jump to target public channel post by tapping on permalink with team name\n\n Test Failed: '(view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)' doesn't match the selected view.\n Expected: (view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)\n Got: was null\n\n \u001b[0m \u001b[90m 30 |\u001b[39m toBeVisible \u001b[33m=\u001b[39m \u001b[36masync\u001b[39m () \u001b[33m=>\u001b[39m {\n \u001b[90m 31 |\u001b[39m \u001b[36mawait\u001b[39m wait(timeouts\u001b[33m.\u001b[39m\u001b[33mONE_SEC\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 32 |\u001b[39m \u001b[36mawait\u001b[39m expect(\u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mpermalinkScreen)\u001b[33m.\u001b[39mtoBeVisible()\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 33 |\u001b[39m\n \u001b[90m 34 |\u001b[39m \u001b[36mreturn\u001b[39m \u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mpermalinkScreen\u001b[33m;\u001b[39m\n \u001b[90m 35 |\u001b[39m }\u001b[33m;\u001b[39m\u001b[0m\n\n at PermalinkScreen.toBeVisible (support/ui/screen/permalink.ts:32:44)\n at expectPermalinkTargetMessage (test/products/channels/messaging/permalink.e2e.ts:69:9)\n at Object.<anonymous> (test/products/channels/messaging/permalink.e2e.ts:92:9)\n\n ● Messaging - Permalink › MM-T4876_2 - should be able to jump to target public channel post by tapping on permalink with _redirect\n\n Test Failed: 10.0sec timeout expired without matching of given matcher: not null\n\n \u001b[0m \u001b[90m 77 |\u001b[39m\n \u001b[90m 78 |\u001b[39m toBeVisible \u001b[33m=\u001b[39m \u001b[36masync\u001b[39m () \u001b[33m=>\u001b[39m {\n \u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 79 |\u001b[39m \u001b[36mawait\u001b[39m waitFor(\u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mchannelListScreen)\u001b[33m.\u001b[39mtoExist()\u001b[33m.\u001b[39mwithTimeout(timeouts\u001b[33m.\u001b[39m\u001b[33mTEN_SEC\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 80 |\u001b[39m\n \u001b[90m 81 |\u001b[39m \u001b[36mreturn\u001b[39m \u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mchannelListScreen\u001b[33m;\u001b[39m\n \u001b[90m 82 |\u001b[39m }\u001b[33m;\u001b[39m\u001b[0m\n\n at ChannelListScreen.toBeVisible (support/ui/screen/channel_list.ts:79:57)\n at Object.<anonymous> (test/products/channels/messaging/permalink.e2e.ts:51:33)\n\n ● Messaging - Permalink › MM-T4876_3 - should be able to jump to target DM post by tapping on permalink with team name\n\n Test Failed: 10.0sec timeout expired without matching of given matcher: not null\n\n \u001b[0m \u001b[90m 77 |\u001b[39m\n \u001b[90m 78 |\u001b[39m toBeVisible \u001b[33m=\u001b[39m \u001b[36masync\u001b[39m () \u001b[33m=>\u001b[39m {\n \u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 79 |\u001b[39m \u001b[36mawait\u001b[39m waitFor(\u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mchannelListScreen)\u001b[33m.\u001b[39mtoExist()\u001b[33m.\u001b[39mwithTimeout(timeouts\u001b[33m.\u001b[39m\u001b[33mTEN_SEC\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 80 |\u001b[39m\n \u001b[90m 81 |\u001b[39m \u001b[36mreturn\u001b[39m \u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mchannelListScreen\u001b[33m;\u001b[39m\n \u001b[90m 82 |\u001b[39m }\u001b[33m;\u001b[39m\u001b[0m\n\n at ChannelListScreen.toBeVisible (support/ui/screen/channel_list.ts:79:57)\n at Object.<anonymous> (test/products/channels/messaging/permalink.e2e.ts:51:33)\n\n ● Messaging - Permalink › MM-T4876_4 - should be able to jump to target DM post by tapping on permalink with _redirect\n\n Test Failed: 10.0sec timeout expired without matching of given matcher: not null\n\n \u001b[0m \u001b[90m 77 |\u001b[39m\n \u001b[90m 78 |\u001b[39m toBeVisible \u001b[33m=\u001b[39m \u001b[36masync\u001b[39m () \u001b[33m=>\u001b[39m {\n \u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 79 |\u001b[39m \u001b[36mawait\u001b[39m waitFor(\u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mchannelListScreen)\u001b[33m.\u001b[39mtoExist()\u001b[33m.\u001b[39mwithTimeout(timeouts\u001b[33m.\u001b[39m\u001b[33mTEN_SEC\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 80 |\u001b[39m\n \u001b[90m 81 |\u001b[39m \u001b[36mreturn\u001b[39m \u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mchannelListScreen\u001b[33m;\u001b[39m\n \u001b[90m 82 |\u001b[39m }\u001b[33m;\u001b[39m\u001b[0m\n\n at ChannelListScreen.toBeVisible (support/ui/screen/channel_list.ts:79:57)\n at Object.<anonymous> (test/products/channels/messaging/permalink.e2e.ts:51:33)\n\n\n ● Test suite failed to run\n\n Test Failed: 2.0sec timeout expired without matching of given matcher: (view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)\n\n \u001b[0m \u001b[90m 82 |\u001b[39m open \u001b[33m=\u001b[39m \u001b[36masync\u001b[39m () \u001b[33m=>\u001b[39m {\n \u001b[90m 83 |\u001b[39m \u001b[90m// # Open account screen\u001b[39m\n \u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 84 |\u001b[39m \u001b[36mawait\u001b[39m waitFor(\u001b[33mHomeScreen\u001b[39m\u001b[33m.\u001b[39maccountTab)\u001b[33m.\u001b[39mtoBeVisible()\u001b[33m.\u001b[39mwithTimeout(timeouts\u001b[33m.\u001b[39m\u001b[33mTWO_SEC\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 85 |\u001b[39m \u001b[36mawait\u001b[39m \u001b[33mHomeScreen\u001b[39m\u001b[33m.\u001b[39maccountTab\u001b[33m.\u001b[39mtap()\u001b[33m;\u001b[39m\n \u001b[90m 86 |\u001b[39m\n \u001b[90m 87 |\u001b[39m \u001b[36mreturn\u001b[39m \u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mtoBeVisible()\u001b[33m;\u001b[39m\u001b[0m\n\n at AccountScreen.open (support/ui/screen/account.ts:84:60)\n at HomeScreen.logout (support/ui/screen/home.ts:40:29)\n at Object.<anonymous> (test/products/channels/messaging/permalink.e2e.ts:56:26)\n", "testExecError": { "message": "", "stack": "Test Failed: 2.0sec timeout expired without matching of given matcher: (view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)\n at AccountScreen.open (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/screen/account.ts:84:60)\n at HomeScreen.logout (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/screen/home.ts:40:29)\n at Object.<anonymous> (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/messaging/permalink.e2e.ts:56:26)\n at Promise.then.completed (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/utils.js:298:28)\n at new Promise (<anonymous>)\n at callAsyncCircusFn (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/utils.js:231:10)\n at _callCircusHook (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:281:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTestsForDescribeBlock (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:154:7)\n at _runTestsForDescribeBlock (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:121:9)\n at run (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:71:3)\n at runAndTransformResultsToJestFormat (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at jestAdapter (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at runTestInternal (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-runner/build/runTest.js:367:16)\n at runTest (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-runner/build/runTest.js:444:34)" } }, { "leaks": false, "numFailingTests": 0, "numPassingTests": 2, "numPendingTests": 0, "numTodoTests": 0, "openHandles": [], "perfStats": { "end": 1765991074470, "runtime": 115058, "slow": true, "start": 1765990959412 }, "skipped": false, "snapshot": { "added": 0, "fileDeleted": false, "matched": 0, "unchecked": 0, "uncheckedKeys": [], "unmatched": 0, "updated": 0 }, "testFilePath": "/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/messaging/pin_and_unpin_message.e2e.ts", "testResults": [ { "ancestorTitles": [ "Messaging - Pin and Unpin Message" ], "duration": 41604, "failureDetails": [], "failureMessages": [], "fullName": "Messaging - Pin and Unpin Message MM-T4865_1 - should be able to pin/unpin a message via post options on channel screen", "invocations": 1, "location": null, "numPassingAsserts": 3, "retryReasons": [], "status": "passed", "title": "MM-T4865_1 - should be able to pin/unpin a message via post options on channel screen" }, { "ancestorTitles": [ "Messaging - Pin and Unpin Message" ], "duration": 41033, "failureDetails": [], "failureMessages": [], "fullName": "Messaging - Pin and Unpin Message MM-T4865_2 - should be able to pin/unpin a message via post options on thread screen", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T4865_2 - should be able to pin/unpin a message via post options on thread screen" } ], "failureMessage": null }, { "leaks": false, "numFailingTests": 0, "numPassingTests": 2, "numPendingTests": 0, "numTodoTests": 0, "openHandles": [], "perfStats": { "end": 1765990401497, "runtime": 121598, "slow": true, "start": 1765990279899 }, "skipped": false, "snapshot": { "added": 0, "fileDeleted": false, "matched": 0, "unchecked": 0, "uncheckedKeys": [], "unmatched": 0, "updated": 0 }, "testFilePath": "/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/messaging/follow_and_unfollow_messsage.e2e.ts", "testResults": [ { "ancestorTitles": [ "Messaging - Follow and Unfollow Message" ], "duration": 21408, "failureDetails": [], "failureMessages": [], "fullName": "Messaging - Follow and Unfollow Message MM-T4863_1 - should be able to follow/unfollow a message via post options", "invocations": 1, "location": null, "numPassingAsserts": 3, "retryReasons": [], "status": "passed", "title": "MM-T4863_1 - should be able to follow/unfollow a message via post options" }, { "ancestorTitles": [ "Messaging - Follow and Unfollow Message" ], "duration": 15554, "failureDetails": [], "failureMessages": [], "fullName": "Messaging - Follow and Unfollow Message MM-T4863_2 - should be able to unfollow a message via post footer", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T4863_2 - should be able to unfollow a message via post footer" } ], "failureMessage": null }, { "leaks": false, "numFailingTests": 0, "numPassingTests": 1, "numPendingTests": 0, "numTodoTests": 0, "openHandles": [], "perfStats": { "end": 1765990445572, "runtime": 43944, "slow": true, "start": 1765990401628 }, "skipped": false, "snapshot": { "added": 0, "fileDeleted": false, "matched": 0, "unchecked": 0, "uncheckedKeys": [], "unmatched": 0, "updated": 0 }, "testFilePath": "/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/messaging/markdown_block_quote.e2e.ts", "testResults": [ { "ancestorTitles": [ "Messaging - Markdown Block Quote" ], "duration": 11440, "failureDetails": [], "failureMessages": [], "fullName": "Messaging - Markdown Block Quote MM-T4898_1 - should be able to display markdown block quote", "invocations": 1, "location": null, "numPassingAsserts": 3, "retryReasons": [], "status": "passed", "title": "MM-T4898_1 - should be able to display markdown block quote" } ], "failureMessage": null }, { "leaks": false, "numFailingTests": 0, "numPassingTests": 2, "numPendingTests": 0, "numTodoTests": 0, "openHandles": [], "perfStats": { "end": 1765990502306, "runtime": 56636, "slow": true, "start": 1765990445670 }, "skipped": false, "snapshot": { "added": 0, "fileDeleted": false, "matched": 0, "unchecked": 0, "uncheckedKeys": [], "unmatched": 0, "updated": 0 }, "testFilePath": "/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/messaging/markdown_code.e2e.ts", "testResults": [ { "ancestorTitles": [ "Messaging - Markdown Code" ], "duration": 14400, "failureDetails": [], "failureMessages": [], "fullName": "Messaging - Markdown Code MM-T4895_1 - should be able to display markdown code block", "invocations": 1, "location": null, "numPassingAsserts": 3, "retryReasons": [], "status": "passed", "title": "MM-T4895_1 - should be able to display markdown code block" }, { "ancestorTitles": [ "Messaging - Markdown Code" ], "duration": 10760, "failureDetails": [], "failureMessages": [], "fullName": "Messaging - Markdown Code MM-T4895_2- should be able to display markdown html", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T4895_2- should be able to display markdown html" } ], "failureMessage": null }, { "leaks": false, "numFailingTests": 0, "numPassingTests": 1, "numPendingTests": 0, "numTodoTests": 0, "openHandles": [], "perfStats": { "end": 1765990547099, "runtime": 44665, "slow": true, "start": 1765990502434 }, "skipped": false, "snapshot": { "added": 0, "fileDeleted": false, "matched": 0, "unchecked": 0, "uncheckedKeys": [], "unmatched": 0, "updated": 0 }, "testFilePath": "/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/messaging/markdown_heading.e2e.ts", "testResults": [ { "ancestorTitles": [ "Messaging - Markdown Heading" ], "duration": 10920, "failureDetails": [], "failureMessages": [], "fullName": "Messaging - Markdown Heading MM-T4893_1 - should be able to display markdown heading", "invocations": 1, "location": null, "numPassingAsserts": 3, "retryReasons": [], "status": "passed", "title": "MM-T4893_1 - should be able to display markdown heading" } ], "failureMessage": null }, { "leaks": false, "numFailingTests": 2, "numPassingTests": 0, "numPendingTests": 0, "numTodoTests": 0, "openHandles": [], "perfStats": { "end": 1765990600783, "runtime": 53548, "slow": true, "start": 1765990547235 }, "skipped": false, "snapshot": { "added": 0, "fileDeleted": false, "matched": 0, "unchecked": 0, "uncheckedKeys": [], "unmatched": 0, "updated": 0 }, "testFilePath": "/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/messaging/markdown_image.e2e.ts", "testResults": [ { "ancestorTitles": [ "Messaging - Markdown Image" ], "duration": 10747, "failureDetails": [ { "name": "DetoxRuntimeError" } ], "failureMessages": [ "Test Failed: '(view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)' doesn't match the selected view.\nExpected: (view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)\n Got: com.facebook.react.views.view.ReactViewGroup{c5c80c1 V.E...... ........ 0,0-0,0 #757}\nView Details: ReactViewGroup{id=1879, visibility=VISIBLE, width=0, height=0, has-focus=false, has-focusable=true, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, layout-params=android.view.ViewGroup$LayoutParams@YYYYYY, tag=markdown_image, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, child-count=1}\n\n at Object.<anonymous> (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/messaging/markdown_image.e2e.ts:60:45)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)" ], "fullName": "Messaging - Markdown Image MM-T4896_1 - should be able to display markdown image", "invocations": 1, "location": null, "numPassingAsserts": 3, "retryReasons": [], "status": "failed", "title": "MM-T4896_1 - should be able to display markdown image" }, { "ancestorTitles": [ "Messaging - Markdown Image" ], "duration": 10902, "failureDetails": [ { "name": "DetoxRuntimeError" } ], "failureMessages": [ "Test Failed: 10.0sec timeout expired without matching of given matcher: not null\n at ChannelListScreen.toBeVisible (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/screen/channel_list.ts:79:57)\n at Object.<anonymous> (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/messaging/markdown_image.e2e.ts:43:33)\n at Promise.then.completed (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/utils.js:298:28)\n at new Promise (<anonymous>)\n at callAsyncCircusFn (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/utils.js:231:10)\n at _callCircusHook (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:281:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:246:5)\n at _runTestsForDescribeBlock (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:126:9)\n at _runTestsForDescribeBlock (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:121:9)\n at run (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:71:3)\n at runAndTransformResultsToJestFormat (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at jestAdapter (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at runTestInternal (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-runner/build/runTest.js:367:16)\n at runTest (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-runner/build/runTest.js:444:34)" ], "fullName": "Messaging - Markdown Image MM-T4896_2 - should be able to display markdown image with link", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "failed", "title": "MM-T4896_2 - should be able to display markdown image with link" } ], "failureMessage": " ● Messaging - Markdown Image › MM-T4896_1 - should be able to display markdown image\n\n Test Failed: '(view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)' doesn't match the selected view.\n Expected: (view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)\n Got: com.facebook.react.views.view.ReactViewGroup{c5c80c1 V.E...... ........ 0,0-0,0 #757}\n View Details: ReactViewGroup{id=1879, visibility=VISIBLE, width=0, height=0, has-focus=false, has-focusable=true, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, layout-params=android.view.ViewGroup$LayoutParams@YYYYYY, tag=markdown_image, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, child-count=1}\n\n \u001b[0m \u001b[90m 58 |\u001b[39m \u001b[36mconst\u001b[39m {post} \u001b[33m=\u001b[39m \u001b[36mawait\u001b[39m \u001b[33mPost\u001b[39m\u001b[33m.\u001b[39mapiGetLastPostInChannel(siteOneUrl\u001b[33m,\u001b[39m testChannel\u001b[33m.\u001b[39mid)\u001b[33m;\u001b[39m\n \u001b[90m 59 |\u001b[39m \u001b[36mconst\u001b[39m {postListPostItemImage} \u001b[33m=\u001b[39m \u001b[33mChannelScreen\u001b[39m\u001b[33m.\u001b[39mgetPostListPostItem(post\u001b[33m.\u001b[39mid)\u001b[33m;\u001b[39m\n \u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 60 |\u001b[39m \u001b[36mawait\u001b[39m expect(postListPostItemImage)\u001b[33m.\u001b[39mtoBeVisible()\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 61 |\u001b[39m\n \u001b[90m 62 |\u001b[39m \u001b[90m// # Go back to channel list screen\u001b[39m\n \u001b[90m 63 |\u001b[39m \u001b[36mawait\u001b[39m \u001b[33mChannelScreen\u001b[39m\u001b[33m.\u001b[39mback()\u001b[33m;\u001b[39m\u001b[0m\n\n at Object.<anonymous> (test/products/channels/messaging/markdown_image.e2e.ts:60:45)\n\n ● Messaging - Markdown Image › MM-T4896_2 - should be able to display markdown image with link\n\n Test Failed: 10.0sec timeout expired without matching of given matcher: not null\n\n \u001b[0m \u001b[90m 77 |\u001b[39m\n \u001b[90m 78 |\u001b[39m toBeVisible \u001b[33m=\u001b[39m \u001b[36masync\u001b[39m () \u001b[33m=>\u001b[39m {\n \u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 79 |\u001b[39m \u001b[36mawait\u001b[39m waitFor(\u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mchannelListScreen)\u001b[33m.\u001b[39mtoExist()\u001b[33m.\u001b[39mwithTimeout(timeouts\u001b[33m.\u001b[39m\u001b[33mTEN_SEC\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 80 |\u001b[39m\n \u001b[90m 81 |\u001b[39m \u001b[36mreturn\u001b[39m \u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mchannelListScreen\u001b[33m;\u001b[39m\n \u001b[90m 82 |\u001b[39m }\u001b[33m;\u001b[39m\u001b[0m\n\n at ChannelListScreen.toBeVisible (support/ui/screen/channel_list.ts:79:57)\n at Object.<anonymous> (test/products/channels/messaging/markdown_image.e2e.ts:43:33)\n\n\n ● Test suite failed to run\n\n Test Failed: 2.0sec timeout expired without matching of given matcher: (view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)\n\n \u001b[0m \u001b[90m 82 |\u001b[39m open \u001b[33m=\u001b[39m \u001b[36masync\u001b[39m () \u001b[33m=>\u001b[39m {\n \u001b[90m 83 |\u001b[39m \u001b[90m// # Open account screen\u001b[39m\n \u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 84 |\u001b[39m \u001b[36mawait\u001b[39m waitFor(\u001b[33mHomeScreen\u001b[39m\u001b[33m.\u001b[39maccountTab)\u001b[33m.\u001b[39mtoBeVisible()\u001b[33m.\u001b[39mwithTimeout(timeouts\u001b[33m.\u001b[39m\u001b[33mTWO_SEC\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 85 |\u001b[39m \u001b[36mawait\u001b[39m \u001b[33mHomeScreen\u001b[39m\u001b[33m.\u001b[39maccountTab\u001b[33m.\u001b[39mtap()\u001b[33m;\u001b[39m\n \u001b[90m 86 |\u001b[39m\n \u001b[90m 87 |\u001b[39m \u001b[36mreturn\u001b[39m \u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mtoBeVisible()\u001b[33m;\u001b[39m\u001b[0m\n\n at AccountScreen.open (support/ui/screen/account.ts:84:60)\n at HomeScreen.logout (support/ui/screen/home.ts:40:29)\n at Object.<anonymous> (test/products/channels/messaging/markdown_image.e2e.ts:48:26)\n", "testExecError": { "message": "", "stack": "Test Failed: 2.0sec timeout expired without matching of given matcher: (view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)\n at AccountScreen.open (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/screen/account.ts:84:60)\n at HomeScreen.logout (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/screen/home.ts:40:29)\n at Object.<anonymous> (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/messaging/markdown_image.e2e.ts:48:26)\n at Promise.then.completed (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/utils.js:298:28)\n at new Promise (<anonymous>)\n at callAsyncCircusFn (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/utils.js:231:10)\n at _callCircusHook (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:281:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTestsForDescribeBlock (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:154:7)\n at _runTestsForDescribeBlock (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:121:9)\n at run (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:71:3)\n at runAndTransformResultsToJestFormat (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at jestAdapter (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at runTestInternal (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-runner/build/runTest.js:367:16)\n at runTest (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-runner/build/runTest.js:444:34)" } }, { "leaks": false, "numFailingTests": 0, "numPassingTests": 2, "numPendingTests": 0, "numTodoTests": 0, "openHandles": [], "perfStats": { "end": 1765990655684, "runtime": 54771, "slow": true, "start": 1765990600913 }, "skipped": false, "snapshot": { "added": 0, "fileDeleted": false, "matched": 0, "unchecked": 0, "uncheckedKeys": [], "unmatched": 0, "updated": 0 }, "testFilePath": "/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/messaging/markdown_latex.e2e.ts", "testResults": [ { "ancestorTitles": [ "Messaging - Markdown Latex" ], "duration": 11906, "failureDetails": [], "failureMessages": [], "fullName": "Messaging - Markdown Latex MM-T4900_1 - should be able to display markdown latex code block", "invocations": 1, "location": null, "numPassingAsserts": 3, "retryReasons": [], "status": "passed", "title": "MM-T4900_1 - should be able to display markdown latex code block" }, { "ancestorTitles": [ "Messaging - Markdown Latex" ], "duration": 10743, "failureDetails": [], "failureMessages": [], "fullName": "Messaging - Markdown Latex MM-T4900_2 - should be able to display markdown inline latex", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T4900_2 - should be able to display markdown inline latex" } ], "failureMessage": null }, { "leaks": false, "numFailingTests": 0, "numPassingTests": 2, "numPendingTests": 0, "numTodoTests": 0, "openHandles": [], "perfStats": { "end": 1765990707097, "runtime": 51296, "slow": true, "start": 1765990655801 }, "skipped": false, "snapshot": { "added": 0, "fileDeleted": false, "matched": 0, "unchecked": 0, "uncheckedKeys": [], "unmatched": 0, "updated": 0 }, "testFilePath": "/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/messaging/markdown_list.e2e.ts", "testResults": [ { "ancestorTitles": [ "Messaging - Markdown List" ], "duration": 11413, "failureDetails": [], "failureMessages": [], "fullName": "Messaging - Markdown List MM-T4894_1 - should be able to display markdown bullet list", "invocations": 1, "location": null, "numPassingAsserts": 3, "retryReasons": [], "status": "passed", "title": "MM-T4894_1 - should be able to display markdown bullet list" }, { "ancestorTitles": [ "Messaging - Markdown List" ], "duration": 10794, "failureDetails": [], "failureMessages": [], "fullName": "Messaging - Markdown List MM-T4894_2 - should be able to display markdown ordered list", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T4894_2 - should be able to display markdown ordered list" } ], "failureMessage": null }, { "leaks": false, "numFailingTests": 0, "numPassingTests": 1, "numPendingTests": 0, "numTodoTests": 0, "openHandles": [], "perfStats": { "end": 1765990747923, "runtime": 40715, "slow": true, "start": 1765990707208 }, "skipped": false, "snapshot": { "added": 0, "fileDeleted": false, "matched": 0, "unchecked": 0, "uncheckedKeys": [], "unmatched": 0, "updated": 0 }, "testFilePath": "/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/messaging/markdown_separator.e2e.ts", "testResults": [ { "ancestorTitles": [ "Messaging - Markdown Separator" ], "duration": 8620, "failureDetails": [], "failureMessages": [], "fullName": "Messaging - Markdown Separator MM-T4897_1 - should be able to display markdown separator", "invocations": 1, "location": null, "numPassingAsserts": 3, "retryReasons": [], "status": "passed", "title": "MM-T4897_1 - should be able to display markdown separator" } ], "failureMessage": null }, { "leaks": false, "numFailingTests": 0, "numPassingTests": 5, "numPendingTests": 0, "numTodoTests": 0, "openHandles": [], "perfStats": { "end": 1765990840263, "runtime": 92227, "slow": true, "start": 1765990748036 }, "skipped": false, "snapshot": { "added": 0, "fileDeleted": false, "matched": 0, "unchecked": 0, "uncheckedKeys": [], "unmatched": 0, "updated": 0 }, "testFilePath": "/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/messaging/markdown_table.e2e.ts", "testResults": [ { "ancestorTitles": [ "Messaging - Markdown Table" ], "duration": 9591, "failureDetails": [], "failureMessages": [], "fullName": "Messaging - Markdown Table MM-T4899_1 - should be able to display markdown table", "invocations": 1, "location": null, "numPassingAsserts": 3, "retryReasons": [], "status": "passed", "title": "MM-T4899_1 - should be able to display markdown table" }, { "ancestorTitles": [ "Messaging - Markdown Table" ], "duration": 10664, "failureDetails": [], "failureMessages": [], "fullName": "Messaging - Markdown Table MM-T4899_2 - should be able to display markdown table with long text wrapped properly", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T4899_2 - should be able to display markdown table with long text wrapped properly" }, { "ancestorTitles": [ "Messaging - Markdown Table" ], "duration": 13554, "failureDetails": [], "failureMessages": [], "fullName": "Messaging - Markdown Table MM-T4899_3 - should be able to open markdown table in full view and allow horizontal scroll", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T4899_3 - should be able to open markdown table in full view and allow horizontal scroll" }, { "ancestorTitles": [ "Messaging - Markdown Table" ], "duration": 10422, "failureDetails": [], "failureMessages": [], "fullName": "Messaging - Markdown Table MM-T4899_4 - should be able to open markdown table in full view and allow vertical scroll", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T4899_4 - should be able to open markdown table in full view and allow vertical scroll" }, { "ancestorTitles": [ "Messaging - Markdown Table" ], "duration": 15437, "failureDetails": [], "failureMessages": [], "fullName": "Messaging - Markdown Table MM-T4899_5 - should be able to open markdown table in full view and allow both horizontal and vertical scrolls", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T4899_5 - should be able to open markdown table in full view and allow both horizontal and vertical scrolls" } ], "failureMessage": null }, { "leaks": false, "numFailingTests": 0, "numPassingTests": 3, "numPendingTests": 0, "numTodoTests": 0, "openHandles": [], "perfStats": { "end": 1765990800199, "runtime": 143954, "slow": true, "start": 1765990656245 }, "skipped": false, "snapshot": { "added": 0, "fileDeleted": false, "matched": 0, "unchecked": 0, "uncheckedKeys": [], "unmatched": 0, "updated": 0 }, "testFilePath": "/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/channels/leave_channel.e2e.ts", "testResults": [ { "ancestorTitles": [ "Channels - Leave Channel" ], "duration": 19701, "failureDetails": [], "failureMessages": [], "fullName": "Channels - Leave Channel MM-T4931_1 - should be able to leave a channel from channel info screen and confirm", "invocations": 1, "location": null, "numPassingAsserts": 3, "retryReasons": [], "status": "passed", "title": "MM-T4931_1 - should be able to leave a channel from channel info screen and confirm" }, { "ancestorTitles": [ "Channels - Leave Channel" ], "duration": 19786, "failureDetails": [], "failureMessages": [], "fullName": "Channels - Leave Channel MM-T4931_2 - should be able to leave a channel from channel info screen and cancel", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T4931_2 - should be able to leave a channel from channel info screen and cancel" }, { "ancestorTitles": [ "Channels - Leave Channel" ], "duration": 17518, "failureDetails": [], "failureMessages": [], "fullName": "Channels - Leave Channel MM-T4931_3 - should be able to leave a channel from channel quick actions", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T4931_3 - should be able to leave a channel from channel quick actions" } ], "failureMessage": null }, { "leaks": false, "numFailingTests": 0, "numPassingTests": 1, "numPendingTests": 0, "numTodoTests": 0, "openHandles": [], "perfStats": { "end": 1765990864545, "runtime": 64165, "slow": true, "start": 1765990800380 }, "skipped": false, "snapshot": { "added": 0, "fileDeleted": false, "matched": 0, "unchecked": 0, "uncheckedKeys": [], "unmatched": 0, "updated": 0 }, "testFilePath": "/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/channels/manage_own_channel_membership.e2e.ts", "testResults": [ { "ancestorTitles": [ "Channels - Manage Own Channel Membership" ], "duration": 29604, "failureDetails": [], "failureMessages": [], "fullName": "Channels - Manage Own Channel Membership MM-66375 - should be able to see and manage own membership in channel members list", "invocations": 1, "location": null, "numPassingAsserts": 3, "retryReasons": [], "status": "passed", "title": "MM-66375 - should be able to see and manage own membership in channel members list" } ], "failureMessage": null }, { "leaks": false, "numFailingTests": 0, "numPassingTests": 2, "numPendingTests": 0, "numTodoTests": 0, "openHandles": [], "perfStats": { "end": 1765990929632, "runtime": 64943, "slow": true, "start": 1765990864689 }, "skipped": false, "snapshot": { "added": 0, "fileDeleted": false, "matched": 0, "unchecked": 0, "uncheckedKeys": [], "unmatched": 0, "updated": 0 }, "testFilePath": "/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/channels/mute_and_unmute_channel.e2e.ts", "testResults": [ { "ancestorTitles": [ "Channels - Mute and Unmute Channel" ], "duration": 18212, "failureDetails": [], "failureMessages": [], "fullName": "Channels - Mute and Unmute Channel MM-T4930_1 - should be able to mute/unmute a channel from channel quick actions", "invocations": 1, "location": null, "numPassingAsserts": 3, "retryReasons": [], "status": "passed", "title": "MM-T4930_1 - should be able to mute/unmute a channel from channel quick actions" }, { "ancestorTitles": [ "Channels - Mute and Unmute Channel" ], "duration": 12797, "failureDetails": [], "failureMessages": [], "fullName": "Channels - Mute and Unmute Channel MM-T4930_2 - should be able to mute/unmute a channel from channel info screen", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T4930_2 - should be able to mute/unmute a channel from channel info screen" } ], "failureMessage": null }, { "leaks": false, "numFailingTests": 0, "numPassingTests": 2, "numPendingTests": 0, "numTodoTests": 0, "openHandles": [], "perfStats": { "end": 1765991080648, "runtime": 150905, "slow": true, "start": 1765990929743 }, "skipped": false, "snapshot": { "added": 0, "fileDeleted": false, "matched": 0, "unchecked": 0, "uncheckedKeys": [], "unmatched": 0, "updated": 0 }, "testFilePath": "/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/channels/unarchive_channel.e2e.ts", "testResults": [ { "ancestorTitles": [ "Channels - Unarchive Channel" ], "duration": 58354, "failureDetails": [], "failureMessages": [], "fullName": "Channels - Unarchive Channel MM-T4944_1 - should be able to unarchive a public channel and confirm", "invocations": 1, "location": null, "numPassingAsserts": 3, "retryReasons": [], "status": "passed", "title": "MM-T4944_1 - should be able to unarchive a public channel and confirm" }, { "ancestorTitles": [ "Channels - Unarchive Channel" ], "duration": 56570, "failureDetails": [], "failureMessages": [], "fullName": "Channels - Unarchive Channel MM-T4944_2 - should be able to unarchive a private channel and confirm", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T4944_2 - should be able to unarchive a private channel and confirm" } ], "failureMessage": null }, { "leaks": false, "numFailingTests": 0, "numPassingTests": 2, "numPendingTests": 0, "numTodoTests": 0, "openHandles": [], "perfStats": { "end": 1765991123219, "runtime": 42427, "slow": true, "start": 1765991080792 }, "skipped": false, "snapshot": { "added": 0, "fileDeleted": false, "matched": 0, "unchecked": 0, "uncheckedKeys": [], "unmatched": 0, "updated": 0 }, "testFilePath": "/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/localization/language.e2e.ts", "testResults": [ { "ancestorTitles": [ "Localization" ], "duration": 5289, "failureDetails": [], "failureMessages": [], "fullName": "Localization MM-T303 - Text looks correct when viewed in a non-English language", "invocations": 1, "location": null, "numPassingAsserts": 3, "retryReasons": [], "status": "passed", "title": "MM-T303 - Text looks correct when viewed in a non-English language" }, { "ancestorTitles": [ "Localization" ], "duration": 4919, "failureDetails": [], "failureMessages": [], "fullName": "Localization MM-T304 - RN: No crash when setting language to zh-TW (Chinese Traditional)", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T304 - RN: No crash when setting language to zh-TW (Chinese Traditional)" } ], "failureMessage": null }, { "leaks": false, "numFailingTests": 0, "numPassingTests": 3, "numPendingTests": 0, "numTodoTests": 0, "openHandles": [], "perfStats": { "end": 1765991205919, "runtime": 82598, "slow": true, "start": 1765991123321 }, "skipped": false, "snapshot": { "added": 0, "fileDeleted": false, "matched": 0, "unchecked": 0, "uncheckedKeys": [], "unmatched": 0, "updated": 0 }, "testFilePath": "/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/messaging/at_mention.e2e.ts", "testResults": [ { "ancestorTitles": [ "Messaging - At-Mention" ], "duration": 15840, "failureDetails": [], "failureMessages": [], "fullName": "Messaging - At-Mention MM-T4874_1 - should post at-mention as lowercase", "invocations": 1, "location": null, "numPassingAsserts": 3, "retryReasons": [], "status": "passed", "title": "MM-T4874_1 - should post at-mention as lowercase" }, { "ancestorTitles": [ "Messaging - At-Mention" ], "duration": 20509, "failureDetails": [], "failureMessages": [], "fullName": "Messaging - At-Mention MM-T4874_2 - should display confirmation dialog when posting @all, @channel, and @here", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T4874_2 - should display confirmation dialog when posting @all, @channel, and @here" }, { "ancestorTitles": [ "Messaging - At-Mention" ], "duration": 13035, "failureDetails": [], "failureMessages": [], "fullName": "Messaging - At-Mention MM-T4874_3 - should be able to open user profile by tapping on at-mention", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T4874_3 - should be able to open user profile by tapping on at-mention" } ], "failureMessage": null }, { "leaks": false, "numFailingTests": 0, "numPassingTests": 2, "numPendingTests": 0, "numTodoTests": 0, "openHandles": [], "perfStats": { "end": 1765991270462, "runtime": 64387, "slow": true, "start": 1765991206075 }, "skipped": false, "snapshot": { "added": 0, "fileDeleted": false, "matched": 0, "unchecked": 0, "uncheckedKeys": [], "unmatched": 0, "updated": 0 }, "testFilePath": "/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/messaging/channel_link.e2e.ts", "testResults": [ { "ancestorTitles": [ "Messaging - Channel Link" ], "duration": 14248, "failureDetails": [], "failureMessages": [], "fullName": "Messaging - Channel Link MM-T4877_1 - should be able to open joined channel by tapping on channel link from main channel", "invocations": 1, "location": null, "numPassingAsserts": 3, "retryReasons": [], "status": "passed", "title": "MM-T4877_1 - should be able to open joined channel by tapping on channel link from main channel" }, { "ancestorTitles": [ "Messaging - Channel Link" ], "duration": 16787, "failureDetails": [], "failureMessages": [], "fullName": "Messaging - Channel Link MM-T4877_2 - should be able to open joined channel by tapping on channel link from reply thread", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T4877_2 - should be able to open joined channel by tapping on channel link from reply thread" } ], "failureMessage": null }, { "leaks": false, "numFailingTests": 1, "numPassingTests": 1, "numPendingTests": 0, "numTodoTests": 0, "openHandles": [], "perfStats": { "end": 1765991328400, "runtime": 57759, "slow": true, "start": 1765991270641 }, "skipped": false, "snapshot": { "added": 0, "fileDeleted": false, "matched": 0, "unchecked": 0, "uncheckedKeys": [], "unmatched": 0, "updated": 0 }, "testFilePath": "/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/messaging/channel_mention.e2e.ts", "testResults": [ { "ancestorTitles": [ "Messaging - Channel Mention" ], "duration": 13397, "failureDetails": [], "failureMessages": [], "fullName": "Messaging - Channel Mention MM-T4875_1 - should post channel mention as channel display name", "invocations": 1, "location": null, "numPassingAsserts": 3, "retryReasons": [], "status": "passed", "title": "MM-T4875_1 - should post channel mention as channel display name" }, { "ancestorTitles": [ "Messaging - Channel Mention" ], "duration": 9799, "failureDetails": [ { "name": "DetoxRuntimeError" } ], "failureMessages": [ "Test Failed: '(an instance of android.widget.TextView and view.getText() with or without transformation to match: is \"Channel b98c18\" and view has effective visibility <VISIBLE>)' doesn't match the selected view.\nExpected: (an instance of android.widget.TextView and view.getText() with or without transformation to match: is \"Channel b98c18\" and view has effective visibility <VISIBLE>)\n Got: an instance of android.widget.TextView and view.getText() with or without transformation to match: is \"Channel b98c18\" view.getText() was \"Channel 7d04ad\" transformed text was \"Channel 7d04ad\"\nView Details: ReactTextView{id=1939, visibility=VISIBLE, width=392, height=66, has-focus=false, has-focusable=false, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, layout-params=android.view.ViewGroup$LayoutParams@YYYYYY, tag=navigation.header.title, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, text=Channel 7d04ad, input-type=0, ime-target=false, has-links=false}\n\n at Object.<anonymous> (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/messaging/channel_mention.e2e.ts:86:49)" ], "fullName": "Messaging - Channel Mention MM-T4875_2 - should be able to open joined channel by tapping on channel mention", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "failed", "title": "MM-T4875_2 - should be able to open joined channel by tapping on channel mention" } ], "failureMessage": " ● Messaging - Channel Mention › MM-T4875_2 - should be able to open joined channel by tapping on channel mention\n\n Test Failed: '(an instance of android.widget.TextView and view.getText() with or without transformation to match: is \"Channel b98c18\" and view has effective visibility <VISIBLE>)' doesn't match the selected view.\n Expected: (an instance of android.widget.TextView and view.getText() with or without transformation to match: is \"Channel b98c18\" and view has effective visibility <VISIBLE>)\n Got: an instance of android.widget.TextView and view.getText() with or without transformation to match: is \"Channel b98c18\" view.getText() was \"Channel 7d04ad\" transformed text was \"Channel 7d04ad\"\n View Details: ReactTextView{id=1939, visibility=VISIBLE, width=392, height=66, has-focus=false, has-focusable=false, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, layout-params=android.view.ViewGroup$LayoutParams@YYYYYY, tag=navigation.header.title, root-is-layout-requested=false, has-input-connection=false, x=0.0, y=0.0, text=Channel 7d04ad, input-type=0, ime-target=false, has-links=false}\n\n \u001b[0m \u001b[90m 84 |\u001b[39m\n \u001b[90m 85 |\u001b[39m \u001b[90m// * Verify redirected to target channel\u001b[39m\n \u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 86 |\u001b[39m \u001b[36mawait\u001b[39m expect(\u001b[33mChannelScreen\u001b[39m\u001b[33m.\u001b[39mheaderTitle)\u001b[33m.\u001b[39mtoHaveText(targetChannel\u001b[33m.\u001b[39mdisplay_name)\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 87 |\u001b[39m\n \u001b[90m 88 |\u001b[39m \u001b[90m// # Go back to channel list screen\u001b[39m\n \u001b[90m 89 |\u001b[39m \u001b[36mawait\u001b[39m \u001b[33mChannelScreen\u001b[39m\u001b[33m.\u001b[39mback()\u001b[33m;\u001b[39m\u001b[0m\n\n at Object.<anonymous> (test/products/channels/messaging/channel_mention.e2e.ts:86:49)\n\n\n ● Test suite failed to run\n\n Test Failed: 2.0sec timeout expired without matching of given matcher: (view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)\n\n \u001b[0m \u001b[90m 82 |\u001b[39m open \u001b[33m=\u001b[39m \u001b[36masync\u001b[39m () \u001b[33m=>\u001b[39m {\n \u001b[90m 83 |\u001b[39m \u001b[90m// # Open account screen\u001b[39m\n \u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 84 |\u001b[39m \u001b[36mawait\u001b[39m waitFor(\u001b[33mHomeScreen\u001b[39m\u001b[33m.\u001b[39maccountTab)\u001b[33m.\u001b[39mtoBeVisible()\u001b[33m.\u001b[39mwithTimeout(timeouts\u001b[33m.\u001b[39m\u001b[33mTWO_SEC\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 85 |\u001b[39m \u001b[36mawait\u001b[39m \u001b[33mHomeScreen\u001b[39m\u001b[33m.\u001b[39maccountTab\u001b[33m.\u001b[39mtap()\u001b[33m;\u001b[39m\n \u001b[90m 86 |\u001b[39m\n \u001b[90m 87 |\u001b[39m \u001b[36mreturn\u001b[39m \u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mtoBeVisible()\u001b[33m;\u001b[39m\u001b[0m\n\n at AccountScreen.open (support/ui/screen/account.ts:84:60)\n at HomeScreen.logout (support/ui/screen/home.ts:40:29)\n at Object.<anonymous> (test/products/channels/messaging/channel_mention.e2e.ts:54:26)\n", "testExecError": { "message": "", "stack": "Test Failed: 2.0sec timeout expired without matching of given matcher: (view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)\n at AccountScreen.open (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/screen/account.ts:84:60)\n at HomeScreen.logout (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/screen/home.ts:40:29)\n at Object.<anonymous> (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/messaging/channel_mention.e2e.ts:54:26)\n at Promise.then.completed (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/utils.js:298:28)\n at new Promise (<anonymous>)\n at callAsyncCircusFn (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/utils.js:231:10)\n at _callCircusHook (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:281:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTestsForDescribeBlock (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:154:7)\n at _runTestsForDescribeBlock (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:121:9)\n at run (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:71:3)\n at runAndTransformResultsToJestFormat (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at jestAdapter (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at runTestInternal (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-runner/build/runTest.js:367:16)\n at runTest (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-runner/build/runTest.js:444:34)" } }, { "leaks": false, "numFailingTests": 4, "numPassingTests": 0, "numPendingTests": 0, "numTodoTests": 0, "openHandles": [], "perfStats": { "end": 1765991418961, "runtime": 90448, "slow": true, "start": 1765991328513 }, "skipped": false, "snapshot": { "added": 0, "fileDeleted": false, "matched": 0, "unchecked": 0, "uncheckedKeys": [], "unmatched": 0, "updated": 0 }, "testFilePath": "/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/messaging/emojis_and_reactions.e2e.ts", "testResults": [ { "ancestorTitles": [ "Messaging - Emojis and Reactions" ], "duration": 22814, "failureDetails": [ { "name": "DetoxRuntimeError" } ], "failureMessages": [ "Test Failed: 10.0sec timeout expired without matching of given matcher: not null\n at PostOptionsScreen.toBeVisible (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/screen/post_options.ts:50:57)\n at ChannelScreen.openPostOptionsFor (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/screen/channel.ts:202:33)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at Object.<anonymous> (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/messaging/emojis_and_reactions.e2e.ts:64:9)" ], "fullName": "Messaging - Emojis and Reactions MM-T4862_1 - should be able to view recent reactions and add new reaction via post options", "invocations": 1, "location": null, "numPassingAsserts": 3, "retryReasons": [], "status": "failed", "title": "MM-T4862_1 - should be able to view recent reactions and add new reaction via post options" }, { "ancestorTitles": [ "Messaging - Emojis and Reactions" ], "duration": 10778, "failureDetails": [ { "name": "DetoxRuntimeError" } ], "failureMessages": [ "Test Failed: 10.0sec timeout expired without matching of given matcher: not null\n at ChannelListScreen.toBeVisible (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/screen/channel_list.ts:79:57)\n at Object.<anonymous> (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/messaging/emojis_and_reactions.e2e.ts:50:33)\n at Promise.then.completed (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/utils.js:298:28)\n at new Promise (<anonymous>)\n at callAsyncCircusFn (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/utils.js:231:10)\n at _callCircusHook (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:281:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:246:5)\n at _runTestsForDescribeBlock (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:126:9)\n at _runTestsForDescribeBlock (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:121:9)\n at run (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:71:3)\n at runAndTransformResultsToJestFormat (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at jestAdapter (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at runTestInternal (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-runner/build/runTest.js:367:16)\n at runTest (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-runner/build/runTest.js:444:34)" ], "fullName": "Messaging - Emojis and Reactions MM-T4862_2 - should be able to long press on a reaction to view the list of users who reacted", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "failed", "title": "MM-T4862_2 - should be able to long press on a reaction to view the list of users who reacted" }, { "ancestorTitles": [ "Messaging - Emojis and Reactions" ], "duration": 10749, "failureDetails": [ { "name": "DetoxRuntimeError" } ], "failureMessages": [ "Test Failed: 10.0sec timeout expired without matching of given matcher: not null\n at ChannelListScreen.toBeVisible (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/screen/channel_list.ts:79:57)\n at Object.<anonymous> (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/messaging/emojis_and_reactions.e2e.ts:50:33)\n at Promise.then.completed (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/utils.js:298:28)\n at new Promise (<anonymous>)\n at callAsyncCircusFn (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/utils.js:231:10)\n at _callCircusHook (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:281:40)\n at _runTest (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:246:5)\n at _runTestsForDescribeBlock (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:126:9)\n at _runTestsForDescribeBlock (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:121:9)\n at run (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:71:3)\n at runAndTransformResultsToJestFormat (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at jestAdapter (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at runTestInternal (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-runner/build/runTest.js:367:16)\n at runTest (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-runner/build/runTest.js:444:34)" ], "fullName": "Messaging - Emojis and Reactions MM-T4862_3 - should be able to include emojis in a message and be able to find them in emoji bar and recently used section", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "failed", "title": "MM-T4862_3 - should be able to include emojis in a message and be able to find them in emoji bar and recently used section" }, { "ancestorTitles": [ "Messaging - Emojis and Reactions" ], "duration": 10653, "failureDetails": [ { "name": "DetoxRuntimeError" } ], "failureMessages": [ "Test Failed: 10.0sec timeout expired without matching of given matcher: not null\n at ChannelListScreen.toBeVisible (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/screen/channel_list.ts:79:57)\n at Object.<anonymous> (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/messaging/emojis_and_reactions.e2e.ts:50:33)\n at Promise.then.completed (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/utils.js:298:28)\n at new Promise (<anonymous>)\n at callAsyncCircusFn (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/utils.js:231:10)\n at _callCircusHook (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:281:40)\n at _runTest (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:246:5)\n at _runTestsForDescribeBlock (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:126:9)\n at _runTestsForDescribeBlock (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:121:9)\n at run (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:71:3)\n at runAndTransformResultsToJestFormat (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at jestAdapter (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at runTestInternal (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-runner/build/runTest.js:367:16)\n at runTest (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-runner/build/runTest.js:444:34)" ], "fullName": "Messaging - Emojis and Reactions MM-T4862_4 - should display empty search state for emoji picker", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "failed", "title": "MM-T4862_4 - should display empty search state for emoji picker" } ], "failureMessage": " ● Messaging - Emojis and Reactions › MM-T4862_1 - should be able to view recent reactions and add new reaction via post options\n\n Test Failed: 10.0sec timeout expired without matching of given matcher: not null\n\n \u001b[0m \u001b[90m 48 |\u001b[39m\n \u001b[90m 49 |\u001b[39m toBeVisible \u001b[33m=\u001b[39m \u001b[36masync\u001b[39m () \u001b[33m=>\u001b[39m {\n \u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 50 |\u001b[39m \u001b[36mawait\u001b[39m waitFor(\u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mpostOptionsScreen)\u001b[33m.\u001b[39mtoExist()\u001b[33m.\u001b[39mwithTimeout(timeouts\u001b[33m.\u001b[39m\u001b[33mTEN_SEC\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 51 |\u001b[39m\n \u001b[90m 52 |\u001b[39m \u001b[36mreturn\u001b[39m postOptionsScreen\u001b[33m;\u001b[39m\n \u001b[90m 53 |\u001b[39m }\u001b[33m;\u001b[39m\u001b[0m\n\n at PostOptionsScreen.toBeVisible (support/ui/screen/post_options.ts:50:57)\n at ChannelScreen.openPostOptionsFor (support/ui/screen/channel.ts:202:33)\n at Object.<anonymous> (test/products/channels/messaging/emojis_and_reactions.e2e.ts:64:9)\n\n ● Messaging - Emojis and Reactions › MM-T4862_2 - should be able to long press on a reaction to view the list of users who reacted\n\n Test Failed: 10.0sec timeout expired without matching of given matcher: not null\n\n \u001b[0m \u001b[90m 77 |\u001b[39m\n \u001b[90m 78 |\u001b[39m toBeVisible \u001b[33m=\u001b[39m \u001b[36masync\u001b[39m () \u001b[33m=>\u001b[39m {\n \u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 79 |\u001b[39m \u001b[36mawait\u001b[39m waitFor(\u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mchannelListScreen)\u001b[33m.\u001b[39mtoExist()\u001b[33m.\u001b[39mwithTimeout(timeouts\u001b[33m.\u001b[39m\u001b[33mTEN_SEC\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 80 |\u001b[39m\n \u001b[90m 81 |\u001b[39m \u001b[36mreturn\u001b[39m \u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mchannelListScreen\u001b[33m;\u001b[39m\n \u001b[90m 82 |\u001b[39m }\u001b[33m;\u001b[39m\u001b[0m\n\n at ChannelListScreen.toBeVisible (support/ui/screen/channel_list.ts:79:57)\n at Object.<anonymous> (test/products/channels/messaging/emojis_and_reactions.e2e.ts:50:33)\n\n ● Messaging - Emojis and Reactions › MM-T4862_3 - should be able to include emojis in a message and be able to find them in emoji bar and recently used section\n\n Test Failed: 10.0sec timeout expired without matching of given matcher: not null\n\n \u001b[0m \u001b[90m 77 |\u001b[39m\n \u001b[90m 78 |\u001b[39m toBeVisible \u001b[33m=\u001b[39m \u001b[36masync\u001b[39m () \u001b[33m=>\u001b[39m {\n \u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 79 |\u001b[39m \u001b[36mawait\u001b[39m waitFor(\u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mchannelListScreen)\u001b[33m.\u001b[39mtoExist()\u001b[33m.\u001b[39mwithTimeout(timeouts\u001b[33m.\u001b[39m\u001b[33mTEN_SEC\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 80 |\u001b[39m\n \u001b[90m 81 |\u001b[39m \u001b[36mreturn\u001b[39m \u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mchannelListScreen\u001b[33m;\u001b[39m\n \u001b[90m 82 |\u001b[39m }\u001b[33m;\u001b[39m\u001b[0m\n\n at ChannelListScreen.toBeVisible (support/ui/screen/channel_list.ts:79:57)\n at Object.<anonymous> (test/products/channels/messaging/emojis_and_reactions.e2e.ts:50:33)\n\n ● Messaging - Emojis and Reactions › MM-T4862_4 - should display empty search state for emoji picker\n\n Test Failed: 10.0sec timeout expired without matching of given matcher: not null\n\n \u001b[0m \u001b[90m 77 |\u001b[39m\n \u001b[90m 78 |\u001b[39m toBeVisible \u001b[33m=\u001b[39m \u001b[36masync\u001b[39m () \u001b[33m=>\u001b[39m {\n \u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 79 |\u001b[39m \u001b[36mawait\u001b[39m waitFor(\u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mchannelListScreen)\u001b[33m.\u001b[39mtoExist()\u001b[33m.\u001b[39mwithTimeout(timeouts\u001b[33m.\u001b[39m\u001b[33mTEN_SEC\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 80 |\u001b[39m\n \u001b[90m 81 |\u001b[39m \u001b[36mreturn\u001b[39m \u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mchannelListScreen\u001b[33m;\u001b[39m\n \u001b[90m 82 |\u001b[39m }\u001b[33m;\u001b[39m\u001b[0m\n\n at ChannelListScreen.toBeVisible (support/ui/screen/channel_list.ts:79:57)\n at Object.<anonymous> (test/products/channels/messaging/emojis_and_reactions.e2e.ts:50:33)\n\n\n ● Test suite failed to run\n\n Test Failed: 2.0sec timeout expired without matching of given matcher: (view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)\n\n \u001b[0m \u001b[90m 82 |\u001b[39m open \u001b[33m=\u001b[39m \u001b[36masync\u001b[39m () \u001b[33m=>\u001b[39m {\n \u001b[90m 83 |\u001b[39m \u001b[90m// # Open account screen\u001b[39m\n \u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 84 |\u001b[39m \u001b[36mawait\u001b[39m waitFor(\u001b[33mHomeScreen\u001b[39m\u001b[33m.\u001b[39maccountTab)\u001b[33m.\u001b[39mtoBeVisible()\u001b[33m.\u001b[39mwithTimeout(timeouts\u001b[33m.\u001b[39m\u001b[33mTWO_SEC\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 85 |\u001b[39m \u001b[36mawait\u001b[39m \u001b[33mHomeScreen\u001b[39m\u001b[33m.\u001b[39maccountTab\u001b[33m.\u001b[39mtap()\u001b[33m;\u001b[39m\n \u001b[90m 86 |\u001b[39m\n \u001b[90m 87 |\u001b[39m \u001b[36mreturn\u001b[39m \u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mtoBeVisible()\u001b[33m;\u001b[39m\u001b[0m\n\n at AccountScreen.open (support/ui/screen/account.ts:84:60)\n at HomeScreen.logout (support/ui/screen/home.ts:40:29)\n at Object.<anonymous> (test/products/channels/messaging/emojis_and_reactions.e2e.ts:55:26)\n", "testExecError": { "message": "", "stack": "Test Failed: 2.0sec timeout expired without matching of given matcher: (view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)\n at AccountScreen.open (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/screen/account.ts:84:60)\n at HomeScreen.logout (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/screen/home.ts:40:29)\n at Object.<anonymous> (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/messaging/emojis_and_reactions.e2e.ts:55:26)\n at Promise.then.completed (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/utils.js:298:28)\n at new Promise (<anonymous>)\n at callAsyncCircusFn (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/utils.js:231:10)\n at _callCircusHook (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:281:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTestsForDescribeBlock (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:154:7)\n at _runTestsForDescribeBlock (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:121:9)\n at run (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:71:3)\n at runAndTransformResultsToJestFormat (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at jestAdapter (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at runTestInternal (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-runner/build/runTest.js:367:16)\n at runTest (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-runner/build/runTest.js:444:34)" } }, { "leaks": false, "numFailingTests": 3, "numPassingTests": 0, "numPendingTests": 0, "numTodoTests": 0, "openHandles": [], "perfStats": { "end": 1765990317516, "runtime": 119598, "slow": true, "start": 1765990197918 }, "skipped": false, "snapshot": { "added": 0, "fileDeleted": false, "matched": 0, "unchecked": 0, "uncheckedKeys": [], "unmatched": 0, "updated": 0 }, "testFilePath": "/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/channels/channel_info.e2e.ts", "testResults": [ { "ancestorTitles": [ "Channels - Channel Info" ], "duration": 10795, "failureDetails": [ { "name": "DetoxRuntimeError" } ], "failureMessages": [ "Test Failed: 10.0sec timeout expired without matching of given matcher: (view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)\n at ChannelScreen.open (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/screen/channel.ts:157:108)\n at Object.<anonymous> (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/channels/channel_info.e2e.ts:52:29)\n at Promise.then.completed (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/utils.js:298:28)\n at new Promise (<anonymous>)\n at callAsyncCircusFn (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/utils.js:231:10)\n at _callCircusTest (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:316:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:252:3)\n at _runTestsForDescribeBlock (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:126:9)\n at _runTestsForDescribeBlock (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:121:9)\n at run (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:71:3)\n at runAndTransformResultsToJestFormat (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at jestAdapter (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at runTestInternal (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-runner/build/runTest.js:367:16)\n at runTest (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-runner/build/runTest.js:444:34)" ], "fullName": "Channels - Channel Info MM-T4928_1 - should match elements on channel info screen", "invocations": 1, "location": null, "numPassingAsserts": 3, "retryReasons": [], "status": "failed", "title": "MM-T4928_1 - should match elements on channel info screen" }, { "ancestorTitles": [ "Channels - Channel Info" ], "duration": 10652, "failureDetails": [ { "name": "DetoxRuntimeError" } ], "failureMessages": [ "Test Failed: 10.0sec timeout expired without matching of given matcher: (view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)\n at ChannelScreen.open (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/screen/channel.ts:157:108)\n at Object.<anonymous> (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/channels/channel_info.e2e.ts:81:29)\n at Promise.then.completed (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/utils.js:298:28)\n at new Promise (<anonymous>)\n at callAsyncCircusFn (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/utils.js:231:10)\n at _callCircusTest (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:316:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:252:3)\n at _runTestsForDescribeBlock (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:126:9)\n at _runTestsForDescribeBlock (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:121:9)\n at run (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:71:3)\n at runAndTransformResultsToJestFormat (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at jestAdapter (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at runTestInternal (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-runner/build/runTest.js:367:16)\n at runTest (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-runner/build/runTest.js:444:34)" ], "fullName": "Channels - Channel Info MM-T4928_2 - should be able to view channel info by tapping intro channel info action", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "failed", "title": "MM-T4928_2 - should be able to view channel info by tapping intro channel info action" }, { "ancestorTitles": [ "Channels - Channel Info" ], "duration": 10747, "failureDetails": [ { "name": "DetoxRuntimeError" } ], "failureMessages": [ "Test Failed: 10.0sec timeout expired without matching of given matcher: (view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)\n at ChannelScreen.open (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/screen/channel.ts:157:108)\n at Object.<anonymous> (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/channels/channel_info.e2e.ts:94:29)\n at Promise.then.completed (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/utils.js:298:28)\n at new Promise (<anonymous>)\n at callAsyncCircusFn (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/utils.js:231:10)\n at _callCircusTest (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:316:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:252:3)\n at _runTestsForDescribeBlock (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:126:9)\n at _runTestsForDescribeBlock (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:121:9)\n at run (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:71:3)\n at runAndTransformResultsToJestFormat (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at jestAdapter (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at runTestInternal (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-runner/build/runTest.js:367:16)\n at runTest (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-runner/build/runTest.js:444:34)" ], "fullName": "Channels - Channel Info MM-T4928_3 - should be able to view channel info from channel quick actions", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "failed", "title": "MM-T4928_3 - should be able to view channel info from channel quick actions" } ], "failureMessage": " ● Channels - Channel Info › MM-T4928_1 - should match elements on channel info screen\n\n Test Failed: 10.0sec timeout expired without matching of given matcher: (view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)\n\n \u001b[0m \u001b[90m 155 |\u001b[39m open \u001b[33m=\u001b[39m \u001b[36masync\u001b[39m (categoryKey\u001b[33m:\u001b[39m string\u001b[33m,\u001b[39m channelName\u001b[33m:\u001b[39m string) \u001b[33m=>\u001b[39m {\n \u001b[90m 156 |\u001b[39m \u001b[90m// # Open channel screen\u001b[39m\n \u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 157 |\u001b[39m \u001b[36mawait\u001b[39m waitFor(\u001b[33mChannelListScreen\u001b[39m\u001b[33m.\u001b[39mgetChannelItemDisplayName(categoryKey\u001b[33m,\u001b[39m channelName))\u001b[33m.\u001b[39mtoBeVisible()\u001b[33m.\u001b[39mwithTimeout(timeouts\u001b[33m.\u001b[39m\u001b[33mTEN_SEC\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 158 |\u001b[39m \u001b[36mawait\u001b[39m \u001b[33mChannelListScreen\u001b[39m\u001b[33m.\u001b[39mgetChannelItemDisplayName(categoryKey\u001b[33m,\u001b[39m channelName)\u001b[33m.\u001b[39mtap()\u001b[33m;\u001b[39m\n \u001b[90m 159 |\u001b[39m \u001b[36mtry\u001b[39m {\n \u001b[90m 160 |\u001b[39m \u001b[36mawait\u001b[39m \u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mscheduledPostTooltipCloseButton\u001b[33m.\u001b[39mtap()\u001b[33m;\u001b[39m\u001b[0m\n\n at ChannelScreen.open (support/ui/screen/channel.ts:157:108)\n at Object.<anonymous> (test/products/channels/channels/channel_info.e2e.ts:52:29)\n\n ● Channels - Channel Info › MM-T4928_2 - should be able to view channel info by tapping intro channel info action\n\n Test Failed: 10.0sec timeout expired without matching of given matcher: (view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)\n\n \u001b[0m \u001b[90m 155 |\u001b[39m open \u001b[33m=\u001b[39m \u001b[36masync\u001b[39m (categoryKey\u001b[33m:\u001b[39m string\u001b[33m,\u001b[39m channelName\u001b[33m:\u001b[39m string) \u001b[33m=>\u001b[39m {\n \u001b[90m 156 |\u001b[39m \u001b[90m// # Open channel screen\u001b[39m\n \u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 157 |\u001b[39m \u001b[36mawait\u001b[39m waitFor(\u001b[33mChannelListScreen\u001b[39m\u001b[33m.\u001b[39mgetChannelItemDisplayName(categoryKey\u001b[33m,\u001b[39m channelName))\u001b[33m.\u001b[39mtoBeVisible()\u001b[33m.\u001b[39mwithTimeout(timeouts\u001b[33m.\u001b[39m\u001b[33mTEN_SEC\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 158 |\u001b[39m \u001b[36mawait\u001b[39m \u001b[33mChannelListScreen\u001b[39m\u001b[33m.\u001b[39mgetChannelItemDisplayName(categoryKey\u001b[33m,\u001b[39m channelName)\u001b[33m.\u001b[39mtap()\u001b[33m;\u001b[39m\n \u001b[90m 159 |\u001b[39m \u001b[36mtry\u001b[39m {\n \u001b[90m 160 |\u001b[39m \u001b[36mawait\u001b[39m \u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mscheduledPostTooltipCloseButton\u001b[33m.\u001b[39mtap()\u001b[33m;\u001b[39m\u001b[0m\n\n at ChannelScreen.open (support/ui/screen/channel.ts:157:108)\n at Object.<anonymous> (test/products/channels/channels/channel_info.e2e.ts:81:29)\n\n ● Channels - Channel Info › MM-T4928_3 - should be able to view channel info from channel quick actions\n\n Test Failed: 10.0sec timeout expired without matching of given matcher: (view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)\n\n \u001b[0m \u001b[90m 155 |\u001b[39m open \u001b[33m=\u001b[39m \u001b[36masync\u001b[39m (categoryKey\u001b[33m:\u001b[39m string\u001b[33m,\u001b[39m channelName\u001b[33m:\u001b[39m string) \u001b[33m=>\u001b[39m {\n \u001b[90m 156 |\u001b[39m \u001b[90m// # Open channel screen\u001b[39m\n \u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 157 |\u001b[39m \u001b[36mawait\u001b[39m waitFor(\u001b[33mChannelListScreen\u001b[39m\u001b[33m.\u001b[39mgetChannelItemDisplayName(categoryKey\u001b[33m,\u001b[39m channelName))\u001b[33m.\u001b[39mtoBeVisible()\u001b[33m.\u001b[39mwithTimeout(timeouts\u001b[33m.\u001b[39m\u001b[33mTEN_SEC\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 158 |\u001b[39m \u001b[36mawait\u001b[39m \u001b[33mChannelListScreen\u001b[39m\u001b[33m.\u001b[39mgetChannelItemDisplayName(categoryKey\u001b[33m,\u001b[39m channelName)\u001b[33m.\u001b[39mtap()\u001b[33m;\u001b[39m\n \u001b[90m 159 |\u001b[39m \u001b[36mtry\u001b[39m {\n \u001b[90m 160 |\u001b[39m \u001b[36mawait\u001b[39m \u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mscheduledPostTooltipCloseButton\u001b[33m.\u001b[39mtap()\u001b[33m;\u001b[39m\u001b[0m\n\n at ChannelScreen.open (support/ui/screen/channel.ts:157:108)\n at Object.<anonymous> (test/products/channels/channels/channel_info.e2e.ts:94:29)\n" }, { "leaks": false, "numFailingTests": 0, "numPassingTests": 9, "numPendingTests": 0, "numTodoTests": 0, "openHandles": [], "perfStats": { "end": 1765990416704, "runtime": 99122, "slow": true, "start": 1765990317582 }, "skipped": false, "snapshot": { "added": 0, "fileDeleted": false, "matched": 0, "unchecked": 0, "uncheckedKeys": [], "unmatched": 0, "updated": 0 }, "testFilePath": "/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/channels/channel_list.e2e.ts", "testResults": [ { "ancestorTitles": [ "Channels - Channel List" ], "duration": 573, "failureDetails": [], "failureMessages": [], "fullName": "Channels - Channel List MM-T4728_1 - should match elements on channel list screen", "invocations": 1, "location": null, "numPassingAsserts": 3, "retryReasons": [], "status": "passed", "title": "MM-T4728_1 - should match elements on channel list screen" }, { "ancestorTitles": [ "Channels - Channel List" ], "duration": 26626, "failureDetails": [], "failureMessages": [], "fullName": "Channels - Channel List MM-T4728_2 - should be able to switch between channels", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T4728_2 - should be able to switch between channels" }, { "ancestorTitles": [ "Channels - Channel List" ], "duration": 12039, "failureDetails": [], "failureMessages": [], "fullName": "Channels - Channel List MM-T4728_3 - should be able to collapse and expand categories", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T4728_3 - should be able to collapse and expand categories" }, { "ancestorTitles": [ "Channels - Channel List" ], "duration": 3269, "failureDetails": [], "failureMessages": [], "fullName": "Channels - Channel List MM-T4728_4 - should be able to go to browse channels screen", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T4728_4 - should be able to go to browse channels screen" }, { "ancestorTitles": [ "Channels - Channel List" ], "duration": 5923, "failureDetails": [], "failureMessages": [], "fullName": "Channels - Channel List MM-T4728_5 - should be able to go to create direct message screen", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T4728_5 - should be able to go to create direct message screen" }, { "ancestorTitles": [ "Channels - Channel List" ], "duration": 3103, "failureDetails": [], "failureMessages": [], "fullName": "Channels - Channel List MM-T4728_6 - should be able to go to create channel screen", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T4728_6 - should be able to go to create channel screen" }, { "ancestorTitles": [ "Channels - Channel List" ], "duration": 1477, "failureDetails": [], "failureMessages": [], "fullName": "Channels - Channel List MM-T4728_7 - should be able to go to global threads screen", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T4728_7 - should be able to go to global threads screen" }, { "ancestorTitles": [ "Channels - Channel List" ], "duration": 1574, "failureDetails": [], "failureMessages": [], "fullName": "Channels - Channel List MM-T4728_8 - should be able to go to find channels screen", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T4728_8 - should be able to go to find channels screen" }, { "ancestorTitles": [ "Channels - Channel List" ], "duration": 10744, "failureDetails": [], "failureMessages": [], "fullName": "Channels - Channel List MM-T4728_9 - should be able to switch between teams", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T4728_9 - should be able to switch between teams" } ], "failureMessage": null }, { "leaks": false, "numFailingTests": 2, "numPassingTests": 0, "numPendingTests": 0, "numTodoTests": 0, "openHandles": [], "perfStats": { "end": 1765990473708, "runtime": 56890, "slow": true, "start": 1765990416818 }, "skipped": false, "snapshot": { "added": 0, "fileDeleted": false, "matched": 0, "unchecked": 0, "uncheckedKeys": [], "unmatched": 0, "updated": 0 }, "testFilePath": "/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/channels/channel_post_list.e2e.ts", "testResults": [ { "ancestorTitles": [ "Channels - Channel Post List" ], "duration": 11352, "failureDetails": [ { "name": "DetoxRuntimeError" } ], "failureMessages": [ "Test Failed: '(view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)' doesn't match the selected view.\nExpected: (view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)\n Got: was null\n\n at Object.<anonymous> (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/channels/channel_post_list.e2e.ts:71:53)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)" ], "fullName": "Channels - Channel Post List MM-T4773_1 - should match elements on channel screen", "invocations": 1, "location": null, "numPassingAsserts": 3, "retryReasons": [], "status": "failed", "title": "MM-T4773_1 - should match elements on channel screen" }, { "ancestorTitles": [ "Channels - Channel Post List" ], "duration": 10729, "failureDetails": [ { "name": "DetoxRuntimeError" } ], "failureMessages": [ "Test Failed: 10.0sec timeout expired without matching of given matcher: not null\n at ChannelListScreen.toBeVisible (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/screen/channel_list.ts:79:57)\n at Object.<anonymous> (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/channels/channel_post_list.e2e.ts:44:33)\n at Promise.then.completed (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/utils.js:298:28)\n at new Promise (<anonymous>)\n at callAsyncCircusFn (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/utils.js:231:10)\n at _callCircusHook (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:281:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:246:5)\n at _runTestsForDescribeBlock (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:126:9)\n at _runTestsForDescribeBlock (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:121:9)\n at run (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:71:3)\n at runAndTransformResultsToJestFormat (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at jestAdapter (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at runTestInternal (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-runner/build/runTest.js:367:16)\n at runTest (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-runner/build/runTest.js:444:34)" ], "fullName": "Channels - Channel Post List MM-T4773_2 - should be able to add a message to post list and delete a message from post list", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "failed", "title": "MM-T4773_2 - should be able to add a message to post list and delete a message from post list" } ], "failureMessage": " ● Channels - Channel Post List › MM-T4773_1 - should match elements on channel screen\n\n Test Failed: '(view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)' doesn't match the selected view.\n Expected: (view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)\n Got: was null\n\n \u001b[0m \u001b[90m 69 |\u001b[39m \u001b[36mawait\u001b[39m expect(\u001b[33mChannelScreen\u001b[39m\u001b[33m.\u001b[39matInputQuickAction)\u001b[33m.\u001b[39mtoBeVisible()\u001b[33m;\u001b[39m\n \u001b[90m 70 |\u001b[39m \u001b[36mawait\u001b[39m expect(\u001b[33mChannelScreen\u001b[39m\u001b[33m.\u001b[39mslashInputQuickAction)\u001b[33m.\u001b[39mtoBeVisible()\u001b[33m;\u001b[39m\n \u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 71 |\u001b[39m \u001b[36mawait\u001b[39m expect(\u001b[33mChannelScreen\u001b[39m\u001b[33m.\u001b[39mfileQuickAction)\u001b[33m.\u001b[39mtoBeVisible()\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 72 |\u001b[39m \u001b[36mawait\u001b[39m expect(\u001b[33mChannelScreen\u001b[39m\u001b[33m.\u001b[39mimageQuickAction)\u001b[33m.\u001b[39mtoBeVisible()\u001b[33m;\u001b[39m\n \u001b[90m 73 |\u001b[39m \u001b[36mawait\u001b[39m expect(\u001b[33mChannelScreen\u001b[39m\u001b[33m.\u001b[39mcameraQuickAction)\u001b[33m.\u001b[39mtoBeVisible()\u001b[33m;\u001b[39m\n \u001b[90m 74 |\u001b[39m \u001b[36mawait\u001b[39m expect(\u001b[33mChannelScreen\u001b[39m\u001b[33m.\u001b[39msendButtonDisabled)\u001b[33m.\u001b[39mtoBeVisible()\u001b[33m;\u001b[39m\u001b[0m\n\n at Object.<anonymous> (test/products/channels/channels/channel_post_list.e2e.ts:71:53)\n\n ● Channels - Channel Post List › MM-T4773_2 - should be able to add a message to post list and delete a message from post list\n\n Test Failed: 10.0sec timeout expired without matching of given matcher: not null\n\n \u001b[0m \u001b[90m 77 |\u001b[39m\n \u001b[90m 78 |\u001b[39m toBeVisible \u001b[33m=\u001b[39m \u001b[36masync\u001b[39m () \u001b[33m=>\u001b[39m {\n \u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 79 |\u001b[39m \u001b[36mawait\u001b[39m waitFor(\u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mchannelListScreen)\u001b[33m.\u001b[39mtoExist()\u001b[33m.\u001b[39mwithTimeout(timeouts\u001b[33m.\u001b[39m\u001b[33mTEN_SEC\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 80 |\u001b[39m\n \u001b[90m 81 |\u001b[39m \u001b[36mreturn\u001b[39m \u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mchannelListScreen\u001b[33m;\u001b[39m\n \u001b[90m 82 |\u001b[39m }\u001b[33m;\u001b[39m\u001b[0m\n\n at ChannelListScreen.toBeVisible (support/ui/screen/channel_list.ts:79:57)\n at Object.<anonymous> (test/products/channels/channels/channel_post_list.e2e.ts:44:33)\n\n\n ● Test suite failed to run\n\n Test Failed: 2.0sec timeout expired without matching of given matcher: (view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)\n\n \u001b[0m \u001b[90m 82 |\u001b[39m open \u001b[33m=\u001b[39m \u001b[36masync\u001b[39m () \u001b[33m=>\u001b[39m {\n \u001b[90m 83 |\u001b[39m \u001b[90m// # Open account screen\u001b[39m\n \u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 84 |\u001b[39m \u001b[36mawait\u001b[39m waitFor(\u001b[33mHomeScreen\u001b[39m\u001b[33m.\u001b[39maccountTab)\u001b[33m.\u001b[39mtoBeVisible()\u001b[33m.\u001b[39mwithTimeout(timeouts\u001b[33m.\u001b[39m\u001b[33mTWO_SEC\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 85 |\u001b[39m \u001b[36mawait\u001b[39m \u001b[33mHomeScreen\u001b[39m\u001b[33m.\u001b[39maccountTab\u001b[33m.\u001b[39mtap()\u001b[33m;\u001b[39m\n \u001b[90m 86 |\u001b[39m\n \u001b[90m 87 |\u001b[39m \u001b[36mreturn\u001b[39m \u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mtoBeVisible()\u001b[33m;\u001b[39m\u001b[0m\n\n at AccountScreen.open (support/ui/screen/account.ts:84:60)\n at HomeScreen.logout (support/ui/screen/home.ts:40:29)\n at Object.<anonymous> (test/products/channels/channels/channel_post_list.e2e.ts:49:26)\n", "testExecError": { "message": "", "stack": "Test Failed: 2.0sec timeout expired without matching of given matcher: (view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)\n at AccountScreen.open (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/screen/account.ts:84:60)\n at HomeScreen.logout (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/screen/home.ts:40:29)\n at Object.<anonymous> (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/channels/channel_post_list.e2e.ts:49:26)\n at Promise.then.completed (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/utils.js:298:28)\n at new Promise (<anonymous>)\n at callAsyncCircusFn (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/utils.js:231:10)\n at _callCircusHook (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:281:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTestsForDescribeBlock (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:154:7)\n at _runTestsForDescribeBlock (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:121:9)\n at run (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:71:3)\n at runAndTransformResultsToJestFormat (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at jestAdapter (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at runTestInternal (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-runner/build/runTest.js:367:16)\n at runTest (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-runner/build/runTest.js:444:34)" } }, { "leaks": false, "numFailingTests": 0, "numPassingTests": 2, "numPendingTests": 0, "numTodoTests": 0, "openHandles": [], "perfStats": { "end": 1765990544118, "runtime": 70277, "slow": true, "start": 1765990473841 }, "skipped": false, "snapshot": { "added": 0, "fileDeleted": false, "matched": 0, "unchecked": 0, "uncheckedKeys": [], "unmatched": 0, "updated": 0 }, "testFilePath": "/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/channels/convert_to_private_channel.e2e.ts", "testResults": [ { "ancestorTitles": [ "Channels - Convert to Private Channel" ], "duration": 20806, "failureDetails": [], "failureMessages": [], "fullName": "Channels - Convert to Private Channel MM-T4972_1 - should be able to convert public channel to private and confirm", "invocations": 1, "location": null, "numPassingAsserts": 3, "retryReasons": [], "status": "passed", "title": "MM-T4972_1 - should be able to convert public channel to private and confirm" }, { "ancestorTitles": [ "Channels - Convert to Private Channel" ], "duration": 13922, "failureDetails": [], "failureMessages": [], "fullName": "Channels - Convert to Private Channel MM-T4972_2 - should be able to convert public channel to private and cancel", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T4972_2 - should be able to convert public channel to private and cancel" } ], "failureMessage": null }, { "leaks": false, "numFailingTests": 2, "numPassingTests": 1, "numPendingTests": 0, "numTodoTests": 0, "openHandles": [], "perfStats": { "end": 1765990612999, "runtime": 68766, "slow": true, "start": 1765990544233 }, "skipped": false, "snapshot": { "added": 0, "fileDeleted": false, "matched": 0, "unchecked": 0, "uncheckedKeys": [], "unmatched": 0, "updated": 0 }, "testFilePath": "/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/channels/create_channel_and_edit_channel_header.e2e.ts", "testResults": [ { "ancestorTitles": [ "Channels - Create Channel and Edit Channel Header" ], "duration": 2840, "failureDetails": [], "failureMessages": [], "fullName": "Channels - Create Channel and Edit Channel Header MM-T4731_1 - should match elements on create channel screen", "invocations": 1, "location": null, "numPassingAsserts": 3, "retryReasons": [], "status": "passed", "title": "MM-T4731_1 - should match elements on create channel screen" }, { "ancestorTitles": [ "Channels - Create Channel and Edit Channel Header" ], "duration": 21735, "failureDetails": [ { "name": "DetoxRuntimeError" } ], "failureMessages": [ "Test Failed: 10.0sec timeout expired without matching of given matcher: not null\n at CreateOrEditChannelScreen.toBeVisible (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/screen/create_or_edit_channel.ts:46:65)\n at CreateOrEditChannelScreen.openEditChannelHeader (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/screen/create_or_edit_channel.ts:76:21)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at Object.<anonymous> (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/channels/create_channel_and_edit_channel_header.e2e.ts:99:9)" ], "fullName": "Channels - Create Channel and Edit Channel Header MM-T4731_2 - should be able to create a public channel and edit the channel header", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "failed", "title": "MM-T4731_2 - should be able to create a public channel and edit the channel header" }, { "ancestorTitles": [ "Channels - Create Channel and Edit Channel Header" ], "duration": 10716, "failureDetails": [ { "name": "DetoxRuntimeError" } ], "failureMessages": [ "Test Failed: 10.0sec timeout expired without matching of given matcher: not null\n at ChannelListScreen.toBeVisible (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/screen/channel_list.ts:79:57)\n at Object.<anonymous> (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/channels/create_channel_and_edit_channel_header.e2e.ts:39:33)\n at Promise.then.completed (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/utils.js:298:28)\n at new Promise (<anonymous>)\n at callAsyncCircusFn (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/utils.js:231:10)\n at _callCircusHook (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:281:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:246:5)\n at _runTestsForDescribeBlock (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:126:9)\n at _runTestsForDescribeBlock (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:121:9)\n at run (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:71:3)\n at runAndTransformResultsToJestFormat (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at jestAdapter (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at runTestInternal (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-runner/build/runTest.js:367:16)\n at runTest (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-runner/build/runTest.js:444:34)" ], "fullName": "Channels - Create Channel and Edit Channel Header MM-T4731_3 - should be able to create a private channel and edit the channel header", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "failed", "title": "MM-T4731_3 - should be able to create a private channel and edit the channel header" } ], "failureMessage": " ● Channels - Create Channel and Edit Channel Header › MM-T4731_2 - should be able to create a public channel and edit the channel header\n\n Test Failed: 10.0sec timeout expired without matching of given matcher: not null\n\n \u001b[0m \u001b[90m 44 |\u001b[39m\n \u001b[90m 45 |\u001b[39m toBeVisible \u001b[33m=\u001b[39m \u001b[36masync\u001b[39m () \u001b[33m=>\u001b[39m {\n \u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 46 |\u001b[39m \u001b[36mawait\u001b[39m waitFor(\u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mcreateOrEditChannelScreen)\u001b[33m.\u001b[39mtoExist()\u001b[33m.\u001b[39mwithTimeout(timeouts\u001b[33m.\u001b[39m\u001b[33mTEN_SEC\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 47 |\u001b[39m\n \u001b[90m 48 |\u001b[39m \u001b[36mreturn\u001b[39m \u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mcreateOrEditChannelScreen\u001b[33m;\u001b[39m\n \u001b[90m 49 |\u001b[39m }\u001b[33m;\u001b[39m\u001b[0m\n\n at CreateOrEditChannelScreen.toBeVisible (support/ui/screen/create_or_edit_channel.ts:46:65)\n at CreateOrEditChannelScreen.openEditChannelHeader (support/ui/screen/create_or_edit_channel.ts:76:21)\n at Object.<anonymous> (test/products/channels/channels/create_channel_and_edit_channel_header.e2e.ts:99:9)\n\n ● Channels - Create Channel and Edit Channel Header › MM-T4731_3 - should be able to create a private channel and edit the channel header\n\n Test Failed: 10.0sec timeout expired without matching of given matcher: not null\n\n \u001b[0m \u001b[90m 77 |\u001b[39m\n \u001b[90m 78 |\u001b[39m toBeVisible \u001b[33m=\u001b[39m \u001b[36masync\u001b[39m () \u001b[33m=>\u001b[39m {\n \u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 79 |\u001b[39m \u001b[36mawait\u001b[39m waitFor(\u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mchannelListScreen)\u001b[33m.\u001b[39mtoExist()\u001b[33m.\u001b[39mwithTimeout(timeouts\u001b[33m.\u001b[39m\u001b[33mTEN_SEC\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 80 |\u001b[39m\n \u001b[90m 81 |\u001b[39m \u001b[36mreturn\u001b[39m \u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mchannelListScreen\u001b[33m;\u001b[39m\n \u001b[90m 82 |\u001b[39m }\u001b[33m;\u001b[39m\u001b[0m\n\n at ChannelListScreen.toBeVisible (support/ui/screen/channel_list.ts:79:57)\n at Object.<anonymous> (test/products/channels/channels/create_channel_and_edit_channel_header.e2e.ts:39:33)\n\n\n ● Test suite failed to run\n\n Test Failed: 2.0sec timeout expired without matching of given matcher: (view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)\n\n \u001b[0m \u001b[90m 82 |\u001b[39m open \u001b[33m=\u001b[39m \u001b[36masync\u001b[39m () \u001b[33m=>\u001b[39m {\n \u001b[90m 83 |\u001b[39m \u001b[90m// # Open account screen\u001b[39m\n \u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 84 |\u001b[39m \u001b[36mawait\u001b[39m waitFor(\u001b[33mHomeScreen\u001b[39m\u001b[33m.\u001b[39maccountTab)\u001b[33m.\u001b[39mtoBeVisible()\u001b[33m.\u001b[39mwithTimeout(timeouts\u001b[33m.\u001b[39m\u001b[33mTWO_SEC\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 85 |\u001b[39m \u001b[36mawait\u001b[39m \u001b[33mHomeScreen\u001b[39m\u001b[33m.\u001b[39maccountTab\u001b[33m.\u001b[39mtap()\u001b[33m;\u001b[39m\n \u001b[90m 86 |\u001b[39m\n \u001b[90m 87 |\u001b[39m \u001b[36mreturn\u001b[39m \u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mtoBeVisible()\u001b[33m;\u001b[39m\u001b[0m\n\n at AccountScreen.open (support/ui/screen/account.ts:84:60)\n at HomeScreen.logout (support/ui/screen/home.ts:40:29)\n at Object.<anonymous> (test/products/channels/channels/create_channel_and_edit_channel_header.e2e.ts:44:26)\n", "testExecError": { "message": "", "stack": "Test Failed: 2.0sec timeout expired without matching of given matcher: (view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)\n at AccountScreen.open (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/screen/account.ts:84:60)\n at HomeScreen.logout (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/screen/home.ts:40:29)\n at Object.<anonymous> (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/channels/create_channel_and_edit_channel_header.e2e.ts:44:26)\n at Promise.then.completed (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/utils.js:298:28)\n at new Promise (<anonymous>)\n at callAsyncCircusFn (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/utils.js:231:10)\n at _callCircusHook (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:281:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTestsForDescribeBlock (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:154:7)\n at _runTestsForDescribeBlock (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:121:9)\n at run (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:71:3)\n at runAndTransformResultsToJestFormat (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at jestAdapter (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at runTestInternal (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-runner/build/runTest.js:367:16)\n at runTest (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-runner/build/runTest.js:444:34)" } }, { "leaks": false, "numFailingTests": 0, "numPassingTests": 5, "numPendingTests": 0, "numTodoTests": 0, "openHandles": [], "perfStats": { "end": 1765990776877, "runtime": 163715, "slow": true, "start": 1765990613162 }, "skipped": false, "snapshot": { "added": 0, "fileDeleted": false, "matched": 0, "unchecked": 0, "uncheckedKeys": [], "unmatched": 0, "updated": 0 }, "testFilePath": "/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/channels/create_direct_message.e2e.ts", "testResults": [ { "ancestorTitles": [ "Channels - Create Direct Message" ], "duration": 17428, "failureDetails": [], "failureMessages": [], "fullName": "Channels - Create Direct Message MM-T4730_1 - should match elements on create direct message screen", "invocations": 1, "location": null, "numPassingAsserts": 3, "retryReasons": [], "status": "passed", "title": "MM-T4730_1 - should match elements on create direct message screen" }, { "ancestorTitles": [ "Channels - Create Direct Message" ], "duration": 28248, "failureDetails": [], "failureMessages": [], "fullName": "Channels - Create Direct Message MM-T4730_2 - should be able to create a direct message", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T4730_2 - should be able to create a direct message" }, { "ancestorTitles": [ "Channels - Create Direct Message" ], "duration": 33559, "failureDetails": [], "failureMessages": [], "fullName": "Channels - Create Direct Message MM-T4730_3 - should be able to create a group message", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T4730_3 - should be able to create a group message" }, { "ancestorTitles": [ "Channels - Create Direct Message" ], "duration": 17678, "failureDetails": [], "failureMessages": [], "fullName": "Channels - Create Direct Message MM-T4730_4 - should display empty search state for create direct message", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T4730_4 - should display empty search state for create direct message" }, { "ancestorTitles": [ "Channels - Create Direct Message" ], "duration": 33482, "failureDetails": [], "failureMessages": [], "fullName": "Channels - Create Direct Message MM-T63374 - should not display deactivated users in the create direct message screen", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T63374 - should not display deactivated users in the create direct message screen" } ], "failureMessage": null }, { "leaks": false, "numFailingTests": 0, "numPassingTests": 4, "numPendingTests": 0, "numTodoTests": 0, "openHandles": [], "perfStats": { "end": 1765990906322, "runtime": 129346, "slow": true, "start": 1765990776976 }, "skipped": false, "snapshot": { "added": 0, "fileDeleted": false, "matched": 0, "unchecked": 0, "uncheckedKeys": [], "unmatched": 0, "updated": 0 }, "testFilePath": "/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/channels/edit_channel.e2e.ts", "testResults": [ { "ancestorTitles": [ "Channels - Edit Channel" ], "duration": 5824, "failureDetails": [], "failureMessages": [], "fullName": "Channels - Edit Channel MM-T4906_1 - should match elements on edit channel screen", "invocations": 1, "location": null, "numPassingAsserts": 3, "retryReasons": [], "status": "passed", "title": "MM-T4906_1 - should match elements on edit channel screen" }, { "ancestorTitles": [ "Channels - Edit Channel" ], "duration": 12742, "failureDetails": [], "failureMessages": [], "fullName": "Channels - Edit Channel MM-T4906_2 - should be able to edit public channel", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T4906_2 - should be able to edit public channel" }, { "ancestorTitles": [ "Channels - Edit Channel" ], "duration": 32615, "failureDetails": [], "failureMessages": [], "fullName": "Channels - Edit Channel MM-T4906_3 - should be able edit direct message channel", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T4906_3 - should be able edit direct message channel" }, { "ancestorTitles": [ "Channels - Edit Channel" ], "duration": 38389, "failureDetails": [], "failureMessages": [], "fullName": "Channels - Edit Channel MM-T4906_4 - should be able edit group message channel", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T4906_4 - should be able edit group message channel" } ], "failureMessage": null }, { "leaks": false, "numFailingTests": 0, "numPassingTests": 3, "numPendingTests": 0, "numTodoTests": 0, "openHandles": [], "perfStats": { "end": 1765991016728, "runtime": 110268, "slow": true, "start": 1765990906460 }, "skipped": false, "snapshot": { "added": 0, "fileDeleted": false, "matched": 0, "unchecked": 0, "uncheckedKeys": [], "unmatched": 0, "updated": 0 }, "testFilePath": "/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/channels/favorite_and_unfavorite_channel.e2e.ts", "testResults": [ { "ancestorTitles": [ "Channels - Favorite and Unfavorite Channel" ], "duration": 24159, "failureDetails": [], "failureMessages": [], "fullName": "Channels - Favorite and Unfavorite Channel MM-T4929_1 - should be able to favorite/unfavorite a channel from channel quick actions", "invocations": 1, "location": null, "numPassingAsserts": 3, "retryReasons": [], "status": "passed", "title": "MM-T4929_1 - should be able to favorite/unfavorite a channel from channel quick actions" }, { "ancestorTitles": [ "Channels - Favorite and Unfavorite Channel" ], "duration": 16020, "failureDetails": [], "failureMessages": [], "fullName": "Channels - Favorite and Unfavorite Channel MM-T4929_2 - should be able to favorite/unfavorite a channel from channel info screen", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T4929_2 - should be able to favorite/unfavorite a channel from channel info screen" }, { "ancestorTitles": [ "Channels - Favorite and Unfavorite Channel" ], "duration": 37432, "failureDetails": [], "failureMessages": [], "fullName": "Channels - Favorite and Unfavorite Channel MM-T4929_3 - should be able to favorite/unfavorite a direct message channel from channel intro", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T4929_3 - should be able to favorite/unfavorite a direct message channel from channel intro" } ], "failureMessage": null }, { "leaks": false, "numFailingTests": 2, "numPassingTests": 4, "numPendingTests": 0, "numTodoTests": 0, "openHandles": [], "perfStats": { "end": 1765991144835, "runtime": 127949, "slow": true, "start": 1765991016886 }, "skipped": false, "snapshot": { "added": 0, "fileDeleted": false, "matched": 0, "unchecked": 0, "uncheckedKeys": [], "unmatched": 0, "updated": 0 }, "testFilePath": "/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/channels/find_channels.e2e.ts", "testResults": [ { "ancestorTitles": [ "Channels - Find Channels" ], "duration": 2111, "failureDetails": [], "failureMessages": [], "fullName": "Channels - Find Channels MM-T4907_1 - should match elements on find channels screen", "invocations": 1, "location": null, "numPassingAsserts": 3, "retryReasons": [], "status": "passed", "title": "MM-T4907_1 - should match elements on find channels screen" }, { "ancestorTitles": [ "Channels - Find Channels" ], "duration": 23172, "failureDetails": [], "failureMessages": [], "fullName": "Channels - Find Channels MM-T4907_2 - should be able to find and navigate to a public channel", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T4907_2 - should be able to find and navigate to a public channel" }, { "ancestorTitles": [ "Channels - Find Channels" ], "duration": 16935, "failureDetails": [], "failureMessages": [], "fullName": "Channels - Find Channels MM-T4907_3 - should display empty search state for find channels", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T4907_3 - should display empty search state for find channels" }, { "ancestorTitles": [ "Channels - Find Channels" ], "duration": 14457, "failureDetails": [], "failureMessages": [], "fullName": "Channels - Find Channels MM-T4907_4 - should be able to find direct and group message channels", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T4907_4 - should be able to find direct and group message channels" }, { "ancestorTitles": [ "Channels - Find Channels" ], "duration": 26657, "failureDetails": [ { "name": "DetoxRuntimeError" } ], "failureMessages": [ "Test Failed: No views in hierarchy found matching: (view.getTag() is \"find_channels.filtered_list.channel_item.channel-730512\" and view has effective visibility <VISIBLE>)\n\n\nHINT: To print view hierarchy on failed actions/matches, use log-level verbose or higher.\n at Object.<anonymous> (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/channels/find_channels.e2e.ts:149:79)" ], "fullName": "Channels - Find Channels MM-T4907_5 - should be able to find an archived channel", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "failed", "title": "MM-T4907_5 - should be able to find an archived channel" }, { "ancestorTitles": [ "Channels - Find Channels" ], "duration": 10731, "failureDetails": [ { "name": "DetoxRuntimeError" } ], "failureMessages": [ "Test Failed: 10.0sec timeout expired without matching of given matcher: not null\n at ChannelListScreen.toBeVisible (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/screen/channel_list.ts:79:57)\n at Object.<anonymous> (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/channels/find_channels.e2e.ts:50:33)\n at Promise.then.completed (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/utils.js:298:28)\n at new Promise (<anonymous>)\n at callAsyncCircusFn (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/utils.js:231:10)\n at _callCircusHook (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:281:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:246:5)\n at _runTestsForDescribeBlock (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:126:9)\n at _runTestsForDescribeBlock (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:121:9)\n at run (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:71:3)\n at runAndTransformResultsToJestFormat (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at jestAdapter (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at runTestInternal (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-runner/build/runTest.js:367:16)\n at runTest (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-runner/build/runTest.js:444:34)" ], "fullName": "Channels - Find Channels MM-T4907_6 - should be able to find a joined private channel and not find an unjoined private channel", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "failed", "title": "MM-T4907_6 - should be able to find a joined private channel and not find an unjoined private channel" } ], "failureMessage": " ● Channels - Find Channels › MM-T4907_5 - should be able to find an archived channel\n\n Test Failed: No views in hierarchy found matching: (view.getTag() is \"find_channels.filtered_list.channel_item.channel-730512\" and view has effective visibility <VISIBLE>)\n\n\n HINT: To print view hierarchy on failed actions/matches, use log-level verbose or higher.\n\n \u001b[0m \u001b[90m 147 |\u001b[39m \u001b[90m// * Verify search returns the target archived channel item\u001b[39m\n \u001b[90m 148 |\u001b[39m \u001b[36mawait\u001b[39m wait(timeouts\u001b[33m.\u001b[39m\u001b[33mFOUR_SEC\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 149 |\u001b[39m \u001b[36mawait\u001b[39m \u001b[33mFindChannelsScreen\u001b[39m\u001b[33m.\u001b[39mgetFilteredChannelItem(archivedChannel\u001b[33m.\u001b[39mname)\u001b[33m.\u001b[39mtap()\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 150 |\u001b[39m \u001b[36mawait\u001b[39m wait(timeouts\u001b[33m.\u001b[39m\u001b[33mFOUR_SEC\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m 151 |\u001b[39m\n \u001b[90m 152 |\u001b[39m \u001b[90m// * Verify on archievd channel name\u001b[39m\u001b[0m\n\n at Object.<anonymous> (test/products/channels/channels/find_channels.e2e.ts:149:79)\n\n ● Channels - Find Channels › MM-T4907_6 - should be able to find a joined private channel and not find an unjoined private channel\n\n Test Failed: 10.0sec timeout expired without matching of given matcher: not null\n\n \u001b[0m \u001b[90m 77 |\u001b[39m\n \u001b[90m 78 |\u001b[39m toBeVisible \u001b[33m=\u001b[39m \u001b[36masync\u001b[39m () \u001b[33m=>\u001b[39m {\n \u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 79 |\u001b[39m \u001b[36mawait\u001b[39m waitFor(\u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mchannelListScreen)\u001b[33m.\u001b[39mtoExist()\u001b[33m.\u001b[39mwithTimeout(timeouts\u001b[33m.\u001b[39m\u001b[33mTEN_SEC\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 80 |\u001b[39m\n \u001b[90m 81 |\u001b[39m \u001b[36mreturn\u001b[39m \u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mchannelListScreen\u001b[33m;\u001b[39m\n \u001b[90m 82 |\u001b[39m }\u001b[33m;\u001b[39m\u001b[0m\n\n at ChannelListScreen.toBeVisible (support/ui/screen/channel_list.ts:79:57)\n at Object.<anonymous> (test/products/channels/channels/find_channels.e2e.ts:50:33)\n\n\n ● Test suite failed to run\n\n Test Failed: 2.0sec timeout expired without matching of given matcher: (view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)\n\n \u001b[0m \u001b[90m 82 |\u001b[39m open \u001b[33m=\u001b[39m \u001b[36masync\u001b[39m () \u001b[33m=>\u001b[39m {\n \u001b[90m 83 |\u001b[39m \u001b[90m// # Open account screen\u001b[39m\n \u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 84 |\u001b[39m \u001b[36mawait\u001b[39m waitFor(\u001b[33mHomeScreen\u001b[39m\u001b[33m.\u001b[39maccountTab)\u001b[33m.\u001b[39mtoBeVisible()\u001b[33m.\u001b[39mwithTimeout(timeouts\u001b[33m.\u001b[39m\u001b[33mTWO_SEC\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 85 |\u001b[39m \u001b[36mawait\u001b[39m \u001b[33mHomeScreen\u001b[39m\u001b[33m.\u001b[39maccountTab\u001b[33m.\u001b[39mtap()\u001b[33m;\u001b[39m\n \u001b[90m 86 |\u001b[39m\n \u001b[90m 87 |\u001b[39m \u001b[36mreturn\u001b[39m \u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mtoBeVisible()\u001b[33m;\u001b[39m\u001b[0m\n\n at AccountScreen.open (support/ui/screen/account.ts:84:60)\n at HomeScreen.logout (support/ui/screen/home.ts:40:29)\n at Object.<anonymous> (test/products/channels/channels/find_channels.e2e.ts:55:26)\n", "testExecError": { "message": "", "stack": "Test Failed: 2.0sec timeout expired without matching of given matcher: (view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)\n at AccountScreen.open (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/screen/account.ts:84:60)\n at HomeScreen.logout (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/screen/home.ts:40:29)\n at Object.<anonymous> (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/channels/find_channels.e2e.ts:55:26)\n at Promise.then.completed (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/utils.js:298:28)\n at new Promise (<anonymous>)\n at callAsyncCircusFn (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/utils.js:231:10)\n at _callCircusHook (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:281:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTestsForDescribeBlock (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:154:7)\n at _runTestsForDescribeBlock (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:121:9)\n at run (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:71:3)\n at runAndTransformResultsToJestFormat (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at jestAdapter (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at runTestInternal (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-runner/build/runTest.js:367:16)\n at runTest (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-runner/build/runTest.js:444:34)" } }, { "leaks": false, "numFailingTests": 0, "numPassingTests": 4, "numPendingTests": 0, "numTodoTests": 0, "openHandles": [], "perfStats": { "end": 1765990299588, "runtime": 96142, "slow": true, "start": 1765990203446 }, "skipped": false, "snapshot": { "added": 0, "fileDeleted": false, "matched": 0, "unchecked": 0, "uncheckedKeys": [], "unmatched": 0, "updated": 0 }, "testFilePath": "/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/autocomplete/create_channel.e2e.ts", "testResults": [ { "ancestorTitles": [ "Autocomplete - Create Channel" ], "duration": 1736, "failureDetails": [], "failureMessages": [], "fullName": "Autocomplete - Create Channel MM-T4904_1 - should render at-mention autocomplete in header input", "invocations": 1, "location": null, "numPassingAsserts": 3, "retryReasons": [], "status": "passed", "title": "MM-T4904_1 - should render at-mention autocomplete in header input" }, { "ancestorTitles": [ "Autocomplete - Create Channel" ], "duration": 1639, "failureDetails": [], "failureMessages": [], "fullName": "Autocomplete - Create Channel MM-T4904_2 - should render channel mention autocomplete in header input", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T4904_2 - should render channel mention autocomplete in header input" }, { "ancestorTitles": [ "Autocomplete - Create Channel" ], "duration": 2343, "failureDetails": [], "failureMessages": [], "fullName": "Autocomplete - Create Channel MM-T4904_3 - should render emoji suggestion autocomplete in header input", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T4904_3 - should render emoji suggestion autocomplete in header input" }, { "ancestorTitles": [ "Autocomplete - Create Channel" ], "duration": 1364, "failureDetails": [], "failureMessages": [], "fullName": "Autocomplete - Create Channel MM-T4904_4 - should not render slash suggestion autocomplete in header input", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T4904_4 - should not render slash suggestion autocomplete in header input" } ], "failureMessage": null }, { "leaks": false, "numFailingTests": 0, "numPassingTests": 4, "numPendingTests": 0, "numTodoTests": 0, "openHandles": [], "perfStats": { "end": 1765990350763, "runtime": 51046, "slow": true, "start": 1765990299717 }, "skipped": false, "snapshot": { "added": 0, "fileDeleted": false, "matched": 0, "unchecked": 0, "uncheckedKeys": [], "unmatched": 0, "updated": 0 }, "testFilePath": "/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/autocomplete/edit_channel.e2e.ts", "testResults": [ { "ancestorTitles": [ "Autocomplete - Edit Channel" ], "duration": 1891, "failureDetails": [], "failureMessages": [], "fullName": "Autocomplete - Edit Channel MM-T4885_1 - should render at-mention autocomplete in header input", "invocations": 1, "location": null, "numPassingAsserts": 3, "retryReasons": [], "status": "passed", "title": "MM-T4885_1 - should render at-mention autocomplete in header input" }, { "ancestorTitles": [ "Autocomplete - Edit Channel" ], "duration": 1559, "failureDetails": [], "failureMessages": [], "fullName": "Autocomplete - Edit Channel MM-T4885_2 - should render channel mention autocomplete in header input", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T4885_2 - should render channel mention autocomplete in header input" }, { "ancestorTitles": [ "Autocomplete - Edit Channel" ], "duration": 2237, "failureDetails": [], "failureMessages": [], "fullName": "Autocomplete - Edit Channel MM-T4885_3 - should render emoji suggestion autocomplete in header input", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T4885_3 - should render emoji suggestion autocomplete in header input" }, { "ancestorTitles": [ "Autocomplete - Edit Channel" ], "duration": 1343, "failureDetails": [], "failureMessages": [], "fullName": "Autocomplete - Edit Channel MM-T4885_4 - should not render slash suggestion autocomplete in header input", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T4885_4 - should not render slash suggestion autocomplete in header input" } ], "failureMessage": null }, { "leaks": false, "numFailingTests": 0, "numPassingTests": 4, "numPendingTests": 0, "numTodoTests": 0, "openHandles": [], "perfStats": { "end": 1765990400178, "runtime": 49244, "slow": true, "start": 1765990350934 }, "skipped": false, "snapshot": { "added": 0, "fileDeleted": false, "matched": 0, "unchecked": 0, "uncheckedKeys": [], "unmatched": 0, "updated": 0 }, "testFilePath": "/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/autocomplete/edit_channel_header.e2e.ts", "testResults": [ { "ancestorTitles": [ "Autocomplete - Edit Channel Header" ], "duration": 2276, "failureDetails": [], "failureMessages": [], "fullName": "Autocomplete - Edit Channel Header MM-T4884_1 - should render at-mention autocomplete in header input", "invocations": 1, "location": null, "numPassingAsserts": 3, "retryReasons": [], "status": "passed", "title": "MM-T4884_1 - should render at-mention autocomplete in header input" }, { "ancestorTitles": [ "Autocomplete - Edit Channel Header" ], "duration": 1599, "failureDetails": [], "failureMessages": [], "fullName": "Autocomplete - Edit Channel Header MM-T4884_2 - should render channel mention autocomplete in header input", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T4884_2 - should render channel mention autocomplete in header input" }, { "ancestorTitles": [ "Autocomplete - Edit Channel Header" ], "duration": 2228, "failureDetails": [], "failureMessages": [], "fullName": "Autocomplete - Edit Channel Header MM-T4884_3 - should render emoji suggestion autocomplete in header input", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T4884_3 - should render emoji suggestion autocomplete in header input" }, { "ancestorTitles": [ "Autocomplete - Edit Channel Header" ], "duration": 1279, "failureDetails": [], "failureMessages": [], "fullName": "Autocomplete - Edit Channel Header MM-T4884_4 - should not render slash suggestion autocomplete in header input", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T4884_4 - should not render slash suggestion autocomplete in header input" } ], "failureMessage": null }, { "leaks": false, "numFailingTests": 0, "numPassingTests": 4, "numPendingTests": 0, "numTodoTests": 0, "openHandles": [], "perfStats": { "end": 1765990459058, "runtime": 58743, "slow": true, "start": 1765990400315 }, "skipped": false, "snapshot": { "added": 0, "fileDeleted": false, "matched": 0, "unchecked": 0, "uncheckedKeys": [], "unmatched": 0, "updated": 0 }, "testFilePath": "/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/autocomplete/edit_post.e2e.ts", "testResults": [ { "ancestorTitles": [ "Autocomplete - Edit Post" ], "duration": 1634, "failureDetails": [], "failureMessages": [], "fullName": "Autocomplete - Edit Post MM-T4883_1 - should render at-mention autocomplete in message input", "invocations": 1, "location": null, "numPassingAsserts": 3, "retryReasons": [], "status": "passed", "title": "MM-T4883_1 - should render at-mention autocomplete in message input" }, { "ancestorTitles": [ "Autocomplete - Edit Post" ], "duration": 1576, "failureDetails": [], "failureMessages": [], "fullName": "Autocomplete - Edit Post MM-T4883_2 - should render channel mention autocomplete in message input", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T4883_2 - should render channel mention autocomplete in message input" }, { "ancestorTitles": [ "Autocomplete - Edit Post" ], "duration": 2290, "failureDetails": [], "failureMessages": [], "fullName": "Autocomplete - Edit Post MM-T4883_3 - should render emoji suggestion autocomplete in message input", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T4883_3 - should render emoji suggestion autocomplete in message input" }, { "ancestorTitles": [ "Autocomplete - Edit Post" ], "duration": 1983, "failureDetails": [], "failureMessages": [], "fullName": "Autocomplete - Edit Post MM-T4883_4 - should not render slash suggestion autocomplete in message input", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T4883_4 - should not render slash suggestion autocomplete in message input" } ], "failureMessage": null }, { "leaks": false, "numFailingTests": 6, "numPassingTests": 0, "numPendingTests": 0, "numTodoTests": 0, "openHandles": [], "perfStats": { "end": 1765990528697, "runtime": 69501, "slow": true, "start": 1765990459196 }, "skipped": false, "snapshot": { "added": 0, "fileDeleted": false, "matched": 0, "unchecked": 0, "uncheckedKeys": [], "unmatched": 0, "updated": 0 }, "testFilePath": "/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/autocomplete/emoji_suggestion.e2e.ts", "testResults": [ { "ancestorTitles": [ "Autocomplete - Emoji Suggestion" ], "duration": 5236, "failureDetails": [ { "name": "DetoxRuntimeError" } ], "failureMessages": [ "Test Failed: '(view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)' doesn't match the selected view.\nExpected: (view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)\n Got: view was <4> percent visible to the user\nView Details: ReactViewGroup{id=1705, visibility=VISIBLE, width=1036, height=633, has-focus=false, has-focusable=true, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, layout-params=android.view.ViewGroup$LayoutParams@YYYYYY, tag=autocomplete, root-is-layout-requested=false, has-input-connection=false, x=22.0, y=-607.0, child-count=1}\n\n at Autocomplete.toBeVisible (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/component/autocomplete.ts:117:56)\n at Object.<anonymous> (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/autocomplete/emoji_suggestion.e2e.ts:67:9)" ], "fullName": "Autocomplete - Emoji Suggestion MM-T4880_1 - should suggest emoji based on emoji name", "invocations": 1, "location": null, "numPassingAsserts": 3, "retryReasons": [], "status": "failed", "title": "MM-T4880_1 - should suggest emoji based on emoji name" }, { "ancestorTitles": [ "Autocomplete - Emoji Suggestion" ], "duration": 4855, "failureDetails": [ { "name": "DetoxRuntimeError" } ], "failureMessages": [ "Test Failed: '(view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)' doesn't match the selected view.\nExpected: (view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)\n Got: view was <4> percent visible to the user\nView Details: ReactViewGroup{id=1705, visibility=VISIBLE, width=1036, height=633, has-focus=false, has-focusable=true, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, layout-params=android.view.ViewGroup$LayoutParams@YYYYYY, tag=autocomplete, root-is-layout-requested=false, has-input-connection=false, x=22.0, y=-607.0, child-count=1}\n\n at Autocomplete.toBeVisible (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/component/autocomplete.ts:117:56)\n at Object.<anonymous> (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/autocomplete/emoji_suggestion.e2e.ts:82:9)" ], "fullName": "Autocomplete - Emoji Suggestion MM-T4880_2 - should suggest emoji based on uppercase emoji name", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "failed", "title": "MM-T4880_2 - should suggest emoji based on uppercase emoji name" }, { "ancestorTitles": [ "Autocomplete - Emoji Suggestion" ], "duration": 4716, "failureDetails": [ { "name": "DetoxRuntimeError" } ], "failureMessages": [ "Test Failed: '(view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)' doesn't match the selected view.\nExpected: (view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)\n Got: view was <4> percent visible to the user\nView Details: ReactViewGroup{id=1705, visibility=VISIBLE, width=1036, height=633, has-focus=false, has-focusable=true, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, layout-params=android.view.ViewGroup$LayoutParams@YYYYYY, tag=autocomplete, root-is-layout-requested=false, has-input-connection=false, x=22.0, y=-607.0, child-count=1}\n\n at Autocomplete.toBeVisible (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/component/autocomplete.ts:117:56)\n at Object.<anonymous> (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/autocomplete/emoji_suggestion.e2e.ts:97:9)" ], "fullName": "Autocomplete - Emoji Suggestion MM-T4880_3 - should suggest emoji based on partial emoji name", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "failed", "title": "MM-T4880_3 - should suggest emoji based on partial emoji name" }, { "ancestorTitles": [ "Autocomplete - Emoji Suggestion" ], "duration": 4724, "failureDetails": [ { "name": "DetoxRuntimeError" } ], "failureMessages": [ "Test Failed: '(view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)' doesn't match the selected view.\nExpected: (view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)\n Got: view was <4> percent visible to the user\nView Details: ReactViewGroup{id=1705, visibility=VISIBLE, width=1036, height=633, has-focus=false, has-focusable=true, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, layout-params=android.view.ViewGroup$LayoutParams@YYYYYY, tag=autocomplete, root-is-layout-requested=false, has-input-connection=false, x=22.0, y=-607.0, child-count=1}\n\n at Autocomplete.toBeVisible (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/component/autocomplete.ts:117:56)\n at Object.<anonymous> (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/autocomplete/emoji_suggestion.e2e.ts:112:9)" ], "fullName": "Autocomplete - Emoji Suggestion MM-T4880_4 - should stop suggesting emoji after emoji name with trailing space", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "failed", "title": "MM-T4880_4 - should stop suggesting emoji after emoji name with trailing space" }, { "ancestorTitles": [ "Autocomplete - Emoji Suggestion" ], "duration": 4714, "failureDetails": [ { "name": "DetoxRuntimeError" } ], "failureMessages": [ "Test Failed: '(view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)' doesn't match the selected view.\nExpected: (view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)\n Got: view was <4> percent visible to the user\nView Details: ReactViewGroup{id=1705, visibility=VISIBLE, width=1036, height=633, has-focus=false, has-focusable=true, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, layout-params=android.view.ViewGroup$LayoutParams@YYYYYY, tag=autocomplete, root-is-layout-requested=false, has-input-connection=false, x=22.0, y=-607.0, child-count=1}\n\n at Autocomplete.toBeVisible (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/component/autocomplete.ts:117:56)\n at Object.<anonymous> (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/autocomplete/emoji_suggestion.e2e.ts:134:9)" ], "fullName": "Autocomplete - Emoji Suggestion MM-T4880_5 - should stop suggesting emoji when keyword is not associated with any emoji", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "failed", "title": "MM-T4880_5 - should stop suggesting emoji when keyword is not associated with any emoji" }, { "ancestorTitles": [ "Autocomplete - Emoji Suggestion" ], "duration": 3674, "failureDetails": [ { "name": "DetoxRuntimeError" } ], "failureMessages": [ "Test Failed: '(view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)' doesn't match the selected view.\nExpected: (view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)\n Got: view was <3> percent visible to the user\nView Details: ReactScrollView{id=5075, visibility=VISIBLE, width=1030, height=627, has-focus=false, has-focusable=true, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=true, is-layout-requested=false, is-selected=false, layout-params=android.view.ViewGroup$LayoutParams@YYYYYY, tag=autocomplete.emoji_suggestion.flat_list, root-is-layout-requested=false, has-input-connection=false, x=3.0, y=3.0, child-count=1}\n\n at Object.<anonymous> (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/autocomplete/emoji_suggestion.e2e.ts:152:60)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)" ], "fullName": "Autocomplete - Emoji Suggestion MM-T4880_6 - should be able to select emoji suggestion multiple times", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "failed", "title": "MM-T4880_6 - should be able to select emoji suggestion multiple times" } ], "failureMessage": " ● Autocomplete - Emoji Suggestion › MM-T4880_1 - should suggest emoji based on emoji name\n\n Test Failed: '(view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)' doesn't match the selected view.\n Expected: (view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)\n Got: view was <4> percent visible to the user\n View Details: ReactViewGroup{id=1705, visibility=VISIBLE, width=1036, height=633, has-focus=false, has-focusable=true, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, layout-params=android.view.ViewGroup$LayoutParams@YYYYYY, tag=autocomplete, root-is-layout-requested=false, has-input-connection=false, x=22.0, y=-607.0, child-count=1}\n\n \u001b[0m \u001b[90m 115 |\u001b[39m \u001b[36mawait\u001b[39m wait(timeouts\u001b[33m.\u001b[39m\u001b[33mONE_SEC\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m 116 |\u001b[39m \u001b[36mif\u001b[39m (isVisible) {\n \u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 117 |\u001b[39m \u001b[36mawait\u001b[39m expect(\u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mautocomplete\u001b[33m.\u001b[39matIndex(\u001b[35m0\u001b[39m))\u001b[33m.\u001b[39mtoBeVisible()\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 118 |\u001b[39m \u001b[36mreturn\u001b[39m \u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mautocomplete\u001b[33m;\u001b[39m\n \u001b[90m 119 |\u001b[39m }\n \u001b[90m 120 |\u001b[39m\u001b[0m\n\n at Autocomplete.toBeVisible (support/ui/component/autocomplete.ts:117:56)\n at Object.<anonymous> (test/products/channels/autocomplete/emoji_suggestion.e2e.ts:67:9)\n\n ● Autocomplete - Emoji Suggestion › MM-T4880_2 - should suggest emoji based on uppercase emoji name\n\n Test Failed: '(view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)' doesn't match the selected view.\n Expected: (view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)\n Got: view was <4> percent visible to the user\n View Details: ReactViewGroup{id=1705, visibility=VISIBLE, width=1036, height=633, has-focus=false, has-focusable=true, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, layout-params=android.view.ViewGroup$LayoutParams@YYYYYY, tag=autocomplete, root-is-layout-requested=false, has-input-connection=false, x=22.0, y=-607.0, child-count=1}\n\n \u001b[0m \u001b[90m 115 |\u001b[39m \u001b[36mawait\u001b[39m wait(timeouts\u001b[33m.\u001b[39m\u001b[33mONE_SEC\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m 116 |\u001b[39m \u001b[36mif\u001b[39m (isVisible) {\n \u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 117 |\u001b[39m \u001b[36mawait\u001b[39m expect(\u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mautocomplete\u001b[33m.\u001b[39matIndex(\u001b[35m0\u001b[39m))\u001b[33m.\u001b[39mtoBeVisible()\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 118 |\u001b[39m \u001b[36mreturn\u001b[39m \u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mautocomplete\u001b[33m;\u001b[39m\n \u001b[90m 119 |\u001b[39m }\n \u001b[90m 120 |\u001b[39m\u001b[0m\n\n at Autocomplete.toBeVisible (support/ui/component/autocomplete.ts:117:56)\n at Object.<anonymous> (test/products/channels/autocomplete/emoji_suggestion.e2e.ts:82:9)\n\n ● Autocomplete - Emoji Suggestion › MM-T4880_3 - should suggest emoji based on partial emoji name\n\n Test Failed: '(view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)' doesn't match the selected view.\n Expected: (view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)\n Got: view was <4> percent visible to the user\n View Details: ReactViewGroup{id=1705, visibility=VISIBLE, width=1036, height=633, has-focus=false, has-focusable=true, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, layout-params=android.view.ViewGroup$LayoutParams@YYYYYY, tag=autocomplete, root-is-layout-requested=false, has-input-connection=false, x=22.0, y=-607.0, child-count=1}\n\n \u001b[0m \u001b[90m 115 |\u001b[39m \u001b[36mawait\u001b[39m wait(timeouts\u001b[33m.\u001b[39m\u001b[33mONE_SEC\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m 116 |\u001b[39m \u001b[36mif\u001b[39m (isVisible) {\n \u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 117 |\u001b[39m \u001b[36mawait\u001b[39m expect(\u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mautocomplete\u001b[33m.\u001b[39matIndex(\u001b[35m0\u001b[39m))\u001b[33m.\u001b[39mtoBeVisible()\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 118 |\u001b[39m \u001b[36mreturn\u001b[39m \u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mautocomplete\u001b[33m;\u001b[39m\n \u001b[90m 119 |\u001b[39m }\n \u001b[90m 120 |\u001b[39m\u001b[0m\n\n at Autocomplete.toBeVisible (support/ui/component/autocomplete.ts:117:56)\n at Object.<anonymous> (test/products/channels/autocomplete/emoji_suggestion.e2e.ts:97:9)\n\n ● Autocomplete - Emoji Suggestion › MM-T4880_4 - should stop suggesting emoji after emoji name with trailing space\n\n Test Failed: '(view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)' doesn't match the selected view.\n Expected: (view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)\n Got: view was <4> percent visible to the user\n View Details: ReactViewGroup{id=1705, visibility=VISIBLE, width=1036, height=633, has-focus=false, has-focusable=true, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, layout-params=android.view.ViewGroup$LayoutParams@YYYYYY, tag=autocomplete, root-is-layout-requested=false, has-input-connection=false, x=22.0, y=-607.0, child-count=1}\n\n \u001b[0m \u001b[90m 115 |\u001b[39m \u001b[36mawait\u001b[39m wait(timeouts\u001b[33m.\u001b[39m\u001b[33mONE_SEC\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m 116 |\u001b[39m \u001b[36mif\u001b[39m (isVisible) {\n \u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 117 |\u001b[39m \u001b[36mawait\u001b[39m expect(\u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mautocomplete\u001b[33m.\u001b[39matIndex(\u001b[35m0\u001b[39m))\u001b[33m.\u001b[39mtoBeVisible()\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 118 |\u001b[39m \u001b[36mreturn\u001b[39m \u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mautocomplete\u001b[33m;\u001b[39m\n \u001b[90m 119 |\u001b[39m }\n \u001b[90m 120 |\u001b[39m\u001b[0m\n\n at Autocomplete.toBeVisible (support/ui/component/autocomplete.ts:117:56)\n at Object.<anonymous> (test/products/channels/autocomplete/emoji_suggestion.e2e.ts:112:9)\n\n ● Autocomplete - Emoji Suggestion › MM-T4880_5 - should stop suggesting emoji when keyword is not associated with any emoji\n\n Test Failed: '(view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)' doesn't match the selected view.\n Expected: (view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)\n Got: view was <4> percent visible to the user\n View Details: ReactViewGroup{id=1705, visibility=VISIBLE, width=1036, height=633, has-focus=false, has-focusable=true, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, layout-params=android.view.ViewGroup$LayoutParams@YYYYYY, tag=autocomplete, root-is-layout-requested=false, has-input-connection=false, x=22.0, y=-607.0, child-count=1}\n\n \u001b[0m \u001b[90m 115 |\u001b[39m \u001b[36mawait\u001b[39m wait(timeouts\u001b[33m.\u001b[39m\u001b[33mONE_SEC\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m 116 |\u001b[39m \u001b[36mif\u001b[39m (isVisible) {\n \u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 117 |\u001b[39m \u001b[36mawait\u001b[39m expect(\u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mautocomplete\u001b[33m.\u001b[39matIndex(\u001b[35m0\u001b[39m))\u001b[33m.\u001b[39mtoBeVisible()\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 118 |\u001b[39m \u001b[36mreturn\u001b[39m \u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mautocomplete\u001b[33m;\u001b[39m\n \u001b[90m 119 |\u001b[39m }\n \u001b[90m 120 |\u001b[39m\u001b[0m\n\n at Autocomplete.toBeVisible (support/ui/component/autocomplete.ts:117:56)\n at Object.<anonymous> (test/products/channels/autocomplete/emoji_suggestion.e2e.ts:134:9)\n\n ● Autocomplete - Emoji Suggestion › MM-T4880_6 - should be able to select emoji suggestion multiple times\n\n Test Failed: '(view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)' doesn't match the selected view.\n Expected: (view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)\n Got: view was <3> percent visible to the user\n View Details: ReactScrollView{id=5075, visibility=VISIBLE, width=1030, height=627, has-focus=false, has-focusable=true, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=true, is-layout-requested=false, is-selected=false, layout-params=android.view.ViewGroup$LayoutParams@YYYYYY, tag=autocomplete.emoji_suggestion.flat_list, root-is-layout-requested=false, has-input-connection=false, x=3.0, y=3.0, child-count=1}\n\n \u001b[0m \u001b[90m 150 |\u001b[39m\n \u001b[90m 151 |\u001b[39m \u001b[90m// * Verify emoji suggestion list is displayed\u001b[39m\n \u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 152 |\u001b[39m \u001b[36mawait\u001b[39m expect(\u001b[33mAutocomplete\u001b[39m\u001b[33m.\u001b[39mflatEmojiSuggestionList)\u001b[33m.\u001b[39mtoBeVisible()\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 153 |\u001b[39m\n \u001b[90m 154 |\u001b[39m \u001b[90m// # Type in 3rd to last characters of emoji name and tap on emoji suggestion autocomplete\u001b[39m\n \u001b[90m 155 |\u001b[39m \u001b[36mawait\u001b[39m \u001b[33mChannelScreen\u001b[39m\u001b[33m.\u001b[39mpostInput\u001b[33m.\u001b[39mtypeText(emojiName3rdToLastChars)\u001b[33m;\u001b[39m\u001b[0m\n\n at Object.<anonymous> (test/products/channels/autocomplete/emoji_suggestion.e2e.ts:152:60)\n" }, { "leaks": false, "numFailingTests": 6, "numPassingTests": 0, "numPendingTests": 0, "numTodoTests": 0, "openHandles": [], "perfStats": { "end": 1765990594265, "runtime": 65499, "slow": true, "start": 1765990528766 }, "skipped": false, "snapshot": { "added": 0, "fileDeleted": false, "matched": 0, "unchecked": 0, "uncheckedKeys": [], "unmatched": 0, "updated": 0 }, "testFilePath": "/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/autocomplete/slash_suggestion.e2e.ts", "testResults": [ { "ancestorTitles": [ "Autocomplete - Slash Suggestion" ], "duration": 4536, "failureDetails": [ { "name": "DetoxRuntimeError" } ], "failureMessages": [ "Test Failed: '(view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)' doesn't match the selected view.\nExpected: (view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)\n Got: view was <4> percent visible to the user\nView Details: ReactViewGroup{id=1705, visibility=VISIBLE, width=1036, height=633, has-focus=false, has-focusable=true, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, layout-params=android.view.ViewGroup$LayoutParams@YYYYYY, tag=autocomplete, root-is-layout-requested=false, has-input-connection=false, x=22.0, y=-607.0, child-count=1}\n\n at Autocomplete.toBeVisible (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/component/autocomplete.ts:117:56)\n at Object.<anonymous> (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/autocomplete/slash_suggestion.e2e.ts:65:9)" ], "fullName": "Autocomplete - Slash Suggestion MM-T4881_1 - should suggest slash command based on slash command name", "invocations": 1, "location": null, "numPassingAsserts": 3, "retryReasons": [], "status": "failed", "title": "MM-T4881_1 - should suggest slash command based on slash command name" }, { "ancestorTitles": [ "Autocomplete - Slash Suggestion" ], "duration": 4164, "failureDetails": [ { "name": "DetoxRuntimeError" } ], "failureMessages": [ "Test Failed: '(view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)' doesn't match the selected view.\nExpected: (view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)\n Got: view was <4> percent visible to the user\nView Details: ReactViewGroup{id=1705, visibility=VISIBLE, width=1036, height=633, has-focus=false, has-focusable=true, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, layout-params=android.view.ViewGroup$LayoutParams@YYYYYY, tag=autocomplete, root-is-layout-requested=false, has-input-connection=false, x=22.0, y=-607.0, child-count=1}\n\n at Autocomplete.toBeVisible (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/component/autocomplete.ts:117:56)\n at Object.<anonymous> (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/autocomplete/slash_suggestion.e2e.ts:80:9)" ], "fullName": "Autocomplete - Slash Suggestion MM-T4881_2 - should suggest slash command based on partial slash command name", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "failed", "title": "MM-T4881_2 - should suggest slash command based on partial slash command name" }, { "ancestorTitles": [ "Autocomplete - Slash Suggestion" ], "duration": 4197, "failureDetails": [ { "name": "DetoxRuntimeError" } ], "failureMessages": [ "Test Failed: '(view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)' doesn't match the selected view.\nExpected: (view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)\n Got: view was <4> percent visible to the user\nView Details: ReactViewGroup{id=1705, visibility=VISIBLE, width=1036, height=633, has-focus=false, has-focusable=true, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, layout-params=android.view.ViewGroup$LayoutParams@YYYYYY, tag=autocomplete, root-is-layout-requested=false, has-input-connection=false, x=22.0, y=-607.0, child-count=1}\n\n at Autocomplete.toBeVisible (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/component/autocomplete.ts:117:56)\n at Object.<anonymous> (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/autocomplete/slash_suggestion.e2e.ts:95:9)" ], "fullName": "Autocomplete - Slash Suggestion MM-T4881_3 - should stop suggesting slash command after uppercase slash command name", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "failed", "title": "MM-T4881_3 - should stop suggesting slash command after uppercase slash command name" }, { "ancestorTitles": [ "Autocomplete - Slash Suggestion" ], "duration": 4176, "failureDetails": [ { "name": "DetoxRuntimeError" } ], "failureMessages": [ "Test Failed: '(view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)' doesn't match the selected view.\nExpected: (view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)\n Got: view was <4> percent visible to the user\nView Details: ReactViewGroup{id=1705, visibility=VISIBLE, width=1036, height=633, has-focus=false, has-focusable=true, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, layout-params=android.view.ViewGroup$LayoutParams@YYYYYY, tag=autocomplete, root-is-layout-requested=false, has-input-connection=false, x=22.0, y=-607.0, child-count=1}\n\n at Autocomplete.toBeVisible (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/component/autocomplete.ts:117:56)\n at Object.<anonymous> (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/autocomplete/slash_suggestion.e2e.ts:110:9)" ], "fullName": "Autocomplete - Slash Suggestion MM-T4881_4 - should stop suggesting slash command after slash command name with trailing space", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "failed", "title": "MM-T4881_4 - should stop suggesting slash command after slash command name with trailing space" }, { "ancestorTitles": [ "Autocomplete - Slash Suggestion" ], "duration": 4144, "failureDetails": [ { "name": "DetoxRuntimeError" } ], "failureMessages": [ "Test Failed: '(view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)' doesn't match the selected view.\nExpected: (view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)\n Got: view was <4> percent visible to the user\nView Details: ReactViewGroup{id=1705, visibility=VISIBLE, width=1036, height=633, has-focus=false, has-focusable=true, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, layout-params=android.view.ViewGroup$LayoutParams@YYYYYY, tag=autocomplete, root-is-layout-requested=false, has-input-connection=false, x=22.0, y=-607.0, child-count=1}\n\n at Autocomplete.toBeVisible (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/component/autocomplete.ts:117:56)\n at Object.<anonymous> (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/autocomplete/slash_suggestion.e2e.ts:132:9)" ], "fullName": "Autocomplete - Slash Suggestion MM-T4881_5 - should stop suggesting slash command when keyword is not associated with any slash command", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "failed", "title": "MM-T4881_5 - should stop suggesting slash command when keyword is not associated with any slash command" }, { "ancestorTitles": [ "Autocomplete - Slash Suggestion" ], "duration": 3057, "failureDetails": [ { "name": "DetoxRuntimeError" } ], "failureMessages": [ "Test Failed: '(view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)' doesn't match the selected view.\nExpected: (view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)\n Got: view was <3> percent visible to the user\nView Details: ReactScrollView{id=5387, visibility=VISIBLE, width=1030, height=627, has-focus=false, has-focusable=true, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=true, is-layout-requested=false, is-selected=false, layout-params=android.view.ViewGroup$LayoutParams@YYYYYY, tag=autocomplete.slash_suggestion.flat_list, root-is-layout-requested=false, has-input-connection=false, x=3.0, y=3.0, child-count=1}\n\n at Object.<anonymous> (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/autocomplete/slash_suggestion.e2e.ts:150:60)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)" ], "fullName": "Autocomplete - Slash Suggestion MM-T4881_6 - should not be able to select slash suggestion multiple times", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "failed", "title": "MM-T4881_6 - should not be able to select slash suggestion multiple times" } ], "failureMessage": " ● Autocomplete - Slash Suggestion › MM-T4881_1 - should suggest slash command based on slash command name\n\n Test Failed: '(view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)' doesn't match the selected view.\n Expected: (view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)\n Got: view was <4> percent visible to the user\n View Details: ReactViewGroup{id=1705, visibility=VISIBLE, width=1036, height=633, has-focus=false, has-focusable=true, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, layout-params=android.view.ViewGroup$LayoutParams@YYYYYY, tag=autocomplete, root-is-layout-requested=false, has-input-connection=false, x=22.0, y=-607.0, child-count=1}\n\n \u001b[0m \u001b[90m 115 |\u001b[39m \u001b[36mawait\u001b[39m wait(timeouts\u001b[33m.\u001b[39m\u001b[33mONE_SEC\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m 116 |\u001b[39m \u001b[36mif\u001b[39m (isVisible) {\n \u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 117 |\u001b[39m \u001b[36mawait\u001b[39m expect(\u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mautocomplete\u001b[33m.\u001b[39matIndex(\u001b[35m0\u001b[39m))\u001b[33m.\u001b[39mtoBeVisible()\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 118 |\u001b[39m \u001b[36mreturn\u001b[39m \u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mautocomplete\u001b[33m;\u001b[39m\n \u001b[90m 119 |\u001b[39m }\n \u001b[90m 120 |\u001b[39m\u001b[0m\n\n at Autocomplete.toBeVisible (support/ui/component/autocomplete.ts:117:56)\n at Object.<anonymous> (test/products/channels/autocomplete/slash_suggestion.e2e.ts:65:9)\n\n ● Autocomplete - Slash Suggestion › MM-T4881_2 - should suggest slash command based on partial slash command name\n\n Test Failed: '(view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)' doesn't match the selected view.\n Expected: (view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)\n Got: view was <4> percent visible to the user\n View Details: ReactViewGroup{id=1705, visibility=VISIBLE, width=1036, height=633, has-focus=false, has-focusable=true, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, layout-params=android.view.ViewGroup$LayoutParams@YYYYYY, tag=autocomplete, root-is-layout-requested=false, has-input-connection=false, x=22.0, y=-607.0, child-count=1}\n\n \u001b[0m \u001b[90m 115 |\u001b[39m \u001b[36mawait\u001b[39m wait(timeouts\u001b[33m.\u001b[39m\u001b[33mONE_SEC\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m 116 |\u001b[39m \u001b[36mif\u001b[39m (isVisible) {\n \u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 117 |\u001b[39m \u001b[36mawait\u001b[39m expect(\u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mautocomplete\u001b[33m.\u001b[39matIndex(\u001b[35m0\u001b[39m))\u001b[33m.\u001b[39mtoBeVisible()\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 118 |\u001b[39m \u001b[36mreturn\u001b[39m \u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mautocomplete\u001b[33m;\u001b[39m\n \u001b[90m 119 |\u001b[39m }\n \u001b[90m 120 |\u001b[39m\u001b[0m\n\n at Autocomplete.toBeVisible (support/ui/component/autocomplete.ts:117:56)\n at Object.<anonymous> (test/products/channels/autocomplete/slash_suggestion.e2e.ts:80:9)\n\n ● Autocomplete - Slash Suggestion › MM-T4881_3 - should stop suggesting slash command after uppercase slash command name\n\n Test Failed: '(view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)' doesn't match the selected view.\n Expected: (view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)\n Got: view was <4> percent visible to the user\n View Details: ReactViewGroup{id=1705, visibility=VISIBLE, width=1036, height=633, has-focus=false, has-focusable=true, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, layout-params=android.view.ViewGroup$LayoutParams@YYYYYY, tag=autocomplete, root-is-layout-requested=false, has-input-connection=false, x=22.0, y=-607.0, child-count=1}\n\n \u001b[0m \u001b[90m 115 |\u001b[39m \u001b[36mawait\u001b[39m wait(timeouts\u001b[33m.\u001b[39m\u001b[33mONE_SEC\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m 116 |\u001b[39m \u001b[36mif\u001b[39m (isVisible) {\n \u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 117 |\u001b[39m \u001b[36mawait\u001b[39m expect(\u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mautocomplete\u001b[33m.\u001b[39matIndex(\u001b[35m0\u001b[39m))\u001b[33m.\u001b[39mtoBeVisible()\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 118 |\u001b[39m \u001b[36mreturn\u001b[39m \u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mautocomplete\u001b[33m;\u001b[39m\n \u001b[90m 119 |\u001b[39m }\n \u001b[90m 120 |\u001b[39m\u001b[0m\n\n at Autocomplete.toBeVisible (support/ui/component/autocomplete.ts:117:56)\n at Object.<anonymous> (test/products/channels/autocomplete/slash_suggestion.e2e.ts:95:9)\n\n ● Autocomplete - Slash Suggestion › MM-T4881_4 - should stop suggesting slash command after slash command name with trailing space\n\n Test Failed: '(view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)' doesn't match the selected view.\n Expected: (view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)\n Got: view was <4> percent visible to the user\n View Details: ReactViewGroup{id=1705, visibility=VISIBLE, width=1036, height=633, has-focus=false, has-focusable=true, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, layout-params=android.view.ViewGroup$LayoutParams@YYYYYY, tag=autocomplete, root-is-layout-requested=false, has-input-connection=false, x=22.0, y=-607.0, child-count=1}\n\n \u001b[0m \u001b[90m 115 |\u001b[39m \u001b[36mawait\u001b[39m wait(timeouts\u001b[33m.\u001b[39m\u001b[33mONE_SEC\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m 116 |\u001b[39m \u001b[36mif\u001b[39m (isVisible) {\n \u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 117 |\u001b[39m \u001b[36mawait\u001b[39m expect(\u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mautocomplete\u001b[33m.\u001b[39matIndex(\u001b[35m0\u001b[39m))\u001b[33m.\u001b[39mtoBeVisible()\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 118 |\u001b[39m \u001b[36mreturn\u001b[39m \u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mautocomplete\u001b[33m;\u001b[39m\n \u001b[90m 119 |\u001b[39m }\n \u001b[90m 120 |\u001b[39m\u001b[0m\n\n at Autocomplete.toBeVisible (support/ui/component/autocomplete.ts:117:56)\n at Object.<anonymous> (test/products/channels/autocomplete/slash_suggestion.e2e.ts:110:9)\n\n ● Autocomplete - Slash Suggestion › MM-T4881_5 - should stop suggesting slash command when keyword is not associated with any slash command\n\n Test Failed: '(view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)' doesn't match the selected view.\n Expected: (view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)\n Got: view was <4> percent visible to the user\n View Details: ReactViewGroup{id=1705, visibility=VISIBLE, width=1036, height=633, has-focus=false, has-focusable=true, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, layout-params=android.view.ViewGroup$LayoutParams@YYYYYY, tag=autocomplete, root-is-layout-requested=false, has-input-connection=false, x=22.0, y=-607.0, child-count=1}\n\n \u001b[0m \u001b[90m 115 |\u001b[39m \u001b[36mawait\u001b[39m wait(timeouts\u001b[33m.\u001b[39m\u001b[33mONE_SEC\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m 116 |\u001b[39m \u001b[36mif\u001b[39m (isVisible) {\n \u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 117 |\u001b[39m \u001b[36mawait\u001b[39m expect(\u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mautocomplete\u001b[33m.\u001b[39matIndex(\u001b[35m0\u001b[39m))\u001b[33m.\u001b[39mtoBeVisible()\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 118 |\u001b[39m \u001b[36mreturn\u001b[39m \u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mautocomplete\u001b[33m;\u001b[39m\n \u001b[90m 119 |\u001b[39m }\n \u001b[90m 120 |\u001b[39m\u001b[0m\n\n at Autocomplete.toBeVisible (support/ui/component/autocomplete.ts:117:56)\n at Object.<anonymous> (test/products/channels/autocomplete/slash_suggestion.e2e.ts:132:9)\n\n ● Autocomplete - Slash Suggestion › MM-T4881_6 - should not be able to select slash suggestion multiple times\n\n Test Failed: '(view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)' doesn't match the selected view.\n Expected: (view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)\n Got: view was <3> percent visible to the user\n View Details: ReactScrollView{id=5387, visibility=VISIBLE, width=1030, height=627, has-focus=false, has-focusable=true, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=true, is-layout-requested=false, is-selected=false, layout-params=android.view.ViewGroup$LayoutParams@YYYYYY, tag=autocomplete.slash_suggestion.flat_list, root-is-layout-requested=false, has-input-connection=false, x=3.0, y=3.0, child-count=1}\n\n \u001b[0m \u001b[90m 148 |\u001b[39m\n \u001b[90m 149 |\u001b[39m \u001b[90m// * Verify slash suggestion list is displayed\u001b[39m\n \u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 150 |\u001b[39m \u001b[36mawait\u001b[39m expect(\u001b[33mAutocomplete\u001b[39m\u001b[33m.\u001b[39mflatSlashSuggestionList)\u001b[33m.\u001b[39mtoBeVisible()\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 151 |\u001b[39m\n \u001b[90m 152 |\u001b[39m \u001b[90m// # Type in slash command name and tap on slash suggestion autocomplete\u001b[39m\n \u001b[90m 153 |\u001b[39m \u001b[36mawait\u001b[39m \u001b[33mChannelScreen\u001b[39m\u001b[33m.\u001b[39mpostInput\u001b[33m.\u001b[39mtypeText(slashCommand)\u001b[33m;\u001b[39m\u001b[0m\n\n at Object.<anonymous> (test/products/channels/autocomplete/slash_suggestion.e2e.ts:150:60)\n" }, { "leaks": false, "numFailingTests": 4, "numPassingTests": 0, "numPendingTests": 0, "numTodoTests": 0, "openHandles": [], "perfStats": { "end": 1765990652813, "runtime": 58445, "slow": true, "start": 1765990594368 }, "skipped": false, "snapshot": { "added": 0, "fileDeleted": false, "matched": 0, "unchecked": 0, "uncheckedKeys": [], "unmatched": 0, "updated": 0 }, "testFilePath": "/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/autocomplete/thread_post_draft.e2e.ts", "testResults": [ { "ancestorTitles": [ "Autocomplete - Thread Post Draft" ], "duration": 3291, "failureDetails": [ { "name": "DetoxRuntimeError" } ], "failureMessages": [ "Test Failed: '(view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)' doesn't match the selected view.\nExpected: (view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)\n Got: view was <3> percent visible to the user\nView Details: ReactScrollView{id=2267, visibility=VISIBLE, width=1030, height=627, has-focus=false, has-focusable=true, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=true, is-layout-requested=false, is-selected=false, layout-params=android.view.ViewGroup$LayoutParams@YYYYYY, tag=autocomplete.at_mention.section_list, root-is-layout-requested=false, has-input-connection=false, x=3.0, y=3.0, child-count=1}\n\n at Object.<anonymous> (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/autocomplete/thread_post_draft.e2e.ts:71:57)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)" ], "fullName": "Autocomplete - Thread Post Draft MM-T4905_1 - should render at-mention autocomplete in post input", "invocations": 1, "location": null, "numPassingAsserts": 3, "retryReasons": [], "status": "failed", "title": "MM-T4905_1 - should render at-mention autocomplete in post input" }, { "ancestorTitles": [ "Autocomplete - Thread Post Draft" ], "duration": 3144, "failureDetails": [ { "name": "DetoxRuntimeError" } ], "failureMessages": [ "Test Failed: '(view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)' doesn't match the selected view.\nExpected: (view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)\n Got: view was <5> percent visible to the user\nView Details: ReactScrollView{id=2437, visibility=VISIBLE, width=1030, height=440, has-focus=false, has-focusable=true, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=true, is-layout-requested=false, is-selected=false, layout-params=android.view.ViewGroup$LayoutParams@YYYYYY, tag=autocomplete.channel_mention.section_list, root-is-layout-requested=false, has-input-connection=false, x=3.0, y=3.0, child-count=1}\n\n at Object.<anonymous> (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/autocomplete/thread_post_draft.e2e.ts:82:62)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)" ], "fullName": "Autocomplete - Thread Post Draft MM-T4905_2 - should render channel mention autocomplete in post input", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "failed", "title": "MM-T4905_2 - should render channel mention autocomplete in post input" }, { "ancestorTitles": [ "Autocomplete - Thread Post Draft" ], "duration": 3650, "failureDetails": [ { "name": "DetoxRuntimeError" } ], "failureMessages": [ "Test Failed: '(view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)' doesn't match the selected view.\nExpected: (view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)\n Got: view was <3> percent visible to the user\nView Details: ReactScrollView{id=2645, visibility=VISIBLE, width=1030, height=627, has-focus=false, has-focusable=true, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=true, is-layout-requested=false, is-selected=false, layout-params=android.view.ViewGroup$LayoutParams@YYYYYY, tag=autocomplete.emoji_suggestion.flat_list, root-is-layout-requested=false, has-input-connection=false, x=3.0, y=3.0, child-count=1}\n\n at Object.<anonymous> (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/autocomplete/thread_post_draft.e2e.ts:93:60)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)" ], "fullName": "Autocomplete - Thread Post Draft MM-T4905_3 - should render emoji suggestion autocomplete in post input", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "failed", "title": "MM-T4905_3 - should render emoji suggestion autocomplete in post input" }, { "ancestorTitles": [ "Autocomplete - Thread Post Draft" ], "duration": 3370, "failureDetails": [ { "name": "DetoxRuntimeError" } ], "failureMessages": [ "Test Failed: '(view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)' doesn't match the selected view.\nExpected: (view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)\n Got: view was <3> percent visible to the user\nView Details: ReactScrollView{id=3327, visibility=VISIBLE, width=1030, height=627, has-focus=false, has-focusable=true, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=true, is-layout-requested=false, is-selected=false, layout-params=android.view.ViewGroup$LayoutParams@YYYYYY, tag=autocomplete.slash_suggestion.flat_list, root-is-layout-requested=false, has-input-connection=false, x=3.0, y=3.0, child-count=1}\n\n at Object.<anonymous> (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/autocomplete/thread_post_draft.e2e.ts:104:60)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)" ], "fullName": "Autocomplete - Thread Post Draft MM-T4905_4 - should render slash suggestion autocomplete in post input", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "failed", "title": "MM-T4905_4 - should render slash suggestion autocomplete in post input" } ], "failureMessage": " ● Autocomplete - Thread Post Draft › MM-T4905_1 - should render at-mention autocomplete in post input\n\n Test Failed: '(view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)' doesn't match the selected view.\n Expected: (view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)\n Got: view was <3> percent visible to the user\n View Details: ReactScrollView{id=2267, visibility=VISIBLE, width=1030, height=627, has-focus=false, has-focusable=true, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=true, is-layout-requested=false, is-selected=false, layout-params=android.view.ViewGroup$LayoutParams@YYYYYY, tag=autocomplete.at_mention.section_list, root-is-layout-requested=false, has-input-connection=false, x=3.0, y=3.0, child-count=1}\n\n \u001b[0m \u001b[90m 69 |\u001b[39m\n \u001b[90m 70 |\u001b[39m \u001b[90m// * Verify at-mention list is displayed\u001b[39m\n \u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 71 |\u001b[39m \u001b[36mawait\u001b[39m expect(\u001b[33mAutocomplete\u001b[39m\u001b[33m.\u001b[39msectionAtMentionList)\u001b[33m.\u001b[39mtoBeVisible()\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 72 |\u001b[39m })\u001b[33m;\u001b[39m\n \u001b[90m 73 |\u001b[39m\n \u001b[90m 74 |\u001b[39m it(\u001b[32m'MM-T4905_2 - should render channel mention autocomplete in post input'\u001b[39m\u001b[33m,\u001b[39m \u001b[36masync\u001b[39m () \u001b[33m=>\u001b[39m {\u001b[0m\n\n at Object.<anonymous> (test/products/channels/autocomplete/thread_post_draft.e2e.ts:71:57)\n\n ● Autocomplete - Thread Post Draft › MM-T4905_2 - should render channel mention autocomplete in post input\n\n Test Failed: '(view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)' doesn't match the selected view.\n Expected: (view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)\n Got: view was <5> percent visible to the user\n View Details: ReactScrollView{id=2437, visibility=VISIBLE, width=1030, height=440, has-focus=false, has-focusable=true, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=true, is-layout-requested=false, is-selected=false, layout-params=android.view.ViewGroup$LayoutParams@YYYYYY, tag=autocomplete.channel_mention.section_list, root-is-layout-requested=false, has-input-connection=false, x=3.0, y=3.0, child-count=1}\n\n \u001b[0m \u001b[90m 80 |\u001b[39m\n \u001b[90m 81 |\u001b[39m \u001b[90m// * Verify channel mention list is displayed\u001b[39m\n \u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 82 |\u001b[39m \u001b[36mawait\u001b[39m expect(\u001b[33mAutocomplete\u001b[39m\u001b[33m.\u001b[39msectionChannelMentionList)\u001b[33m.\u001b[39mtoBeVisible()\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 83 |\u001b[39m })\u001b[33m;\u001b[39m\n \u001b[90m 84 |\u001b[39m\n \u001b[90m 85 |\u001b[39m it(\u001b[32m'MM-T4905_3 - should render emoji suggestion autocomplete in post input'\u001b[39m\u001b[33m,\u001b[39m \u001b[36masync\u001b[39m () \u001b[33m=>\u001b[39m {\u001b[0m\n\n at Object.<anonymous> (test/products/channels/autocomplete/thread_post_draft.e2e.ts:82:62)\n\n ● Autocomplete - Thread Post Draft › MM-T4905_3 - should render emoji suggestion autocomplete in post input\n\n Test Failed: '(view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)' doesn't match the selected view.\n Expected: (view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)\n Got: view was <3> percent visible to the user\n View Details: ReactScrollView{id=2645, visibility=VISIBLE, width=1030, height=627, has-focus=false, has-focusable=true, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=true, is-layout-requested=false, is-selected=false, layout-params=android.view.ViewGroup$LayoutParams@YYYYYY, tag=autocomplete.emoji_suggestion.flat_list, root-is-layout-requested=false, has-input-connection=false, x=3.0, y=3.0, child-count=1}\n\n \u001b[0m \u001b[90m 91 |\u001b[39m\n \u001b[90m 92 |\u001b[39m \u001b[90m// * Verify emoji suggestion list is displayed\u001b[39m\n \u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 93 |\u001b[39m \u001b[36mawait\u001b[39m expect(\u001b[33mAutocomplete\u001b[39m\u001b[33m.\u001b[39mflatEmojiSuggestionList)\u001b[33m.\u001b[39mtoBeVisible()\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 94 |\u001b[39m })\u001b[33m;\u001b[39m\n \u001b[90m 95 |\u001b[39m\n \u001b[90m 96 |\u001b[39m it(\u001b[32m'MM-T4905_4 - should render slash suggestion autocomplete in post input'\u001b[39m\u001b[33m,\u001b[39m \u001b[36masync\u001b[39m () \u001b[33m=>\u001b[39m {\u001b[0m\n\n at Object.<anonymous> (test/products/channels/autocomplete/thread_post_draft.e2e.ts:93:60)\n\n ● Autocomplete - Thread Post Draft › MM-T4905_4 - should render slash suggestion autocomplete in post input\n\n Test Failed: '(view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)' doesn't match the selected view.\n Expected: (view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)\n Got: view was <3> percent visible to the user\n View Details: ReactScrollView{id=3327, visibility=VISIBLE, width=1030, height=627, has-focus=false, has-focusable=true, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=true, is-layout-requested=false, is-selected=false, layout-params=android.view.ViewGroup$LayoutParams@YYYYYY, tag=autocomplete.slash_suggestion.flat_list, root-is-layout-requested=false, has-input-connection=false, x=3.0, y=3.0, child-count=1}\n\n \u001b[0m \u001b[90m 102 |\u001b[39m\n \u001b[90m 103 |\u001b[39m \u001b[90m// * Verify slash suggestion list is displayed\u001b[39m\n \u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 104 |\u001b[39m \u001b[36mawait\u001b[39m expect(\u001b[33mAutocomplete\u001b[39m\u001b[33m.\u001b[39mflatSlashSuggestionList)\u001b[33m.\u001b[39mtoBeVisible()\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 105 |\u001b[39m })\u001b[33m;\u001b[39m\n \u001b[90m 106 |\u001b[39m })\u001b[33m;\u001b[39m\n \u001b[90m 107 |\u001b[39m\u001b[0m\n\n at Object.<anonymous> (test/products/channels/autocomplete/thread_post_draft.e2e.ts:104:60)\n" }, { "leaks": false, "numFailingTests": 0, "numPassingTests": 3, "numPendingTests": 0, "numTodoTests": 0, "openHandles": [], "perfStats": { "end": 1765990775038, "runtime": 122117, "slow": true, "start": 1765990652921 }, "skipped": false, "snapshot": { "added": 0, "fileDeleted": false, "matched": 0, "unchecked": 0, "uncheckedKeys": [], "unmatched": 0, "updated": 0 }, "testFilePath": "/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/channels/archive_channel.e2e.ts", "testResults": [ { "ancestorTitles": [ "Channels - Archive Channel" ], "duration": 31440, "failureDetails": [], "failureMessages": [], "fullName": "Channels - Archive Channel MM-T4932_1 - should be able to archive a public channel and confirm", "invocations": 1, "location": null, "numPassingAsserts": 3, "retryReasons": [], "status": "passed", "title": "MM-T4932_1 - should be able to archive a public channel and confirm" }, { "ancestorTitles": [ "Channels - Archive Channel" ], "duration": 27413, "failureDetails": [], "failureMessages": [], "fullName": "Channels - Archive Channel MM-T4932_2 - should be able to archive a public channel and cancel", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T4932_2 - should be able to archive a public channel and cancel" }, { "ancestorTitles": [ "Channels - Archive Channel" ], "duration": 30099, "failureDetails": [], "failureMessages": [], "fullName": "Channels - Archive Channel MM-T4932_3 - should be able to archive a private channel and confirm", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T4932_3 - should be able to archive a private channel and confirm" } ], "failureMessage": null }, { "leaks": false, "numFailingTests": 0, "numPassingTests": 7, "numPendingTests": 0, "numTodoTests": 0, "openHandles": [], "perfStats": { "end": 1765990852757, "runtime": 77559, "slow": true, "start": 1765990775198 }, "skipped": false, "snapshot": { "added": 0, "fileDeleted": false, "matched": 0, "unchecked": 0, "uncheckedKeys": [], "unmatched": 0, "updated": 0 }, "testFilePath": "/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/channels/browse_channels.e2e.ts", "testResults": [ { "ancestorTitles": [ "Channels - Browse Channels" ], "duration": 3309, "failureDetails": [], "failureMessages": [], "fullName": "Channels - Browse Channels MM-T4729_1 - should match elements on browse channels screen", "invocations": 1, "location": null, "numPassingAsserts": 3, "retryReasons": [], "status": "passed", "title": "MM-T4729_1 - should match elements on browse channels screen" }, { "ancestorTitles": [ "Channels - Browse Channels" ], "duration": 11846, "failureDetails": [], "failureMessages": [], "fullName": "Channels - Browse Channels MM-T4729_2 - should be able to browse and join an unjoined public channel", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T4729_2 - should be able to browse and join an unjoined public channel" }, { "ancestorTitles": [ "Channels - Browse Channels" ], "duration": 4178, "failureDetails": [], "failureMessages": [], "fullName": "Channels - Browse Channels MM-T4729_3 - should display empty search state for browse channels", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T4729_3 - should display empty search state for browse channels" }, { "ancestorTitles": [ "Channels - Browse Channels" ], "duration": 7154, "failureDetails": [], "failureMessages": [], "fullName": "Channels - Browse Channels MM-T4729_4 - should not be able to browse direct and group message channels", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T4729_4 - should not be able to browse direct and group message channels" }, { "ancestorTitles": [ "Channels - Browse Channels" ], "duration": 6836, "failureDetails": [], "failureMessages": [], "fullName": "Channels - Browse Channels MM-T4729_5 - should be able to browse an archived channel", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T4729_5 - should be able to browse an archived channel" }, { "ancestorTitles": [ "Channels - Browse Channels" ], "duration": 5265, "failureDetails": [], "failureMessages": [], "fullName": "Channels - Browse Channels MM-T4729_6 - should not be able to browse a joined public channel", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T4729_6 - should not be able to browse a joined public channel" }, { "ancestorTitles": [ "Channels - Browse Channels" ], "duration": 5976, "failureDetails": [], "failureMessages": [], "fullName": "Channels - Browse Channels MM-T4729_7 - should not be able to browse joined and unjoined private channel", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T4729_7 - should not be able to browse joined and unjoined private channel" } ], "failureMessage": null }, { "leaks": false, "numFailingTests": 0, "numPassingTests": 2, "numPendingTests": 0, "numTodoTests": 0, "openHandles": [], "perfStats": { "end": 1765990210895, "runtime": 100681, "slow": true, "start": 1765990110214 }, "skipped": false, "snapshot": { "added": 0, "fileDeleted": false, "matched": 0, "unchecked": 0, "uncheckedKeys": [], "unmatched": 0, "updated": 0 }, "testFilePath": "/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/account/mention_notification_settings.e2e.ts", "testResults": [ { "ancestorTitles": [ "Account - Settings - Mention Notification Settings" ], "duration": 428, "failureDetails": [], "failureMessages": [], "fullName": "Account - Settings - Mention Notification Settings MM-T5107_1 - should match elements on mention notification settings screen", "invocations": 1, "location": null, "numPassingAsserts": 3, "retryReasons": [], "status": "passed", "title": "MM-T5107_1 - should match elements on mention notification settings screen" }, { "ancestorTitles": [ "Account - Settings - Mention Notification Settings" ], "duration": 10008, "failureDetails": [], "failureMessages": [], "fullName": "Account - Settings - Mention Notification Settings MM-T5107_2 - should be able to change mention notification settings and save by tapping navigation back button", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T5107_2 - should be able to change mention notification settings and save by tapping navigation back button" } ], "failureMessage": null }, { "leaks": false, "numFailingTests": 0, "numPassingTests": 5, "numPendingTests": 0, "numTodoTests": 0, "openHandles": [], "perfStats": { "end": 1765990254058, "runtime": 43014, "slow": true, "start": 1765990211044 }, "skipped": false, "snapshot": { "added": 0, "fileDeleted": false, "matched": 0, "unchecked": 0, "uncheckedKeys": [], "unmatched": 0, "updated": 0 }, "testFilePath": "/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/account/notification_settings.e2e.ts", "testResults": [ { "ancestorTitles": [ "Account - Settings - Notification Settings" ], "duration": 388, "failureDetails": [], "failureMessages": [], "fullName": "Account - Settings - Notification Settings MM-T5101_1 - should match elements on notification settings screen", "invocations": 1, "location": null, "numPassingAsserts": 3, "retryReasons": [], "status": "passed", "title": "MM-T5101_1 - should match elements on notification settings screen" }, { "ancestorTitles": [ "Account - Settings - Notification Settings" ], "duration": 1386, "failureDetails": [], "failureMessages": [], "fullName": "Account - Settings - Notification Settings MM-T5101_2 - should be able to go to mention notification settings screen", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T5101_2 - should be able to go to mention notification settings screen" }, { "ancestorTitles": [ "Account - Settings - Notification Settings" ], "duration": 1349, "failureDetails": [], "failureMessages": [], "fullName": "Account - Settings - Notification Settings MM-T5101_3 - should be able to go to push notification settings screen", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T5101_3 - should be able to go to push notification settings screen" }, { "ancestorTitles": [ "Account - Settings - Notification Settings" ], "duration": 1578, "failureDetails": [], "failureMessages": [], "fullName": "Account - Settings - Notification Settings MM-T5101_4 - should be able to go to email notification settings screen", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T5101_4 - should be able to go to email notification settings screen" }, { "ancestorTitles": [ "Account - Settings - Notification Settings" ], "duration": 1593, "failureDetails": [], "failureMessages": [], "fullName": "Account - Settings - Notification Settings MM-T5101_5 - should be able to go to auto-responder notification settings screen", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T5101_5 - should be able to go to auto-responder notification settings screen" } ], "failureMessage": null }, { "leaks": false, "numFailingTests": 0, "numPassingTests": 2, "numPendingTests": 0, "numTodoTests": 0, "openHandles": [], "perfStats": { "end": 1765990301195, "runtime": 47023, "slow": true, "start": 1765990254172 }, "skipped": false, "snapshot": { "added": 0, "fileDeleted": false, "matched": 0, "unchecked": 0, "uncheckedKeys": [], "unmatched": 0, "updated": 0 }, "testFilePath": "/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/account/push_notification_settings.e2e.ts", "testResults": [ { "ancestorTitles": [ "Account - Settings - Push Notification Settings" ], "duration": 425, "failureDetails": [], "failureMessages": [], "fullName": "Account - Settings - Push Notification Settings MM-T5108_1 - should match elements on push notification settings screen", "invocations": 1, "location": null, "numPassingAsserts": 3, "retryReasons": [], "status": "passed", "title": "MM-T5108_1 - should match elements on push notification settings screen" }, { "ancestorTitles": [ "Account - Settings - Push Notification Settings" ], "duration": 9079, "failureDetails": [], "failureMessages": [], "fullName": "Account - Settings - Push Notification Settings MM-T5108_2 - should be able to change push notification settings and save by tapping navigation back button", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T5108_2 - should be able to change push notification settings and save by tapping navigation back button" } ], "failureMessage": null }, { "leaks": false, "numFailingTests": 0, "numPassingTests": 5, "numPendingTests": 0, "numTodoTests": 0, "openHandles": [], "perfStats": { "end": 1765990342558, "runtime": 41215, "slow": true, "start": 1765990301343 }, "skipped": false, "snapshot": { "added": 0, "fileDeleted": false, "matched": 0, "unchecked": 0, "uncheckedKeys": [], "unmatched": 0, "updated": 0 }, "testFilePath": "/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/account/settings.e2e.ts", "testResults": [ { "ancestorTitles": [ "Account - Settings" ], "duration": 398, "failureDetails": [], "failureMessages": [], "fullName": "Account - Settings MM-T4991_1 - should match elements on settings screen", "invocations": 1, "location": null, "numPassingAsserts": 3, "retryReasons": [], "status": "passed", "title": "MM-T4991_1 - should match elements on settings screen" }, { "ancestorTitles": [ "Account - Settings" ], "duration": 1473, "failureDetails": [], "failureMessages": [], "fullName": "Account - Settings MM-T4991_2 - should be able to go to notification settings screen", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T4991_2 - should be able to go to notification settings screen" }, { "ancestorTitles": [ "Account - Settings" ], "duration": 1622, "failureDetails": [], "failureMessages": [], "fullName": "Account - Settings MM-T4991_3 - should be able to go to display settings screen", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T4991_3 - should be able to go to display settings screen" }, { "ancestorTitles": [ "Account - Settings" ], "duration": 1374, "failureDetails": [], "failureMessages": [], "fullName": "Account - Settings MM-T4991_4 - should be able to go to advanced settings screen", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T4991_4 - should be able to go to advanced settings screen" }, { "ancestorTitles": [ "Account - Settings" ], "duration": 1341, "failureDetails": [], "failureMessages": [], "fullName": "Account - Settings MM-T4991_5 - should be able to go to about screen", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T4991_5 - should be able to go to about screen" } ], "failureMessage": null }, { "leaks": false, "numFailingTests": 0, "numPassingTests": 2, "numPendingTests": 0, "numTodoTests": 0, "openHandles": [], "perfStats": { "end": 1765990384627, "runtime": 41963, "slow": true, "start": 1765990342664 }, "skipped": false, "snapshot": { "added": 0, "fileDeleted": false, "matched": 0, "unchecked": 0, "uncheckedKeys": [], "unmatched": 0, "updated": 0 }, "testFilePath": "/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/account/theme_display_settings.e2e.ts", "testResults": [ { "ancestorTitles": [ "Account - Settings - Theme Display Settings" ], "duration": 409, "failureDetails": [], "failureMessages": [], "fullName": "Account - Settings - Theme Display Settings MM-T5111_1 - should match elements on theme display settings screen", "invocations": 1, "location": null, "numPassingAsserts": 3, "retryReasons": [], "status": "passed", "title": "MM-T5111_1 - should match elements on theme display settings screen" }, { "ancestorTitles": [ "Account - Settings - Theme Display Settings" ], "duration": 4146, "failureDetails": [], "failureMessages": [], "fullName": "Account - Settings - Theme Display Settings MM-T5111_2 - should be able to select a theme and save by tapping navigation back button", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T5111_2 - should be able to select a theme and save by tapping navigation back button" } ], "failureMessage": null }, { "leaks": false, "numFailingTests": 0, "numPassingTests": 2, "numPendingTests": 0, "numTodoTests": 0, "openHandles": [], "perfStats": { "end": 1765990434210, "runtime": 49440, "slow": true, "start": 1765990384770 }, "skipped": false, "snapshot": { "added": 0, "fileDeleted": false, "matched": 0, "unchecked": 0, "uncheckedKeys": [], "unmatched": 0, "updated": 0 }, "testFilePath": "/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/account/timezone_display_settings.e2e.ts", "testResults": [ { "ancestorTitles": [ "Account - Settings - Timezone Display Settings" ], "duration": 318, "failureDetails": [], "failureMessages": [], "fullName": "Account - Settings - Timezone Display Settings MM-T5113_1 - should match elements on timezone display settings screen", "invocations": 1, "location": null, "numPassingAsserts": 3, "retryReasons": [], "status": "passed", "title": "MM-T5113_1 - should match elements on timezone display settings screen" }, { "ancestorTitles": [ "Account - Settings - Timezone Display Settings" ], "duration": 12987, "failureDetails": [], "failureMessages": [], "fullName": "Account - Settings - Timezone Display Settings MM-T5113_2 - should be able to select a timezone and save by tapping navigation back button", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T5113_2 - should be able to select a timezone and save by tapping navigation back button" } ], "failureMessage": null }, { "leaks": false, "numFailingTests": 14, "numPassingTests": 0, "numPendingTests": 0, "numTodoTests": 0, "openHandles": [], "perfStats": { "end": 1765990577218, "runtime": 142889, "slow": true, "start": 1765990434329 }, "skipped": false, "snapshot": { "added": 0, "fileDeleted": false, "matched": 0, "unchecked": 0, "uncheckedKeys": [], "unmatched": 0, "updated": 0 }, "testFilePath": "/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/autocomplete/at_mention.e2e.ts", "testResults": [ { "ancestorTitles": [ "Autocomplete - At-Mention" ], "duration": 1, "failureDetails": [ { "name": "DetoxRuntimeError" } ], "failureMessages": [ "Test Failed: Wait for [com.wix.detox.reactnative.idlingresources.bridge.BridgeIdlingResource] to become idle timed out\n at ServerScreen.tapConnectButton (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/screen/server.ts:84:34)\n at ServerScreen.connectToServer (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/screen/server.ts:60:24)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at Object.<anonymous> (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/autocomplete/at_mention.e2e.ts:54:9)" ], "fullName": "Autocomplete - At-Mention MM-T4878_1 - should suggest user based on username", "invocations": 1, "location": null, "numPassingAsserts": 3, "retryReasons": [], "status": "failed", "title": "MM-T4878_1 - should suggest user based on username" }, { "ancestorTitles": [ "Autocomplete - At-Mention" ], "duration": 1, "failureDetails": [ { "name": "DetoxRuntimeError" } ], "failureMessages": [ "Test Failed: Wait for [com.wix.detox.reactnative.idlingresources.bridge.BridgeIdlingResource] to become idle timed out\n at ServerScreen.tapConnectButton (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/screen/server.ts:84:34)\n at ServerScreen.connectToServer (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/screen/server.ts:60:24)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at Object.<anonymous> (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/autocomplete/at_mention.e2e.ts:54:9)" ], "fullName": "Autocomplete - At-Mention MM-T4878_2 - should suggest user based on nickname", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "failed", "title": "MM-T4878_2 - should suggest user based on nickname" }, { "ancestorTitles": [ "Autocomplete - At-Mention" ], "duration": 1, "failureDetails": [ { "name": "DetoxRuntimeError" } ], "failureMessages": [ "Test Failed: Wait for [com.wix.detox.reactnative.idlingresources.bridge.BridgeIdlingResource] to become idle timed out\n at ServerScreen.tapConnectButton (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/screen/server.ts:84:34)\n at ServerScreen.connectToServer (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/screen/server.ts:60:24)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at Object.<anonymous> (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/autocomplete/at_mention.e2e.ts:54:9)" ], "fullName": "Autocomplete - At-Mention MM-T4878_3 - should suggest user based on first name", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "failed", "title": "MM-T4878_3 - should suggest user based on first name" }, { "ancestorTitles": [ "Autocomplete - At-Mention" ], "duration": 0, "failureDetails": [ { "name": "DetoxRuntimeError" } ], "failureMessages": [ "Test Failed: Wait for [com.wix.detox.reactnative.idlingresources.bridge.BridgeIdlingResource] to become idle timed out\n at ServerScreen.tapConnectButton (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/screen/server.ts:84:34)\n at ServerScreen.connectToServer (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/screen/server.ts:60:24)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at Object.<anonymous> (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/autocomplete/at_mention.e2e.ts:54:9)" ], "fullName": "Autocomplete - At-Mention MM-T4878_4 - should suggest user based on last name", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "failed", "title": "MM-T4878_4 - should suggest user based on last name" }, { "ancestorTitles": [ "Autocomplete - At-Mention" ], "duration": 0, "failureDetails": [ { "name": "DetoxRuntimeError" } ], "failureMessages": [ "Test Failed: Wait for [com.wix.detox.reactnative.idlingresources.bridge.BridgeIdlingResource] to become idle timed out\n at ServerScreen.tapConnectButton (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/screen/server.ts:84:34)\n at ServerScreen.connectToServer (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/screen/server.ts:60:24)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at Object.<anonymous> (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/autocomplete/at_mention.e2e.ts:54:9)" ], "fullName": "Autocomplete - At-Mention MM-T4878_5 - should suggest user based on lowercase first name", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "failed", "title": "MM-T4878_5 - should suggest user based on lowercase first name" }, { "ancestorTitles": [ "Autocomplete - At-Mention" ], "duration": 0, "failureDetails": [ { "name": "DetoxRuntimeError" } ], "failureMessages": [ "Test Failed: Wait for [com.wix.detox.reactnative.idlingresources.bridge.BridgeIdlingResource] to become idle timed out\n at ServerScreen.tapConnectButton (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/screen/server.ts:84:34)\n at ServerScreen.connectToServer (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/screen/server.ts:60:24)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at Object.<anonymous> (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/autocomplete/at_mention.e2e.ts:54:9)" ], "fullName": "Autocomplete - At-Mention MM-T4878_6 - should suggest user based on lowercase last name", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "failed", "title": "MM-T4878_6 - should suggest user based on lowercase last name" }, { "ancestorTitles": [ "Autocomplete - At-Mention" ], "duration": 0, "failureDetails": [ { "name": "DetoxRuntimeError" } ], "failureMessages": [ "Test Failed: Wait for [com.wix.detox.reactnative.idlingresources.bridge.BridgeIdlingResource] to become idle timed out\n at ServerScreen.tapConnectButton (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/screen/server.ts:84:34)\n at ServerScreen.connectToServer (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/screen/server.ts:60:24)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at Object.<anonymous> (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/autocomplete/at_mention.e2e.ts:54:9)" ], "fullName": "Autocomplete - At-Mention MM-T4878_7 - should suggest user based on full name with space", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "failed", "title": "MM-T4878_7 - should suggest user based on full name with space" }, { "ancestorTitles": [ "Autocomplete - At-Mention" ], "duration": 0, "failureDetails": [ { "name": "DetoxRuntimeError" } ], "failureMessages": [ "Test Failed: Wait for [com.wix.detox.reactnative.idlingresources.bridge.BridgeIdlingResource] to become idle timed out\n at ServerScreen.tapConnectButton (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/screen/server.ts:84:34)\n at ServerScreen.connectToServer (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/screen/server.ts:60:24)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at Object.<anonymous> (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/autocomplete/at_mention.e2e.ts:54:9)" ], "fullName": "Autocomplete - At-Mention MM-T4878_8 - should suggest user based on partial full name with space", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "failed", "title": "MM-T4878_8 - should suggest user based on partial full name with space" }, { "ancestorTitles": [ "Autocomplete - At-Mention" ], "duration": 0, "failureDetails": [ { "name": "DetoxRuntimeError" } ], "failureMessages": [ "Test Failed: Wait for [com.wix.detox.reactnative.idlingresources.bridge.BridgeIdlingResource] to become idle timed out\n at ServerScreen.tapConnectButton (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/screen/server.ts:84:34)\n at ServerScreen.connectToServer (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/screen/server.ts:60:24)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at Object.<anonymous> (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/autocomplete/at_mention.e2e.ts:54:9)" ], "fullName": "Autocomplete - At-Mention MM-T4878_9 - should stop suggesting user after full name with trailing space", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "failed", "title": "MM-T4878_9 - should stop suggesting user after full name with trailing space" }, { "ancestorTitles": [ "Autocomplete - At-Mention" ], "duration": 0, "failureDetails": [ { "name": "DetoxRuntimeError" } ], "failureMessages": [ "Test Failed: Wait for [com.wix.detox.reactnative.idlingresources.bridge.BridgeIdlingResource] to become idle timed out\n at ServerScreen.tapConnectButton (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/screen/server.ts:84:34)\n at ServerScreen.connectToServer (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/screen/server.ts:60:24)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at Object.<anonymous> (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/autocomplete/at_mention.e2e.ts:54:9)" ], "fullName": "Autocomplete - At-Mention MM-T4878_10 - should stop suggesting user when keyword is not associated with any user", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "failed", "title": "MM-T4878_10 - should stop suggesting user when keyword is not associated with any user" }, { "ancestorTitles": [ "Autocomplete - At-Mention" ], "duration": 0, "failureDetails": [ { "name": "DetoxRuntimeError" } ], "failureMessages": [ "Test Failed: Wait for [com.wix.detox.reactnative.idlingresources.bridge.BridgeIdlingResource] to become idle timed out\n at ServerScreen.tapConnectButton (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/screen/server.ts:84:34)\n at ServerScreen.connectToServer (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/screen/server.ts:60:24)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at Object.<anonymous> (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/autocomplete/at_mention.e2e.ts:54:9)" ], "fullName": "Autocomplete - At-Mention MM-T4878_11 - should be able to select at-mention multiple times", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "failed", "title": "MM-T4878_11 - should be able to select at-mention multiple times" }, { "ancestorTitles": [ "Autocomplete - At-Mention" ], "duration": 1, "failureDetails": [ { "name": "DetoxRuntimeError" } ], "failureMessages": [ "Test Failed: Wait for [com.wix.detox.reactnative.idlingresources.bridge.BridgeIdlingResource] to become idle timed out\n at ServerScreen.tapConnectButton (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/screen/server.ts:84:34)\n at ServerScreen.connectToServer (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/screen/server.ts:60:24)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at Object.<anonymous> (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/autocomplete/at_mention.e2e.ts:54:9)" ], "fullName": "Autocomplete - At-Mention MM-T4878_12 - should not be able to autocomplete deactivated user", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "failed", "title": "MM-T4878_12 - should not be able to autocomplete deactivated user" }, { "ancestorTitles": [ "Autocomplete - At-Mention" ], "duration": 0, "failureDetails": [ { "name": "DetoxRuntimeError" } ], "failureMessages": [ "Test Failed: Wait for [com.wix.detox.reactnative.idlingresources.bridge.BridgeIdlingResource] to become idle timed out\n at ServerScreen.tapConnectButton (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/screen/server.ts:84:34)\n at ServerScreen.connectToServer (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/screen/server.ts:60:24)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at Object.<anonymous> (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/autocomplete/at_mention.e2e.ts:54:9)" ], "fullName": "Autocomplete - At-Mention MM-T4878_13 - should be able to autocomplete out of channel user", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "failed", "title": "MM-T4878_13 - should be able to autocomplete out of channel user" }, { "ancestorTitles": [ "Autocomplete - At-Mention" ], "duration": 0, "failureDetails": [ { "name": "DetoxRuntimeError" } ], "failureMessages": [ "Test Failed: Wait for [com.wix.detox.reactnative.idlingresources.bridge.BridgeIdlingResource] to become idle timed out\n at ServerScreen.tapConnectButton (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/screen/server.ts:84:34)\n at ServerScreen.connectToServer (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/screen/server.ts:60:24)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at Object.<anonymous> (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/autocomplete/at_mention.e2e.ts:54:9)" ], "fullName": "Autocomplete - At-Mention MM-T4878_14 - should include current user in autocomplete", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "failed", "title": "MM-T4878_14 - should include current user in autocomplete" } ], "failureMessage": " ● Autocomplete - At-Mention › MM-T4878_1 - should suggest user based on username\n\n Test Failed: Wait for [com.wix.detox.reactnative.idlingresources.bridge.BridgeIdlingResource] to become idle timed out\n\n \u001b[0m \u001b[90m 82 |\u001b[39m\n \u001b[90m 83 |\u001b[39m tapConnectButton \u001b[33m=\u001b[39m \u001b[36masync\u001b[39m () \u001b[33m=>\u001b[39m {\n \u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 84 |\u001b[39m \u001b[36mawait\u001b[39m \u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mconnectButton\u001b[33m.\u001b[39mtap()\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 85 |\u001b[39m \u001b[36mawait\u001b[39m wait(timeouts\u001b[33m.\u001b[39m\u001b[33mONE_SEC\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m 86 |\u001b[39m }\u001b[33m;\u001b[39m\n \u001b[90m 87 |\u001b[39m\u001b[0m\n\n at ServerScreen.tapConnectButton (support/ui/screen/server.ts:84:34)\n at ServerScreen.connectToServer (support/ui/screen/server.ts:60:24)\n at Object.<anonymous> (test/products/channels/autocomplete/at_mention.e2e.ts:54:9)\n\n ● Autocomplete - At-Mention › MM-T4878_2 - should suggest user based on nickname\n\n Test Failed: Wait for [com.wix.detox.reactnative.idlingresources.bridge.BridgeIdlingResource] to become idle timed out\n\n \u001b[0m \u001b[90m 82 |\u001b[39m\n \u001b[90m 83 |\u001b[39m tapConnectButton \u001b[33m=\u001b[39m \u001b[36masync\u001b[39m () \u001b[33m=>\u001b[39m {\n \u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 84 |\u001b[39m \u001b[36mawait\u001b[39m \u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mconnectButton\u001b[33m.\u001b[39mtap()\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 85 |\u001b[39m \u001b[36mawait\u001b[39m wait(timeouts\u001b[33m.\u001b[39m\u001b[33mONE_SEC\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m 86 |\u001b[39m }\u001b[33m;\u001b[39m\n \u001b[90m 87 |\u001b[39m\u001b[0m\n\n at ServerScreen.tapConnectButton (support/ui/screen/server.ts:84:34)\n at ServerScreen.connectToServer (support/ui/screen/server.ts:60:24)\n at Object.<anonymous> (test/products/channels/autocomplete/at_mention.e2e.ts:54:9)\n\n ● Autocomplete - At-Mention › MM-T4878_3 - should suggest user based on first name\n\n Test Failed: Wait for [com.wix.detox.reactnative.idlingresources.bridge.BridgeIdlingResource] to become idle timed out\n\n \u001b[0m \u001b[90m 82 |\u001b[39m\n \u001b[90m 83 |\u001b[39m tapConnectButton \u001b[33m=\u001b[39m \u001b[36masync\u001b[39m () \u001b[33m=>\u001b[39m {\n \u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 84 |\u001b[39m \u001b[36mawait\u001b[39m \u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mconnectButton\u001b[33m.\u001b[39mtap()\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 85 |\u001b[39m \u001b[36mawait\u001b[39m wait(timeouts\u001b[33m.\u001b[39m\u001b[33mONE_SEC\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m 86 |\u001b[39m }\u001b[33m;\u001b[39m\n \u001b[90m 87 |\u001b[39m\u001b[0m\n\n at ServerScreen.tapConnectButton (support/ui/screen/server.ts:84:34)\n at ServerScreen.connectToServer (support/ui/screen/server.ts:60:24)\n at Object.<anonymous> (test/products/channels/autocomplete/at_mention.e2e.ts:54:9)\n\n ● Autocomplete - At-Mention › MM-T4878_4 - should suggest user based on last name\n\n Test Failed: Wait for [com.wix.detox.reactnative.idlingresources.bridge.BridgeIdlingResource] to become idle timed out\n\n \u001b[0m \u001b[90m 82 |\u001b[39m\n \u001b[90m 83 |\u001b[39m tapConnectButton \u001b[33m=\u001b[39m \u001b[36masync\u001b[39m () \u001b[33m=>\u001b[39m {\n \u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 84 |\u001b[39m \u001b[36mawait\u001b[39m \u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mconnectButton\u001b[33m.\u001b[39mtap()\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 85 |\u001b[39m \u001b[36mawait\u001b[39m wait(timeouts\u001b[33m.\u001b[39m\u001b[33mONE_SEC\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m 86 |\u001b[39m }\u001b[33m;\u001b[39m\n \u001b[90m 87 |\u001b[39m\u001b[0m\n\n at ServerScreen.tapConnectButton (support/ui/screen/server.ts:84:34)\n at ServerScreen.connectToServer (support/ui/screen/server.ts:60:24)\n at Object.<anonymous> (test/products/channels/autocomplete/at_mention.e2e.ts:54:9)\n\n ● Autocomplete - At-Mention › MM-T4878_5 - should suggest user based on lowercase first name\n\n Test Failed: Wait for [com.wix.detox.reactnative.idlingresources.bridge.BridgeIdlingResource] to become idle timed out\n\n \u001b[0m \u001b[90m 82 |\u001b[39m\n \u001b[90m 83 |\u001b[39m tapConnectButton \u001b[33m=\u001b[39m \u001b[36masync\u001b[39m () \u001b[33m=>\u001b[39m {\n \u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 84 |\u001b[39m \u001b[36mawait\u001b[39m \u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mconnectButton\u001b[33m.\u001b[39mtap()\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 85 |\u001b[39m \u001b[36mawait\u001b[39m wait(timeouts\u001b[33m.\u001b[39m\u001b[33mONE_SEC\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m 86 |\u001b[39m }\u001b[33m;\u001b[39m\n \u001b[90m 87 |\u001b[39m\u001b[0m\n\n at ServerScreen.tapConnectButton (support/ui/screen/server.ts:84:34)\n at ServerScreen.connectToServer (support/ui/screen/server.ts:60:24)\n at Object.<anonymous> (test/products/channels/autocomplete/at_mention.e2e.ts:54:9)\n\n ● Autocomplete - At-Mention › MM-T4878_6 - should suggest user based on lowercase last name\n\n Test Failed: Wait for [com.wix.detox.reactnative.idlingresources.bridge.BridgeIdlingResource] to become idle timed out\n\n \u001b[0m \u001b[90m 82 |\u001b[39m\n \u001b[90m 83 |\u001b[39m tapConnectButton \u001b[33m=\u001b[39m \u001b[36masync\u001b[39m () \u001b[33m=>\u001b[39m {\n \u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 84 |\u001b[39m \u001b[36mawait\u001b[39m \u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mconnectButton\u001b[33m.\u001b[39mtap()\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 85 |\u001b[39m \u001b[36mawait\u001b[39m wait(timeouts\u001b[33m.\u001b[39m\u001b[33mONE_SEC\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m 86 |\u001b[39m }\u001b[33m;\u001b[39m\n \u001b[90m 87 |\u001b[39m\u001b[0m\n\n at ServerScreen.tapConnectButton (support/ui/screen/server.ts:84:34)\n at ServerScreen.connectToServer (support/ui/screen/server.ts:60:24)\n at Object.<anonymous> (test/products/channels/autocomplete/at_mention.e2e.ts:54:9)\n\n ● Autocomplete - At-Mention › MM-T4878_7 - should suggest user based on full name with space\n\n Test Failed: Wait for [com.wix.detox.reactnative.idlingresources.bridge.BridgeIdlingResource] to become idle timed out\n\n \u001b[0m \u001b[90m 82 |\u001b[39m\n \u001b[90m 83 |\u001b[39m tapConnectButton \u001b[33m=\u001b[39m \u001b[36masync\u001b[39m () \u001b[33m=>\u001b[39m {\n \u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 84 |\u001b[39m \u001b[36mawait\u001b[39m \u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mconnectButton\u001b[33m.\u001b[39mtap()\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 85 |\u001b[39m \u001b[36mawait\u001b[39m wait(timeouts\u001b[33m.\u001b[39m\u001b[33mONE_SEC\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m 86 |\u001b[39m }\u001b[33m;\u001b[39m\n \u001b[90m 87 |\u001b[39m\u001b[0m\n\n at ServerScreen.tapConnectButton (support/ui/screen/server.ts:84:34)\n at ServerScreen.connectToServer (support/ui/screen/server.ts:60:24)\n at Object.<anonymous> (test/products/channels/autocomplete/at_mention.e2e.ts:54:9)\n\n ● Autocomplete - At-Mention › MM-T4878_8 - should suggest user based on partial full name with space\n\n Test Failed: Wait for [com.wix.detox.reactnative.idlingresources.bridge.BridgeIdlingResource] to become idle timed out\n\n \u001b[0m \u001b[90m 82 |\u001b[39m\n \u001b[90m 83 |\u001b[39m tapConnectButton \u001b[33m=\u001b[39m \u001b[36masync\u001b[39m () \u001b[33m=>\u001b[39m {\n \u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 84 |\u001b[39m \u001b[36mawait\u001b[39m \u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mconnectButton\u001b[33m.\u001b[39mtap()\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 85 |\u001b[39m \u001b[36mawait\u001b[39m wait(timeouts\u001b[33m.\u001b[39m\u001b[33mONE_SEC\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m 86 |\u001b[39m }\u001b[33m;\u001b[39m\n \u001b[90m 87 |\u001b[39m\u001b[0m\n\n at ServerScreen.tapConnectButton (support/ui/screen/server.ts:84:34)\n at ServerScreen.connectToServer (support/ui/screen/server.ts:60:24)\n at Object.<anonymous> (test/products/channels/autocomplete/at_mention.e2e.ts:54:9)\n\n ● Autocomplete - At-Mention › MM-T4878_9 - should stop suggesting user after full name with trailing space\n\n Test Failed: Wait for [com.wix.detox.reactnative.idlingresources.bridge.BridgeIdlingResource] to become idle timed out\n\n \u001b[0m \u001b[90m 82 |\u001b[39m\n \u001b[90m 83 |\u001b[39m tapConnectButton \u001b[33m=\u001b[39m \u001b[36masync\u001b[39m () \u001b[33m=>\u001b[39m {\n \u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 84 |\u001b[39m \u001b[36mawait\u001b[39m \u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mconnectButton\u001b[33m.\u001b[39mtap()\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 85 |\u001b[39m \u001b[36mawait\u001b[39m wait(timeouts\u001b[33m.\u001b[39m\u001b[33mONE_SEC\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m 86 |\u001b[39m }\u001b[33m;\u001b[39m\n \u001b[90m 87 |\u001b[39m\u001b[0m\n\n at ServerScreen.tapConnectButton (support/ui/screen/server.ts:84:34)\n at ServerScreen.connectToServer (support/ui/screen/server.ts:60:24)\n at Object.<anonymous> (test/products/channels/autocomplete/at_mention.e2e.ts:54:9)\n\n ● Autocomplete - At-Mention › MM-T4878_10 - should stop suggesting user when keyword is not associated with any user\n\n Test Failed: Wait for [com.wix.detox.reactnative.idlingresources.bridge.BridgeIdlingResource] to become idle timed out\n\n \u001b[0m \u001b[90m 82 |\u001b[39m\n \u001b[90m 83 |\u001b[39m tapConnectButton \u001b[33m=\u001b[39m \u001b[36masync\u001b[39m () \u001b[33m=>\u001b[39m {\n \u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 84 |\u001b[39m \u001b[36mawait\u001b[39m \u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mconnectButton\u001b[33m.\u001b[39mtap()\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 85 |\u001b[39m \u001b[36mawait\u001b[39m wait(timeouts\u001b[33m.\u001b[39m\u001b[33mONE_SEC\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m 86 |\u001b[39m }\u001b[33m;\u001b[39m\n \u001b[90m 87 |\u001b[39m\u001b[0m\n\n at ServerScreen.tapConnectButton (support/ui/screen/server.ts:84:34)\n at ServerScreen.connectToServer (support/ui/screen/server.ts:60:24)\n at Object.<anonymous> (test/products/channels/autocomplete/at_mention.e2e.ts:54:9)\n\n ● Autocomplete - At-Mention › MM-T4878_11 - should be able to select at-mention multiple times\n\n Test Failed: Wait for [com.wix.detox.reactnative.idlingresources.bridge.BridgeIdlingResource] to become idle timed out\n\n \u001b[0m \u001b[90m 82 |\u001b[39m\n \u001b[90m 83 |\u001b[39m tapConnectButton \u001b[33m=\u001b[39m \u001b[36masync\u001b[39m () \u001b[33m=>\u001b[39m {\n \u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 84 |\u001b[39m \u001b[36mawait\u001b[39m \u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mconnectButton\u001b[33m.\u001b[39mtap()\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 85 |\u001b[39m \u001b[36mawait\u001b[39m wait(timeouts\u001b[33m.\u001b[39m\u001b[33mONE_SEC\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m 86 |\u001b[39m }\u001b[33m;\u001b[39m\n \u001b[90m 87 |\u001b[39m\u001b[0m\n\n at ServerScreen.tapConnectButton (support/ui/screen/server.ts:84:34)\n at ServerScreen.connectToServer (support/ui/screen/server.ts:60:24)\n at Object.<anonymous> (test/products/channels/autocomplete/at_mention.e2e.ts:54:9)\n\n ● Autocomplete - At-Mention › MM-T4878_12 - should not be able to autocomplete deactivated user\n\n Test Failed: Wait for [com.wix.detox.reactnative.idlingresources.bridge.BridgeIdlingResource] to become idle timed out\n\n \u001b[0m \u001b[90m 82 |\u001b[39m\n \u001b[90m 83 |\u001b[39m tapConnectButton \u001b[33m=\u001b[39m \u001b[36masync\u001b[39m () \u001b[33m=>\u001b[39m {\n \u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 84 |\u001b[39m \u001b[36mawait\u001b[39m \u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mconnectButton\u001b[33m.\u001b[39mtap()\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 85 |\u001b[39m \u001b[36mawait\u001b[39m wait(timeouts\u001b[33m.\u001b[39m\u001b[33mONE_SEC\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m 86 |\u001b[39m }\u001b[33m;\u001b[39m\n \u001b[90m 87 |\u001b[39m\u001b[0m\n\n at ServerScreen.tapConnectButton (support/ui/screen/server.ts:84:34)\n at ServerScreen.connectToServer (support/ui/screen/server.ts:60:24)\n at Object.<anonymous> (test/products/channels/autocomplete/at_mention.e2e.ts:54:9)\n\n ● Autocomplete - At-Mention › MM-T4878_13 - should be able to autocomplete out of channel user\n\n Test Failed: Wait for [com.wix.detox.reactnative.idlingresources.bridge.BridgeIdlingResource] to become idle timed out\n\n \u001b[0m \u001b[90m 82 |\u001b[39m\n \u001b[90m 83 |\u001b[39m tapConnectButton \u001b[33m=\u001b[39m \u001b[36masync\u001b[39m () \u001b[33m=>\u001b[39m {\n \u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 84 |\u001b[39m \u001b[36mawait\u001b[39m \u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mconnectButton\u001b[33m.\u001b[39mtap()\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 85 |\u001b[39m \u001b[36mawait\u001b[39m wait(timeouts\u001b[33m.\u001b[39m\u001b[33mONE_SEC\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m 86 |\u001b[39m }\u001b[33m;\u001b[39m\n \u001b[90m 87 |\u001b[39m\u001b[0m\n\n at ServerScreen.tapConnectButton (support/ui/screen/server.ts:84:34)\n at ServerScreen.connectToServer (support/ui/screen/server.ts:60:24)\n at Object.<anonymous> (test/products/channels/autocomplete/at_mention.e2e.ts:54:9)\n\n ● Autocomplete - At-Mention › MM-T4878_14 - should include current user in autocomplete\n\n Test Failed: Wait for [com.wix.detox.reactnative.idlingresources.bridge.BridgeIdlingResource] to become idle timed out\n\n \u001b[0m \u001b[90m 82 |\u001b[39m\n \u001b[90m 83 |\u001b[39m tapConnectButton \u001b[33m=\u001b[39m \u001b[36masync\u001b[39m () \u001b[33m=>\u001b[39m {\n \u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 84 |\u001b[39m \u001b[36mawait\u001b[39m \u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mconnectButton\u001b[33m.\u001b[39mtap()\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 85 |\u001b[39m \u001b[36mawait\u001b[39m wait(timeouts\u001b[33m.\u001b[39m\u001b[33mONE_SEC\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m 86 |\u001b[39m }\u001b[33m;\u001b[39m\n \u001b[90m 87 |\u001b[39m\u001b[0m\n\n at ServerScreen.tapConnectButton (support/ui/screen/server.ts:84:34)\n at ServerScreen.connectToServer (support/ui/screen/server.ts:60:24)\n at Object.<anonymous> (test/products/channels/autocomplete/at_mention.e2e.ts:54:9)\n\n\n ● Test suite failed to run\n\n Test Failed: Wait for [com.wix.detox.reactnative.idlingresources.bridge.BridgeIdlingResource] to become idle timed out\n\n \u001b[0m \u001b[90m 168 |\u001b[39m back \u001b[33m=\u001b[39m \u001b[36masync\u001b[39m () \u001b[33m=>\u001b[39m {\n \u001b[90m 169 |\u001b[39m \u001b[36mawait\u001b[39m wait(timeouts\u001b[33m.\u001b[39m\u001b[33mONE_SEC\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 170 |\u001b[39m \u001b[36mawait\u001b[39m \u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mbackButton\u001b[33m.\u001b[39mtap()\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 171 |\u001b[39m \u001b[36mawait\u001b[39m expect(\u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mchannelScreen)\u001b[33m.\u001b[39mnot\u001b[33m.\u001b[39mtoBeVisible()\u001b[33m;\u001b[39m\n \u001b[90m 172 |\u001b[39m }\u001b[33m;\u001b[39m\n \u001b[90m 173 |\u001b[39m\u001b[0m\n\n at ChannelScreen.back (support/ui/screen/channel.ts:170:31)\n at Object.<anonymous> (test/products/channels/autocomplete/at_mention.e2e.ts:74:9)\n", "testExecError": { "message": "", "stack": "Test Failed: Wait for [com.wix.detox.reactnative.idlingresources.bridge.BridgeIdlingResource] to become idle timed out\n at ChannelScreen.back (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/screen/channel.ts:170:31)\n at Object.<anonymous> (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/autocomplete/at_mention.e2e.ts:74:9)" } }, { "leaks": false, "numFailingTests": 10, "numPassingTests": 0, "numPendingTests": 0, "numTodoTests": 0, "openHandles": [], "perfStats": { "end": 1765990658943, "runtime": 81517, "slow": true, "start": 1765990577426 }, "skipped": false, "snapshot": { "added": 0, "fileDeleted": false, "matched": 0, "unchecked": 0, "uncheckedKeys": [], "unmatched": 0, "updated": 0 }, "testFilePath": "/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/autocomplete/channel_mention.e2e.ts", "testResults": [ { "ancestorTitles": [ "Autocomplete - Channel Mention" ], "duration": 4314, "failureDetails": [ { "name": "DetoxRuntimeError" } ], "failureMessages": [ "Test Failed: '(view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)' doesn't match the selected view.\nExpected: (view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)\n Got: view was <4> percent visible to the user\nView Details: ReactViewGroup{id=1735, visibility=VISIBLE, width=1036, height=556, has-focus=false, has-focusable=true, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, layout-params=android.view.ViewGroup$LayoutParams@YYYYYY, tag=autocomplete, root-is-layout-requested=false, has-input-connection=false, x=22.0, y=-530.0, child-count=1}\n\n at Autocomplete.toBeVisible (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/component/autocomplete.ts:117:56)\n at Object.<anonymous> (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/autocomplete/channel_mention.e2e.ts:77:9)" ], "fullName": "Autocomplete - Channel Mention MM-T4879_1 - should suggest channel based on channel name", "invocations": 1, "location": null, "numPassingAsserts": 3, "retryReasons": [], "status": "failed", "title": "MM-T4879_1 - should suggest channel based on channel name" }, { "ancestorTitles": [ "Autocomplete - Channel Mention" ], "duration": 3799, "failureDetails": [ { "name": "DetoxRuntimeError" } ], "failureMessages": [ "Test Failed: '(view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)' doesn't match the selected view.\nExpected: (view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)\n Got: view was <4> percent visible to the user\nView Details: ReactViewGroup{id=1735, visibility=VISIBLE, width=1036, height=556, has-focus=false, has-focusable=true, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, layout-params=android.view.ViewGroup$LayoutParams@YYYYYY, tag=autocomplete, root-is-layout-requested=false, has-input-connection=false, x=22.0, y=-530.0, child-count=1}\n\n at Autocomplete.toBeVisible (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/component/autocomplete.ts:117:56)\n at Object.<anonymous> (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/autocomplete/channel_mention.e2e.ts:92:9)" ], "fullName": "Autocomplete - Channel Mention MM-T4879_2 - should suggest channel based on channel display name", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "failed", "title": "MM-T4879_2 - should suggest channel based on channel display name" }, { "ancestorTitles": [ "Autocomplete - Channel Mention" ], "duration": 3774, "failureDetails": [ { "name": "DetoxRuntimeError" } ], "failureMessages": [ "Test Failed: '(view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)' doesn't match the selected view.\nExpected: (view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)\n Got: view was <4> percent visible to the user\nView Details: ReactViewGroup{id=1735, visibility=VISIBLE, width=1036, height=556, has-focus=false, has-focusable=true, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, layout-params=android.view.ViewGroup$LayoutParams@YYYYYY, tag=autocomplete, root-is-layout-requested=false, has-input-connection=false, x=22.0, y=-530.0, child-count=1}\n\n at Autocomplete.toBeVisible (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/component/autocomplete.ts:117:56)\n at Object.<anonymous> (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/autocomplete/channel_mention.e2e.ts:107:9)" ], "fullName": "Autocomplete - Channel Mention MM-T4879_3 - should suggest channel based on lowercase channel display name", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "failed", "title": "MM-T4879_3 - should suggest channel based on lowercase channel display name" }, { "ancestorTitles": [ "Autocomplete - Channel Mention" ], "duration": 3845, "failureDetails": [ { "name": "DetoxRuntimeError" } ], "failureMessages": [ "Test Failed: '(view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)' doesn't match the selected view.\nExpected: (view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)\n Got: view was <4> percent visible to the user\nView Details: ReactViewGroup{id=1735, visibility=VISIBLE, width=1036, height=556, has-focus=false, has-focusable=true, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, layout-params=android.view.ViewGroup$LayoutParams@YYYYYY, tag=autocomplete, root-is-layout-requested=false, has-input-connection=false, x=22.0, y=-530.0, child-count=1}\n\n at Autocomplete.toBeVisible (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/component/autocomplete.ts:117:56)\n at Object.<anonymous> (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/autocomplete/channel_mention.e2e.ts:122:9)" ], "fullName": "Autocomplete - Channel Mention MM-T4879_4 - should suggest channel based on partial channel display name", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "failed", "title": "MM-T4879_4 - should suggest channel based on partial channel display name" }, { "ancestorTitles": [ "Autocomplete - Channel Mention" ], "duration": 3788, "failureDetails": [ { "name": "DetoxRuntimeError" } ], "failureMessages": [ "Test Failed: '(view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)' doesn't match the selected view.\nExpected: (view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)\n Got: view was <4> percent visible to the user\nView Details: ReactViewGroup{id=1735, visibility=VISIBLE, width=1036, height=556, has-focus=false, has-focusable=true, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, layout-params=android.view.ViewGroup$LayoutParams@YYYYYY, tag=autocomplete, root-is-layout-requested=false, has-input-connection=false, x=22.0, y=-530.0, child-count=1}\n\n at Autocomplete.toBeVisible (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/component/autocomplete.ts:117:56)\n at Object.<anonymous> (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/autocomplete/channel_mention.e2e.ts:137:9)" ], "fullName": "Autocomplete - Channel Mention MM-T4879_5 - should stop suggesting channel after channel display name with trailing space", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "failed", "title": "MM-T4879_5 - should stop suggesting channel after channel display name with trailing space" }, { "ancestorTitles": [ "Autocomplete - Channel Mention" ], "duration": 3841, "failureDetails": [ { "name": "DetoxRuntimeError" } ], "failureMessages": [ "Test Failed: '(view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)' doesn't match the selected view.\nExpected: (view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)\n Got: view was <4> percent visible to the user\nView Details: ReactViewGroup{id=1735, visibility=VISIBLE, width=1036, height=556, has-focus=false, has-focusable=true, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, layout-params=android.view.ViewGroup$LayoutParams@YYYYYY, tag=autocomplete, root-is-layout-requested=false, has-input-connection=false, x=22.0, y=-530.0, child-count=1}\n\n at Autocomplete.toBeVisible (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/component/autocomplete.ts:117:56)\n at Object.<anonymous> (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/autocomplete/channel_mention.e2e.ts:159:9)" ], "fullName": "Autocomplete - Channel Mention MM-T4879_6 - should stop suggesting channel when keyword is not associated with any channel", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "failed", "title": "MM-T4879_6 - should stop suggesting channel when keyword is not associated with any channel" }, { "ancestorTitles": [ "Autocomplete - Channel Mention" ], "duration": 2863, "failureDetails": [ { "name": "DetoxRuntimeError" } ], "failureMessages": [ "Test Failed: '(view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)' doesn't match the selected view.\nExpected: (view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)\n Got: view was <4> percent visible to the user\nView Details: ReactScrollView{id=2609, visibility=VISIBLE, width=1030, height=550, has-focus=false, has-focusable=true, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=true, is-layout-requested=false, is-selected=false, layout-params=android.view.ViewGroup$LayoutParams@YYYYYY, tag=autocomplete.channel_mention.section_list, root-is-layout-requested=false, has-input-connection=false, x=3.0, y=3.0, child-count=1}\n\n at Object.<anonymous> (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/autocomplete/channel_mention.e2e.ts:177:62)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)" ], "fullName": "Autocomplete - Channel Mention MM-T4879_7 - should be able to select channel mention multiple times", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "failed", "title": "MM-T4879_7 - should be able to select channel mention multiple times" }, { "ancestorTitles": [ "Autocomplete - Channel Mention" ], "duration": 4701, "failureDetails": [ { "name": "DetoxRuntimeError" } ], "failureMessages": [ "Test Failed: '(view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)' doesn't match the selected view.\nExpected: (view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)\n Got: view was <4> percent visible to the user\nView Details: ReactViewGroup{id=1735, visibility=VISIBLE, width=1036, height=633, has-focus=false, has-focusable=true, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, layout-params=android.view.ViewGroup$LayoutParams@YYYYYY, tag=autocomplete, root-is-layout-requested=false, has-input-connection=false, x=22.0, y=-607.0, child-count=1}\n\n at Autocomplete.toBeVisible (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/component/autocomplete.ts:117:56)\n at Object.<anonymous> (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/autocomplete/channel_mention.e2e.ts:197:9)" ], "fullName": "Autocomplete - Channel Mention MM-T4879_8 - should be able to autocomplete archived channel", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "failed", "title": "MM-T4879_8 - should be able to autocomplete archived channel" }, { "ancestorTitles": [ "Autocomplete - Channel Mention" ], "duration": 4144, "failureDetails": [ { "name": "DetoxRuntimeError" } ], "failureMessages": [ "Test Failed: '(view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)' doesn't match the selected view.\nExpected: (view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)\n Got: view was <4> percent visible to the user\nView Details: ReactViewGroup{id=1735, visibility=VISIBLE, width=1036, height=633, has-focus=false, has-focusable=true, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, layout-params=android.view.ViewGroup$LayoutParams@YYYYYY, tag=autocomplete, root-is-layout-requested=false, has-input-connection=false, x=22.0, y=-607.0, child-count=1}\n\n at Autocomplete.toBeVisible (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/component/autocomplete.ts:117:56)\n at Object.<anonymous> (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/autocomplete/channel_mention.e2e.ts:230:9)" ], "fullName": "Autocomplete - Channel Mention MM-T4879_9 - should not be able to autocomplete out of team channel", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "failed", "title": "MM-T4879_9 - should not be able to autocomplete out of team channel" }, { "ancestorTitles": [ "Autocomplete - Channel Mention" ], "duration": 3965, "failureDetails": [ { "name": "DetoxRuntimeError" } ], "failureMessages": [ "Test Failed: '(view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)' doesn't match the selected view.\nExpected: (view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)\n Got: view was <4> percent visible to the user\nView Details: ReactViewGroup{id=1735, visibility=VISIBLE, width=1036, height=633, has-focus=false, has-focusable=true, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, layout-params=android.view.ViewGroup$LayoutParams@YYYYYY, tag=autocomplete, root-is-layout-requested=false, has-input-connection=false, x=22.0, y=-607.0, child-count=1}\n\n at Autocomplete.toBeVisible (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/component/autocomplete.ts:117:56)\n at Object.<anonymous> (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/autocomplete/channel_mention.e2e.ts:246:9)" ], "fullName": "Autocomplete - Channel Mention MM-T4879_10 - should include current channel in autocomplete", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "failed", "title": "MM-T4879_10 - should include current channel in autocomplete" } ], "failureMessage": " ● Autocomplete - Channel Mention › MM-T4879_1 - should suggest channel based on channel name\n\n Test Failed: '(view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)' doesn't match the selected view.\n Expected: (view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)\n Got: view was <4> percent visible to the user\n View Details: ReactViewGroup{id=1735, visibility=VISIBLE, width=1036, height=556, has-focus=false, has-focusable=true, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, layout-params=android.view.ViewGroup$LayoutParams@YYYYYY, tag=autocomplete, root-is-layout-requested=false, has-input-connection=false, x=22.0, y=-530.0, child-count=1}\n\n \u001b[0m \u001b[90m 115 |\u001b[39m \u001b[36mawait\u001b[39m wait(timeouts\u001b[33m.\u001b[39m\u001b[33mONE_SEC\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m 116 |\u001b[39m \u001b[36mif\u001b[39m (isVisible) {\n \u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 117 |\u001b[39m \u001b[36mawait\u001b[39m expect(\u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mautocomplete\u001b[33m.\u001b[39matIndex(\u001b[35m0\u001b[39m))\u001b[33m.\u001b[39mtoBeVisible()\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 118 |\u001b[39m \u001b[36mreturn\u001b[39m \u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mautocomplete\u001b[33m;\u001b[39m\n \u001b[90m 119 |\u001b[39m }\n \u001b[90m 120 |\u001b[39m\u001b[0m\n\n at Autocomplete.toBeVisible (support/ui/component/autocomplete.ts:117:56)\n at Object.<anonymous> (test/products/channels/autocomplete/channel_mention.e2e.ts:77:9)\n\n ● Autocomplete - Channel Mention › MM-T4879_2 - should suggest channel based on channel display name\n\n Test Failed: '(view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)' doesn't match the selected view.\n Expected: (view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)\n Got: view was <4> percent visible to the user\n View Details: ReactViewGroup{id=1735, visibility=VISIBLE, width=1036, height=556, has-focus=false, has-focusable=true, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, layout-params=android.view.ViewGroup$LayoutParams@YYYYYY, tag=autocomplete, root-is-layout-requested=false, has-input-connection=false, x=22.0, y=-530.0, child-count=1}\n\n \u001b[0m \u001b[90m 115 |\u001b[39m \u001b[36mawait\u001b[39m wait(timeouts\u001b[33m.\u001b[39m\u001b[33mONE_SEC\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m 116 |\u001b[39m \u001b[36mif\u001b[39m (isVisible) {\n \u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 117 |\u001b[39m \u001b[36mawait\u001b[39m expect(\u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mautocomplete\u001b[33m.\u001b[39matIndex(\u001b[35m0\u001b[39m))\u001b[33m.\u001b[39mtoBeVisible()\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 118 |\u001b[39m \u001b[36mreturn\u001b[39m \u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mautocomplete\u001b[33m;\u001b[39m\n \u001b[90m 119 |\u001b[39m }\n \u001b[90m 120 |\u001b[39m\u001b[0m\n\n at Autocomplete.toBeVisible (support/ui/component/autocomplete.ts:117:56)\n at Object.<anonymous> (test/products/channels/autocomplete/channel_mention.e2e.ts:92:9)\n\n ● Autocomplete - Channel Mention › MM-T4879_3 - should suggest channel based on lowercase channel display name\n\n Test Failed: '(view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)' doesn't match the selected view.\n Expected: (view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)\n Got: view was <4> percent visible to the user\n View Details: ReactViewGroup{id=1735, visibility=VISIBLE, width=1036, height=556, has-focus=false, has-focusable=true, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, layout-params=android.view.ViewGroup$LayoutParams@YYYYYY, tag=autocomplete, root-is-layout-requested=false, has-input-connection=false, x=22.0, y=-530.0, child-count=1}\n\n \u001b[0m \u001b[90m 115 |\u001b[39m \u001b[36mawait\u001b[39m wait(timeouts\u001b[33m.\u001b[39m\u001b[33mONE_SEC\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m 116 |\u001b[39m \u001b[36mif\u001b[39m (isVisible) {\n \u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 117 |\u001b[39m \u001b[36mawait\u001b[39m expect(\u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mautocomplete\u001b[33m.\u001b[39matIndex(\u001b[35m0\u001b[39m))\u001b[33m.\u001b[39mtoBeVisible()\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 118 |\u001b[39m \u001b[36mreturn\u001b[39m \u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mautocomplete\u001b[33m;\u001b[39m\n \u001b[90m 119 |\u001b[39m }\n \u001b[90m 120 |\u001b[39m\u001b[0m\n\n at Autocomplete.toBeVisible (support/ui/component/autocomplete.ts:117:56)\n at Object.<anonymous> (test/products/channels/autocomplete/channel_mention.e2e.ts:107:9)\n\n ● Autocomplete - Channel Mention › MM-T4879_4 - should suggest channel based on partial channel display name\n\n Test Failed: '(view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)' doesn't match the selected view.\n Expected: (view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)\n Got: view was <4> percent visible to the user\n View Details: ReactViewGroup{id=1735, visibility=VISIBLE, width=1036, height=556, has-focus=false, has-focusable=true, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, layout-params=android.view.ViewGroup$LayoutParams@YYYYYY, tag=autocomplete, root-is-layout-requested=false, has-input-connection=false, x=22.0, y=-530.0, child-count=1}\n\n \u001b[0m \u001b[90m 115 |\u001b[39m \u001b[36mawait\u001b[39m wait(timeouts\u001b[33m.\u001b[39m\u001b[33mONE_SEC\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m 116 |\u001b[39m \u001b[36mif\u001b[39m (isVisible) {\n \u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 117 |\u001b[39m \u001b[36mawait\u001b[39m expect(\u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mautocomplete\u001b[33m.\u001b[39matIndex(\u001b[35m0\u001b[39m))\u001b[33m.\u001b[39mtoBeVisible()\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 118 |\u001b[39m \u001b[36mreturn\u001b[39m \u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mautocomplete\u001b[33m;\u001b[39m\n \u001b[90m 119 |\u001b[39m }\n \u001b[90m 120 |\u001b[39m\u001b[0m\n\n at Autocomplete.toBeVisible (support/ui/component/autocomplete.ts:117:56)\n at Object.<anonymous> (test/products/channels/autocomplete/channel_mention.e2e.ts:122:9)\n\n ● Autocomplete - Channel Mention › MM-T4879_5 - should stop suggesting channel after channel display name with trailing space\n\n Test Failed: '(view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)' doesn't match the selected view.\n Expected: (view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)\n Got: view was <4> percent visible to the user\n View Details: ReactViewGroup{id=1735, visibility=VISIBLE, width=1036, height=556, has-focus=false, has-focusable=true, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, layout-params=android.view.ViewGroup$LayoutParams@YYYYYY, tag=autocomplete, root-is-layout-requested=false, has-input-connection=false, x=22.0, y=-530.0, child-count=1}\n\n \u001b[0m \u001b[90m 115 |\u001b[39m \u001b[36mawait\u001b[39m wait(timeouts\u001b[33m.\u001b[39m\u001b[33mONE_SEC\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m 116 |\u001b[39m \u001b[36mif\u001b[39m (isVisible) {\n \u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 117 |\u001b[39m \u001b[36mawait\u001b[39m expect(\u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mautocomplete\u001b[33m.\u001b[39matIndex(\u001b[35m0\u001b[39m))\u001b[33m.\u001b[39mtoBeVisible()\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 118 |\u001b[39m \u001b[36mreturn\u001b[39m \u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mautocomplete\u001b[33m;\u001b[39m\n \u001b[90m 119 |\u001b[39m }\n \u001b[90m 120 |\u001b[39m\u001b[0m\n\n at Autocomplete.toBeVisible (support/ui/component/autocomplete.ts:117:56)\n at Object.<anonymous> (test/products/channels/autocomplete/channel_mention.e2e.ts:137:9)\n\n ● Autocomplete - Channel Mention › MM-T4879_6 - should stop suggesting channel when keyword is not associated with any channel\n\n Test Failed: '(view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)' doesn't match the selected view.\n Expected: (view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)\n Got: view was <4> percent visible to the user\n View Details: ReactViewGroup{id=1735, visibility=VISIBLE, width=1036, height=556, has-focus=false, has-focusable=true, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, layout-params=android.view.ViewGroup$LayoutParams@YYYYYY, tag=autocomplete, root-is-layout-requested=false, has-input-connection=false, x=22.0, y=-530.0, child-count=1}\n\n \u001b[0m \u001b[90m 115 |\u001b[39m \u001b[36mawait\u001b[39m wait(timeouts\u001b[33m.\u001b[39m\u001b[33mONE_SEC\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m 116 |\u001b[39m \u001b[36mif\u001b[39m (isVisible) {\n \u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 117 |\u001b[39m \u001b[36mawait\u001b[39m expect(\u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mautocomplete\u001b[33m.\u001b[39matIndex(\u001b[35m0\u001b[39m))\u001b[33m.\u001b[39mtoBeVisible()\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 118 |\u001b[39m \u001b[36mreturn\u001b[39m \u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mautocomplete\u001b[33m;\u001b[39m\n \u001b[90m 119 |\u001b[39m }\n \u001b[90m 120 |\u001b[39m\u001b[0m\n\n at Autocomplete.toBeVisible (support/ui/component/autocomplete.ts:117:56)\n at Object.<anonymous> (test/products/channels/autocomplete/channel_mention.e2e.ts:159:9)\n\n ● Autocomplete - Channel Mention › MM-T4879_7 - should be able to select channel mention multiple times\n\n Test Failed: '(view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)' doesn't match the selected view.\n Expected: (view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)\n Got: view was <4> percent visible to the user\n View Details: ReactScrollView{id=2609, visibility=VISIBLE, width=1030, height=550, has-focus=false, has-focusable=true, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=true, is-layout-requested=false, is-selected=false, layout-params=android.view.ViewGroup$LayoutParams@YYYYYY, tag=autocomplete.channel_mention.section_list, root-is-layout-requested=false, has-input-connection=false, x=3.0, y=3.0, child-count=1}\n\n \u001b[0m \u001b[90m 175 |\u001b[39m\n \u001b[90m 176 |\u001b[39m \u001b[90m// * Verify channel mention list is displayed\u001b[39m\n \u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 177 |\u001b[39m \u001b[36mawait\u001b[39m expect(\u001b[33mAutocomplete\u001b[39m\u001b[33m.\u001b[39msectionChannelMentionList)\u001b[33m.\u001b[39mtoBeVisible()\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 178 |\u001b[39m\n \u001b[90m 179 |\u001b[39m \u001b[90m// # Type in channel name and tap on channel mention autocomplete\u001b[39m\n \u001b[90m 180 |\u001b[39m \u001b[36mawait\u001b[39m \u001b[33mChannelScreen\u001b[39m\u001b[33m.\u001b[39mpostInput\u001b[33m.\u001b[39mtypeText(testChannel\u001b[33m.\u001b[39mname)\u001b[33m;\u001b[39m\u001b[0m\n\n at Object.<anonymous> (test/products/channels/autocomplete/channel_mention.e2e.ts:177:62)\n\n ● Autocomplete - Channel Mention › MM-T4879_8 - should be able to autocomplete archived channel\n\n Test Failed: '(view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)' doesn't match the selected view.\n Expected: (view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)\n Got: view was <4> percent visible to the user\n View Details: ReactViewGroup{id=1735, visibility=VISIBLE, width=1036, height=633, has-focus=false, has-focusable=true, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, layout-params=android.view.ViewGroup$LayoutParams@YYYYYY, tag=autocomplete, root-is-layout-requested=false, has-input-connection=false, x=22.0, y=-607.0, child-count=1}\n\n \u001b[0m \u001b[90m 115 |\u001b[39m \u001b[36mawait\u001b[39m wait(timeouts\u001b[33m.\u001b[39m\u001b[33mONE_SEC\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m 116 |\u001b[39m \u001b[36mif\u001b[39m (isVisible) {\n \u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 117 |\u001b[39m \u001b[36mawait\u001b[39m expect(\u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mautocomplete\u001b[33m.\u001b[39matIndex(\u001b[35m0\u001b[39m))\u001b[33m.\u001b[39mtoBeVisible()\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 118 |\u001b[39m \u001b[36mreturn\u001b[39m \u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mautocomplete\u001b[33m;\u001b[39m\n \u001b[90m 119 |\u001b[39m }\n \u001b[90m 120 |\u001b[39m\u001b[0m\n\n at Autocomplete.toBeVisible (support/ui/component/autocomplete.ts:117:56)\n at Object.<anonymous> (test/products/channels/autocomplete/channel_mention.e2e.ts:197:9)\n\n ● Autocomplete - Channel Mention › MM-T4879_9 - should not be able to autocomplete out of team channel\n\n Test Failed: '(view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)' doesn't match the selected view.\n Expected: (view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)\n Got: view was <4> percent visible to the user\n View Details: ReactViewGroup{id=1735, visibility=VISIBLE, width=1036, height=633, has-focus=false, has-focusable=true, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, layout-params=android.view.ViewGroup$LayoutParams@YYYYYY, tag=autocomplete, root-is-layout-requested=false, has-input-connection=false, x=22.0, y=-607.0, child-count=1}\n\n \u001b[0m \u001b[90m 115 |\u001b[39m \u001b[36mawait\u001b[39m wait(timeouts\u001b[33m.\u001b[39m\u001b[33mONE_SEC\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m 116 |\u001b[39m \u001b[36mif\u001b[39m (isVisible) {\n \u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 117 |\u001b[39m \u001b[36mawait\u001b[39m expect(\u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mautocomplete\u001b[33m.\u001b[39matIndex(\u001b[35m0\u001b[39m))\u001b[33m.\u001b[39mtoBeVisible()\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 118 |\u001b[39m \u001b[36mreturn\u001b[39m \u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mautocomplete\u001b[33m;\u001b[39m\n \u001b[90m 119 |\u001b[39m }\n \u001b[90m 120 |\u001b[39m\u001b[0m\n\n at Autocomplete.toBeVisible (support/ui/component/autocomplete.ts:117:56)\n at Object.<anonymous> (test/products/channels/autocomplete/channel_mention.e2e.ts:230:9)\n\n ● Autocomplete - Channel Mention › MM-T4879_10 - should include current channel in autocomplete\n\n Test Failed: '(view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)' doesn't match the selected view.\n Expected: (view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)\n Got: view was <4> percent visible to the user\n View Details: ReactViewGroup{id=1735, visibility=VISIBLE, width=1036, height=633, has-focus=false, has-focusable=true, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, layout-params=android.view.ViewGroup$LayoutParams@YYYYYY, tag=autocomplete, root-is-layout-requested=false, has-input-connection=false, x=22.0, y=-607.0, child-count=1}\n\n \u001b[0m \u001b[90m 115 |\u001b[39m \u001b[36mawait\u001b[39m wait(timeouts\u001b[33m.\u001b[39m\u001b[33mONE_SEC\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m 116 |\u001b[39m \u001b[36mif\u001b[39m (isVisible) {\n \u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 117 |\u001b[39m \u001b[36mawait\u001b[39m expect(\u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mautocomplete\u001b[33m.\u001b[39matIndex(\u001b[35m0\u001b[39m))\u001b[33m.\u001b[39mtoBeVisible()\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 118 |\u001b[39m \u001b[36mreturn\u001b[39m \u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mautocomplete\u001b[33m;\u001b[39m\n \u001b[90m 119 |\u001b[39m }\n \u001b[90m 120 |\u001b[39m\u001b[0m\n\n at Autocomplete.toBeVisible (support/ui/component/autocomplete.ts:117:56)\n at Object.<anonymous> (test/products/channels/autocomplete/channel_mention.e2e.ts:246:9)\n" }, { "leaks": false, "numFailingTests": 4, "numPassingTests": 0, "numPendingTests": 0, "numTodoTests": 0, "openHandles": [], "perfStats": { "end": 1765990712472, "runtime": 53451, "slow": true, "start": 1765990659021 }, "skipped": false, "snapshot": { "added": 0, "fileDeleted": false, "matched": 0, "unchecked": 0, "uncheckedKeys": [], "unmatched": 0, "updated": 0 }, "testFilePath": "/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/autocomplete/channel_post_draft.e2e.ts", "testResults": [ { "ancestorTitles": [ "Autocomplete - Channel Post Draft" ], "duration": 3241, "failureDetails": [ { "name": "DetoxRuntimeError" } ], "failureMessages": [ "Test Failed: '(view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)' doesn't match the selected view.\nExpected: (view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)\n Got: view was <3> percent visible to the user\nView Details: ReactScrollView{id=1813, visibility=VISIBLE, width=1030, height=627, has-focus=false, has-focusable=true, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=true, is-layout-requested=false, is-selected=false, layout-params=android.view.ViewGroup$LayoutParams@YYYYYY, tag=autocomplete.at_mention.section_list, root-is-layout-requested=false, has-input-connection=false, x=3.0, y=3.0, child-count=1}\n\n at Object.<anonymous> (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/autocomplete/channel_post_draft.e2e.ts:65:57)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)" ], "fullName": "Autocomplete - Channel Post Draft MM-T4882_1 - should render at-mention autocomplete in post input", "invocations": 1, "location": null, "numPassingAsserts": 3, "retryReasons": [], "status": "failed", "title": "MM-T4882_1 - should render at-mention autocomplete in post input" }, { "ancestorTitles": [ "Autocomplete - Channel Post Draft" ], "duration": 2818, "failureDetails": [ { "name": "DetoxRuntimeError" } ], "failureMessages": [ "Test Failed: '(view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)' doesn't match the selected view.\nExpected: (view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)\n Got: view was <5> percent visible to the user\nView Details: ReactScrollView{id=1983, visibility=VISIBLE, width=1030, height=440, has-focus=false, has-focusable=true, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=true, is-layout-requested=false, is-selected=false, layout-params=android.view.ViewGroup$LayoutParams@YYYYYY, tag=autocomplete.channel_mention.section_list, root-is-layout-requested=false, has-input-connection=false, x=3.0, y=3.0, child-count=1}\n\n at Object.<anonymous> (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/autocomplete/channel_post_draft.e2e.ts:76:62)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)" ], "fullName": "Autocomplete - Channel Post Draft MM-T4882_2 - should render channel mention autocomplete in post input", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "failed", "title": "MM-T4882_2 - should render channel mention autocomplete in post input" }, { "ancestorTitles": [ "Autocomplete - Channel Post Draft" ], "duration": 3706, "failureDetails": [ { "name": "DetoxRuntimeError" } ], "failureMessages": [ "Test Failed: '(view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)' doesn't match the selected view.\nExpected: (view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)\n Got: view was <3> percent visible to the user\nView Details: ReactScrollView{id=2189, visibility=VISIBLE, width=1030, height=627, has-focus=false, has-focusable=true, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=true, is-layout-requested=false, is-selected=false, layout-params=android.view.ViewGroup$LayoutParams@YYYYYY, tag=autocomplete.emoji_suggestion.flat_list, root-is-layout-requested=false, has-input-connection=false, x=3.0, y=3.0, child-count=1}\n\n at Object.<anonymous> (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/autocomplete/channel_post_draft.e2e.ts:87:60)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)" ], "fullName": "Autocomplete - Channel Post Draft MM-T4882_3 - should render emoji suggestion autocomplete in post input", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "failed", "title": "MM-T4882_3 - should render emoji suggestion autocomplete in post input" }, { "ancestorTitles": [ "Autocomplete - Channel Post Draft" ], "duration": 3390, "failureDetails": [ { "name": "DetoxRuntimeError" } ], "failureMessages": [ "Test Failed: '(view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)' doesn't match the selected view.\nExpected: (view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)\n Got: view was <3> percent visible to the user\nView Details: ReactScrollView{id=2873, visibility=VISIBLE, width=1030, height=627, has-focus=false, has-focusable=true, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=true, is-layout-requested=false, is-selected=false, layout-params=android.view.ViewGroup$LayoutParams@YYYYYY, tag=autocomplete.slash_suggestion.flat_list, root-is-layout-requested=false, has-input-connection=false, x=3.0, y=3.0, child-count=1}\n\n at Object.<anonymous> (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/autocomplete/channel_post_draft.e2e.ts:98:60)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)" ], "fullName": "Autocomplete - Channel Post Draft MM-T4882_4 - should render slash suggestion autocomplete in post input", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "failed", "title": "MM-T4882_4 - should render slash suggestion autocomplete in post input" } ], "failureMessage": " ● Autocomplete - Channel Post Draft › MM-T4882_1 - should render at-mention autocomplete in post input\n\n Test Failed: '(view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)' doesn't match the selected view.\n Expected: (view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)\n Got: view was <3> percent visible to the user\n View Details: ReactScrollView{id=1813, visibility=VISIBLE, width=1030, height=627, has-focus=false, has-focusable=true, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=true, is-layout-requested=false, is-selected=false, layout-params=android.view.ViewGroup$LayoutParams@YYYYYY, tag=autocomplete.at_mention.section_list, root-is-layout-requested=false, has-input-connection=false, x=3.0, y=3.0, child-count=1}\n\n \u001b[0m \u001b[90m 63 |\u001b[39m\n \u001b[90m 64 |\u001b[39m \u001b[90m// * Verify at-mention list is displayed\u001b[39m\n \u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 65 |\u001b[39m \u001b[36mawait\u001b[39m expect(\u001b[33mAutocomplete\u001b[39m\u001b[33m.\u001b[39msectionAtMentionList)\u001b[33m.\u001b[39mtoBeVisible()\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 66 |\u001b[39m })\u001b[33m;\u001b[39m\n \u001b[90m 67 |\u001b[39m\n \u001b[90m 68 |\u001b[39m it(\u001b[32m'MM-T4882_2 - should render channel mention autocomplete in post input'\u001b[39m\u001b[33m,\u001b[39m \u001b[36masync\u001b[39m () \u001b[33m=>\u001b[39m {\u001b[0m\n\n at Object.<anonymous> (test/products/channels/autocomplete/channel_post_draft.e2e.ts:65:57)\n\n ● Autocomplete - Channel Post Draft › MM-T4882_2 - should render channel mention autocomplete in post input\n\n Test Failed: '(view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)' doesn't match the selected view.\n Expected: (view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)\n Got: view was <5> percent visible to the user\n View Details: ReactScrollView{id=1983, visibility=VISIBLE, width=1030, height=440, has-focus=false, has-focusable=true, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=true, is-layout-requested=false, is-selected=false, layout-params=android.view.ViewGroup$LayoutParams@YYYYYY, tag=autocomplete.channel_mention.section_list, root-is-layout-requested=false, has-input-connection=false, x=3.0, y=3.0, child-count=1}\n\n \u001b[0m \u001b[90m 74 |\u001b[39m\n \u001b[90m 75 |\u001b[39m \u001b[90m// * Verify channel mention list is displayed\u001b[39m\n \u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 76 |\u001b[39m \u001b[36mawait\u001b[39m expect(\u001b[33mAutocomplete\u001b[39m\u001b[33m.\u001b[39msectionChannelMentionList)\u001b[33m.\u001b[39mtoBeVisible()\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 77 |\u001b[39m })\u001b[33m;\u001b[39m\n \u001b[90m 78 |\u001b[39m\n \u001b[90m 79 |\u001b[39m it(\u001b[32m'MM-T4882_3 - should render emoji suggestion autocomplete in post input'\u001b[39m\u001b[33m,\u001b[39m \u001b[36masync\u001b[39m () \u001b[33m=>\u001b[39m {\u001b[0m\n\n at Object.<anonymous> (test/products/channels/autocomplete/channel_post_draft.e2e.ts:76:62)\n\n ● Autocomplete - Channel Post Draft › MM-T4882_3 - should render emoji suggestion autocomplete in post input\n\n Test Failed: '(view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)' doesn't match the selected view.\n Expected: (view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)\n Got: view was <3> percent visible to the user\n View Details: ReactScrollView{id=2189, visibility=VISIBLE, width=1030, height=627, has-focus=false, has-focusable=true, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=true, is-layout-requested=false, is-selected=false, layout-params=android.view.ViewGroup$LayoutParams@YYYYYY, tag=autocomplete.emoji_suggestion.flat_list, root-is-layout-requested=false, has-input-connection=false, x=3.0, y=3.0, child-count=1}\n\n \u001b[0m \u001b[90m 85 |\u001b[39m\n \u001b[90m 86 |\u001b[39m \u001b[90m// * Verify emoji suggestion list is displayed\u001b[39m\n \u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 87 |\u001b[39m \u001b[36mawait\u001b[39m expect(\u001b[33mAutocomplete\u001b[39m\u001b[33m.\u001b[39mflatEmojiSuggestionList)\u001b[33m.\u001b[39mtoBeVisible()\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 88 |\u001b[39m })\u001b[33m;\u001b[39m\n \u001b[90m 89 |\u001b[39m\n \u001b[90m 90 |\u001b[39m it(\u001b[32m'MM-T4882_4 - should render slash suggestion autocomplete in post input'\u001b[39m\u001b[33m,\u001b[39m \u001b[36masync\u001b[39m () \u001b[33m=>\u001b[39m {\u001b[0m\n\n at Object.<anonymous> (test/products/channels/autocomplete/channel_post_draft.e2e.ts:87:60)\n\n ● Autocomplete - Channel Post Draft › MM-T4882_4 - should render slash suggestion autocomplete in post input\n\n Test Failed: '(view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)' doesn't match the selected view.\n Expected: (view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)\n Got: view was <3> percent visible to the user\n View Details: ReactScrollView{id=2873, visibility=VISIBLE, width=1030, height=627, has-focus=false, has-focusable=true, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=true, is-layout-requested=false, is-selected=false, layout-params=android.view.ViewGroup$LayoutParams@YYYYYY, tag=autocomplete.slash_suggestion.flat_list, root-is-layout-requested=false, has-input-connection=false, x=3.0, y=3.0, child-count=1}\n\n \u001b[0m \u001b[90m 96 |\u001b[39m\n \u001b[90m 97 |\u001b[39m \u001b[90m// * Verify slash suggestion list is displayed\u001b[39m\n \u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 98 |\u001b[39m \u001b[36mawait\u001b[39m expect(\u001b[33mAutocomplete\u001b[39m\u001b[33m.\u001b[39mflatSlashSuggestionList)\u001b[33m.\u001b[39mtoBeVisible()\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 99 |\u001b[39m })\u001b[33m;\u001b[39m\n \u001b[90m 100 |\u001b[39m })\u001b[33m;\u001b[39m\n \u001b[90m 101 |\u001b[39m\u001b[0m\n\n at Object.<anonymous> (test/products/channels/autocomplete/channel_post_draft.e2e.ts:98:60)\n" }, { "leaks": false, "numFailingTests": 0, "numPassingTests": 2, "numPendingTests": 0, "numTodoTests": 0, "openHandles": [], "perfStats": { "end": 1765990271355, "runtime": 188479, "slow": true, "start": 1765990082876 }, "skipped": false, "snapshot": { "added": 0, "fileDeleted": false, "matched": 0, "unchecked": 0, "uncheckedKeys": [], "unmatched": 0, "updated": 0 }, "testFilePath": "/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/smoke_test/threads.e2e.ts", "testResults": [ { "ancestorTitles": [ "Smoke Test - Threads" ], "duration": 57233, "failureDetails": [], "failureMessages": [], "fullName": "Smoke Test - Threads MM-T4811_1 - should be able to create a thread, follow/unfollow a thread, mark a thread as read/unread, and reply to thread", "invocations": 1, "location": null, "numPassingAsserts": 3, "retryReasons": [], "status": "passed", "title": "MM-T4811_1 - should be able to create a thread, follow/unfollow a thread, mark a thread as read/unread, and reply to thread" }, { "ancestorTitles": [ "Smoke Test - Threads" ], "duration": 46158, "failureDetails": [], "failureMessages": [], "fullName": "Smoke Test - Threads MM-T4811_2 - should be able to save/unsave a thread and open a thread in channel", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T4811_2 - should be able to save/unsave a thread and open a thread in channel" } ], "failureMessage": null }, { "leaks": false, "numFailingTests": 0, "numPassingTests": 6, "numPendingTests": 0, "numTodoTests": 0, "openHandles": [], "perfStats": { "end": 1765990378082, "runtime": 106618, "slow": true, "start": 1765990271464 }, "skipped": false, "snapshot": { "added": 0, "fileDeleted": false, "matched": 0, "unchecked": 0, "uncheckedKeys": [], "unmatched": 0, "updated": 0 }, "testFilePath": "/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/teams/invite_people.e2e.ts", "testResults": [ { "ancestorTitles": [ "Teams - Invite" ], "duration": 10522, "failureDetails": [], "failureMessages": [], "fullName": "Teams - Invite MM-T5360 - should open the invite screen", "invocations": 1, "location": null, "numPassingAsserts": 3, "retryReasons": [], "status": "passed", "title": "MM-T5360 - should open the invite screen" }, { "ancestorTitles": [ "Teams - Invite" ], "duration": 10904, "failureDetails": [], "failureMessages": [], "fullName": "Teams - Invite MM-T5361 - should show no results item in search list", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T5361 - should show no results item in search list" }, { "ancestorTitles": [ "Teams - Invite" ], "duration": 12098, "failureDetails": [], "failureMessages": [], "fullName": "Teams - Invite MM-T5362 - should be able to send email invite", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T5362 - should be able to send email invite" }, { "ancestorTitles": [ "Teams - Invite" ], "duration": 12599, "failureDetails": [], "failureMessages": [], "fullName": "Teams - Invite MM-T5363 - should be able to send user invite", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T5363 - should be able to send user invite" }, { "ancestorTitles": [ "Teams - Invite" ], "duration": 12253, "failureDetails": [], "failureMessages": [], "fullName": "Teams - Invite MM-T5364 - should not be able to send user invite to user already in team", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T5364 - should not be able to send user invite to user already in team" }, { "ancestorTitles": [ "Teams - Invite" ], "duration": 14476, "failureDetails": [], "failureMessages": [], "fullName": "Teams - Invite MM-T5365 - should handle both sent and not sent invites", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T5365 - should handle both sent and not sent invites" } ], "failureMessage": null }, { "leaks": false, "numFailingTests": 0, "numPassingTests": 4, "numPendingTests": 0, "numTodoTests": 0, "openHandles": [], "perfStats": { "end": 1765990528234, "runtime": 149994, "slow": true, "start": 1765990378240 }, "skipped": false, "snapshot": { "added": 0, "fileDeleted": false, "matched": 0, "unchecked": 0, "uncheckedKeys": [], "unmatched": 0, "updated": 0 }, "testFilePath": "/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/threads/follow_and_unfollow_thread.e2e.ts", "testResults": [ { "ancestorTitles": [ "Threads - Follow and Unfollow Thread" ], "duration": 25086, "failureDetails": [], "failureMessages": [], "fullName": "Threads - Follow and Unfollow Thread MM-T4806_1 - should be able to follow/unfollow a thread via thread navigation", "invocations": 1, "location": null, "numPassingAsserts": 3, "retryReasons": [], "status": "passed", "title": "MM-T4806_1 - should be able to follow/unfollow a thread via thread navigation" }, { "ancestorTitles": [ "Threads - Follow and Unfollow Thread" ], "duration": 23398, "failureDetails": [], "failureMessages": [], "fullName": "Threads - Follow and Unfollow Thread MM-T4806_2 - should be able to follow/unfollow a thread via post footer", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T4806_2 - should be able to follow/unfollow a thread via post footer" }, { "ancestorTitles": [ "Threads - Follow and Unfollow Thread" ], "duration": 38365, "failureDetails": [], "failureMessages": [], "fullName": "Threads - Follow and Unfollow Thread MM-T4806_3 - should be able to follow/unfollow a thread via post options", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T4806_3 - should be able to follow/unfollow a thread via post options" }, { "ancestorTitles": [ "Threads - Follow and Unfollow Thread" ], "duration": 30500, "failureDetails": [], "failureMessages": [], "fullName": "Threads - Follow and Unfollow Thread MM-T4806_4 - should be able to unfollow a thread via thread options", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T4806_4 - should be able to unfollow a thread via thread options" } ], "failureMessage": null }, { "leaks": false, "numFailingTests": 5, "numPassingTests": 0, "numPendingTests": 0, "numTodoTests": 0, "openHandles": [], "perfStats": { "end": 1765990724299, "runtime": 195929, "slow": true, "start": 1765990528370 }, "skipped": false, "snapshot": { "added": 0, "fileDeleted": false, "matched": 0, "unchecked": 0, "uncheckedKeys": [], "unmatched": 0, "updated": 0 }, "testFilePath": "/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/threads/global_threads.e2e.ts", "testResults": [ { "ancestorTitles": [ "Threads - Global Threads" ], "duration": 1, "failureDetails": [ { "message": "thrown: \"Exceeded timeout of 180000 ms for a hook.\nAdd a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout.\"" } ], "failureMessages": [ "Error: thrown: \"Exceeded timeout of 180000 ms for a hook.\nAdd a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout.\"\n at /home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/threads/global_threads.e2e.ts:36:5\n at _dispatchDescribe (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/index.js:91:26)\n at describe (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/index.js:55:5)\n at Object.<anonymous> (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/threads/global_threads.e2e.ts:30:1)\n at Runtime._execModule (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-runtime/build/index.js:1439:24)\n at Runtime._loadModule (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-runtime/build/index.js:1022:12)\n at Runtime.requireModule (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-runtime/build/index.js:882:12)\n at jestAdapter (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:77:13)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at runTestInternal (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-runner/build/runTest.js:367:16)\n at runTest (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-runner/build/runTest.js:444:34)" ], "fullName": "Threads - Global Threads MM-T4805_1 - should match elements on global threads screen", "invocations": 1, "location": null, "numPassingAsserts": 3, "retryReasons": [], "status": "failed", "title": "MM-T4805_1 - should match elements on global threads screen" }, { "ancestorTitles": [ "Threads - Global Threads" ], "duration": 1, "failureDetails": [ { "message": "thrown: \"Exceeded timeout of 180000 ms for a hook.\nAdd a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout.\"" } ], "failureMessages": [ "Error: thrown: \"Exceeded timeout of 180000 ms for a hook.\nAdd a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout.\"\n at /home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/threads/global_threads.e2e.ts:36:5\n at _dispatchDescribe (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/index.js:91:26)\n at describe (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/index.js:55:5)\n at Object.<anonymous> (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/threads/global_threads.e2e.ts:30:1)\n at Runtime._execModule (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-runtime/build/index.js:1439:24)\n at Runtime._loadModule (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-runtime/build/index.js:1022:12)\n at Runtime.requireModule (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-runtime/build/index.js:882:12)\n at jestAdapter (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:77:13)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at runTestInternal (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-runner/build/runTest.js:367:16)\n at runTest (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-runner/build/runTest.js:444:34)" ], "fullName": "Threads - Global Threads MM-T4805_2 - should be able to go to a thread a user started and followed", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "failed", "title": "MM-T4805_2 - should be able to go to a thread a user started and followed" }, { "ancestorTitles": [ "Threads - Global Threads" ], "duration": 0, "failureDetails": [ { "message": "thrown: \"Exceeded timeout of 180000 ms for a hook.\nAdd a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout.\"" } ], "failureMessages": [ "Error: thrown: \"Exceeded timeout of 180000 ms for a hook.\nAdd a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout.\"\n at /home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/threads/global_threads.e2e.ts:36:5\n at _dispatchDescribe (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/index.js:91:26)\n at describe (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/index.js:55:5)\n at Object.<anonymous> (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/threads/global_threads.e2e.ts:30:1)\n at Runtime._execModule (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-runtime/build/index.js:1439:24)\n at Runtime._loadModule (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-runtime/build/index.js:1022:12)\n at Runtime.requireModule (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-runtime/build/index.js:882:12)\n at jestAdapter (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:77:13)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at runTestInternal (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-runner/build/runTest.js:367:16)\n at runTest (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-runner/build/runTest.js:444:34)" ], "fullName": "Threads - Global Threads MM-T4805_3 - should not display a thread a user started but not followed", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "failed", "title": "MM-T4805_3 - should not display a thread a user started but not followed" }, { "ancestorTitles": [ "Threads - Global Threads" ], "duration": 1, "failureDetails": [ { "message": "thrown: \"Exceeded timeout of 180000 ms for a hook.\nAdd a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout.\"" } ], "failureMessages": [ "Error: thrown: \"Exceeded timeout of 180000 ms for a hook.\nAdd a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout.\"\n at /home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/threads/global_threads.e2e.ts:36:5\n at _dispatchDescribe (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/index.js:91:26)\n at describe (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/index.js:55:5)\n at Object.<anonymous> (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/threads/global_threads.e2e.ts:30:1)\n at Runtime._execModule (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-runtime/build/index.js:1439:24)\n at Runtime._loadModule (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-runtime/build/index.js:1022:12)\n at Runtime.requireModule (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-runtime/build/index.js:882:12)\n at jestAdapter (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:77:13)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at runTestInternal (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-runner/build/runTest.js:367:16)\n at runTest (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-runner/build/runTest.js:444:34)" ], "fullName": "Threads - Global Threads MM-T4805_4 - should be able to go to a thread a user replied to and followed", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "failed", "title": "MM-T4805_4 - should be able to go to a thread a user replied to and followed" }, { "ancestorTitles": [ "Threads - Global Threads" ], "duration": 1, "failureDetails": [ { "message": "thrown: \"Exceeded timeout of 180000 ms for a hook.\nAdd a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout.\"" } ], "failureMessages": [ "Error: thrown: \"Exceeded timeout of 180000 ms for a hook.\nAdd a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout.\"\n at /home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/threads/global_threads.e2e.ts:36:5\n at _dispatchDescribe (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/index.js:91:26)\n at describe (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/index.js:55:5)\n at Object.<anonymous> (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/threads/global_threads.e2e.ts:30:1)\n at Runtime._execModule (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-runtime/build/index.js:1439:24)\n at Runtime._loadModule (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-runtime/build/index.js:1022:12)\n at Runtime.requireModule (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-runtime/build/index.js:882:12)\n at jestAdapter (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:77:13)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at runTestInternal (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-runner/build/runTest.js:367:16)\n at runTest (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-runner/build/runTest.js:444:34)" ], "fullName": "Threads - Global Threads MM-T4805_5 - should not display a thread a user replied to but not followed", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "failed", "title": "MM-T4805_5 - should not display a thread a user replied to but not followed" } ], "failureMessage": " ● Threads - Global Threads › MM-T4805_1 - should match elements on global threads screen\n\n thrown: \"Exceeded timeout of 180000 ms for a hook.\n Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout.\"\n\n \u001b[0m \u001b[90m 34 |\u001b[39m \u001b[36mlet\u001b[39m testUser\u001b[33m:\u001b[39m any\u001b[33m;\u001b[39m\n \u001b[90m 35 |\u001b[39m\n \u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 36 |\u001b[39m beforeAll(\u001b[36masync\u001b[39m () \u001b[33m=>\u001b[39m {\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 37 |\u001b[39m \u001b[36mconst\u001b[39m {channel\u001b[33m,\u001b[39m user} \u001b[33m=\u001b[39m \u001b[36mawait\u001b[39m \u001b[33mSetup\u001b[39m\u001b[33m.\u001b[39mapiInit(siteOneUrl)\u001b[33m;\u001b[39m\n \u001b[90m 38 |\u001b[39m testChannel \u001b[33m=\u001b[39m channel\u001b[33m;\u001b[39m\n \u001b[90m 39 |\u001b[39m testUser \u001b[33m=\u001b[39m user\u001b[33m;\u001b[39m\u001b[0m\n\n at test/products/channels/threads/global_threads.e2e.ts:36:5\n at Object.<anonymous> (test/products/channels/threads/global_threads.e2e.ts:30:1)\n\n ● Threads - Global Threads › MM-T4805_2 - should be able to go to a thread a user started and followed\n\n thrown: \"Exceeded timeout of 180000 ms for a hook.\n Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout.\"\n\n \u001b[0m \u001b[90m 34 |\u001b[39m \u001b[36mlet\u001b[39m testUser\u001b[33m:\u001b[39m any\u001b[33m;\u001b[39m\n \u001b[90m 35 |\u001b[39m\n \u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 36 |\u001b[39m beforeAll(\u001b[36masync\u001b[39m () \u001b[33m=>\u001b[39m {\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 37 |\u001b[39m \u001b[36mconst\u001b[39m {channel\u001b[33m,\u001b[39m user} \u001b[33m=\u001b[39m \u001b[36mawait\u001b[39m \u001b[33mSetup\u001b[39m\u001b[33m.\u001b[39mapiInit(siteOneUrl)\u001b[33m;\u001b[39m\n \u001b[90m 38 |\u001b[39m testChannel \u001b[33m=\u001b[39m channel\u001b[33m;\u001b[39m\n \u001b[90m 39 |\u001b[39m testUser \u001b[33m=\u001b[39m user\u001b[33m;\u001b[39m\u001b[0m\n\n at test/products/channels/threads/global_threads.e2e.ts:36:5\n at Object.<anonymous> (test/products/channels/threads/global_threads.e2e.ts:30:1)\n\n ● Threads - Global Threads › MM-T4805_3 - should not display a thread a user started but not followed\n\n thrown: \"Exceeded timeout of 180000 ms for a hook.\n Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout.\"\n\n \u001b[0m \u001b[90m 34 |\u001b[39m \u001b[36mlet\u001b[39m testUser\u001b[33m:\u001b[39m any\u001b[33m;\u001b[39m\n \u001b[90m 35 |\u001b[39m\n \u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 36 |\u001b[39m beforeAll(\u001b[36masync\u001b[39m () \u001b[33m=>\u001b[39m {\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 37 |\u001b[39m \u001b[36mconst\u001b[39m {channel\u001b[33m,\u001b[39m user} \u001b[33m=\u001b[39m \u001b[36mawait\u001b[39m \u001b[33mSetup\u001b[39m\u001b[33m.\u001b[39mapiInit(siteOneUrl)\u001b[33m;\u001b[39m\n \u001b[90m 38 |\u001b[39m testChannel \u001b[33m=\u001b[39m channel\u001b[33m;\u001b[39m\n \u001b[90m 39 |\u001b[39m testUser \u001b[33m=\u001b[39m user\u001b[33m;\u001b[39m\u001b[0m\n\n at test/products/channels/threads/global_threads.e2e.ts:36:5\n at Object.<anonymous> (test/products/channels/threads/global_threads.e2e.ts:30:1)\n\n ● Threads - Global Threads › MM-T4805_4 - should be able to go to a thread a user replied to and followed\n\n thrown: \"Exceeded timeout of 180000 ms for a hook.\n Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout.\"\n\n \u001b[0m \u001b[90m 34 |\u001b[39m \u001b[36mlet\u001b[39m testUser\u001b[33m:\u001b[39m any\u001b[33m;\u001b[39m\n \u001b[90m 35 |\u001b[39m\n \u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 36 |\u001b[39m beforeAll(\u001b[36masync\u001b[39m () \u001b[33m=>\u001b[39m {\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 37 |\u001b[39m \u001b[36mconst\u001b[39m {channel\u001b[33m,\u001b[39m user} \u001b[33m=\u001b[39m \u001b[36mawait\u001b[39m \u001b[33mSetup\u001b[39m\u001b[33m.\u001b[39mapiInit(siteOneUrl)\u001b[33m;\u001b[39m\n \u001b[90m 38 |\u001b[39m testChannel \u001b[33m=\u001b[39m channel\u001b[33m;\u001b[39m\n \u001b[90m 39 |\u001b[39m testUser \u001b[33m=\u001b[39m user\u001b[33m;\u001b[39m\u001b[0m\n\n at test/products/channels/threads/global_threads.e2e.ts:36:5\n at Object.<anonymous> (test/products/channels/threads/global_threads.e2e.ts:30:1)\n\n ● Threads - Global Threads › MM-T4805_5 - should not display a thread a user replied to but not followed\n\n thrown: \"Exceeded timeout of 180000 ms for a hook.\n Add a timeout value to this test to increase the timeout, if this is a long-running test. See https://jestjs.io/docs/api#testname-fn-timeout.\"\n\n \u001b[0m \u001b[90m 34 |\u001b[39m \u001b[36mlet\u001b[39m testUser\u001b[33m:\u001b[39m any\u001b[33m;\u001b[39m\n \u001b[90m 35 |\u001b[39m\n \u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 36 |\u001b[39m beforeAll(\u001b[36masync\u001b[39m () \u001b[33m=>\u001b[39m {\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 37 |\u001b[39m \u001b[36mconst\u001b[39m {channel\u001b[33m,\u001b[39m user} \u001b[33m=\u001b[39m \u001b[36mawait\u001b[39m \u001b[33mSetup\u001b[39m\u001b[33m.\u001b[39mapiInit(siteOneUrl)\u001b[33m;\u001b[39m\n \u001b[90m 38 |\u001b[39m testChannel \u001b[33m=\u001b[39m channel\u001b[33m;\u001b[39m\n \u001b[90m 39 |\u001b[39m testUser \u001b[33m=\u001b[39m user\u001b[33m;\u001b[39m\u001b[0m\n\n at test/products/channels/threads/global_threads.e2e.ts:36:5\n at Object.<anonymous> (test/products/channels/threads/global_threads.e2e.ts:30:1)\n\n\n ● Test suite failed to run\n\n The pending request #77 (\"invoke\") has been rejected due to the following error:\n\n Detox has detected multiple interactions taking place simultaneously. Have you forgotten to apply an await over one of the Detox actions in your test code?\n\n \u001b[0m \u001b[90m 82 |\u001b[39m open \u001b[33m=\u001b[39m \u001b[36masync\u001b[39m () \u001b[33m=>\u001b[39m {\n \u001b[90m 83 |\u001b[39m \u001b[90m// # Open account screen\u001b[39m\n \u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 84 |\u001b[39m \u001b[36mawait\u001b[39m waitFor(\u001b[33mHomeScreen\u001b[39m\u001b[33m.\u001b[39maccountTab)\u001b[33m.\u001b[39mtoBeVisible()\u001b[33m.\u001b[39mwithTimeout(timeouts\u001b[33m.\u001b[39m\u001b[33mTWO_SEC\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 85 |\u001b[39m \u001b[36mawait\u001b[39m \u001b[33mHomeScreen\u001b[39m\u001b[33m.\u001b[39maccountTab\u001b[33m.\u001b[39mtap()\u001b[33m;\u001b[39m\n \u001b[90m 86 |\u001b[39m\n \u001b[90m 87 |\u001b[39m \u001b[36mreturn\u001b[39m \u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mtoBeVisible()\u001b[33m;\u001b[39m\u001b[0m\n\n at AccountScreen.open (support/ui/screen/account.ts:84:60)\n at HomeScreen.logout (support/ui/screen/home.ts:40:29)\n at Object.<anonymous> (test/products/channels/threads/global_threads.e2e.ts:53:26)\n", "testExecError": { "message": "", "stack": "The pending request #77 (\"invoke\") has been rejected due to the following error:\n\nDetox has detected multiple interactions taking place simultaneously. Have you forgotten to apply an await over one of the Detox actions in your test code?\n at AccountScreen.open (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/screen/account.ts:84:60)\n at HomeScreen.logout (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/screen/home.ts:40:29)\n at Object.<anonymous> (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/threads/global_threads.e2e.ts:53:26)\n at Promise.then.completed (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/utils.js:298:28)\n at new Promise (<anonymous>)\n at callAsyncCircusFn (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/utils.js:231:10)\n at _callCircusHook (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:281:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTestsForDescribeBlock (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:154:7)\n at _runTestsForDescribeBlock (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:121:9)\n at run (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:71:3)\n at runAndTransformResultsToJestFormat (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at jestAdapter (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at runTestInternal (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-runner/build/runTest.js:367:16)\n at runTest (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-runner/build/runTest.js:444:34)" } }, { "leaks": false, "numFailingTests": 0, "numPassingTests": 3, "numPendingTests": 0, "numTodoTests": 0, "openHandles": [], "perfStats": { "end": 1765990810186, "runtime": 85643, "slow": true, "start": 1765990724543 }, "skipped": false, "snapshot": { "added": 0, "fileDeleted": false, "matched": 0, "unchecked": 0, "uncheckedKeys": [], "unmatched": 0, "updated": 0 }, "testFilePath": "/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/threads/mark_thread_as_read_and_unread.e2e.ts", "testResults": [ { "ancestorTitles": [ "Threads - Mark Thread as Read and Unread" ], "duration": 16396, "failureDetails": [], "failureMessages": [], "fullName": "Threads - Mark Thread as Read and Unread MM-T4807_1 - should be able to mark a thread as read by opening thread", "invocations": 1, "location": null, "numPassingAsserts": 3, "retryReasons": [], "status": "passed", "title": "MM-T4807_1 - should be able to mark a thread as read by opening thread" }, { "ancestorTitles": [ "Threads - Mark Thread as Read and Unread" ], "duration": 22792, "failureDetails": [], "failureMessages": [], "fullName": "Threads - Mark Thread as Read and Unread MM-T4807_2 - should be able to mark a thread as read/unread via thread options", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T4807_2 - should be able to mark a thread as read/unread via thread options" }, { "ancestorTitles": [ "Threads - Mark Thread as Read and Unread" ], "duration": 13482, "failureDetails": [], "failureMessages": [], "fullName": "Threads - Mark Thread as Read and Unread MM-T4807_3 - should be able to mark all threads as read", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T4807_3 - should be able to mark all threads as read" } ], "failureMessage": null }, { "leaks": false, "numFailingTests": 2, "numPassingTests": 0, "numPendingTests": 0, "numTodoTests": 0, "openHandles": [], "perfStats": { "end": 1765990877006, "runtime": 66696, "slow": true, "start": 1765990810310 }, "skipped": false, "snapshot": { "added": 0, "fileDeleted": false, "matched": 0, "unchecked": 0, "uncheckedKeys": [], "unmatched": 0, "updated": 0 }, "testFilePath": "/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/threads/open_thread_in_channel.e2e.ts", "testResults": [ { "ancestorTitles": [ "Threads - Open Thread in Channel" ], "duration": 22403, "failureDetails": [ { "name": "DetoxRuntimeError" } ], "failureMessages": [ "Test Failed: 10.0sec timeout expired without matching of given matcher: not null\n at PostOptionsScreen.toBeVisible (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/screen/post_options.ts:50:57)\n at ChannelScreen.openPostOptionsFor (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/screen/channel.ts:202:33)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at ChannelScreen.openReplyThreadFor (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/screen/channel.ts:207:9)\n at Object.<anonymous> (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/threads/open_thread_in_channel.e2e.ts:62:9)" ], "fullName": "Threads - Open Thread in Channel MM-T4810_1 - should be able to open a thread in channel via thread options", "invocations": 1, "location": null, "numPassingAsserts": 3, "retryReasons": [], "status": "failed", "title": "MM-T4810_1 - should be able to open a thread in channel via thread options" }, { "ancestorTitles": [ "Threads - Open Thread in Channel" ], "duration": 10652, "failureDetails": [ { "name": "DetoxRuntimeError" } ], "failureMessages": [ "Test Failed: 10.0sec timeout expired without matching of given matcher: not null\n at ChannelListScreen.toBeVisible (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/screen/channel_list.ts:79:57)\n at Object.<anonymous> (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/threads/open_thread_in_channel.e2e.ts:48:33)\n at Promise.then.completed (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/utils.js:298:28)\n at new Promise (<anonymous>)\n at callAsyncCircusFn (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/utils.js:231:10)\n at _callCircusHook (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:281:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:246:5)\n at _runTestsForDescribeBlock (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:126:9)\n at _runTestsForDescribeBlock (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:121:9)\n at run (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:71:3)\n at runAndTransformResultsToJestFormat (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at jestAdapter (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at runTestInternal (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-runner/build/runTest.js:367:16)\n at runTest (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-runner/build/runTest.js:444:34)" ], "fullName": "Threads - Open Thread in Channel MM-T4810_2 - should be able to open a thread in channel by permalink", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "failed", "title": "MM-T4810_2 - should be able to open a thread in channel by permalink" } ], "failureMessage": " ● Threads - Open Thread in Channel › MM-T4810_1 - should be able to open a thread in channel via thread options\n\n Test Failed: 10.0sec timeout expired without matching of given matcher: not null\n\n \u001b[0m \u001b[90m 48 |\u001b[39m\n \u001b[90m 49 |\u001b[39m toBeVisible \u001b[33m=\u001b[39m \u001b[36masync\u001b[39m () \u001b[33m=>\u001b[39m {\n \u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 50 |\u001b[39m \u001b[36mawait\u001b[39m waitFor(\u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mpostOptionsScreen)\u001b[33m.\u001b[39mtoExist()\u001b[33m.\u001b[39mwithTimeout(timeouts\u001b[33m.\u001b[39m\u001b[33mTEN_SEC\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 51 |\u001b[39m\n \u001b[90m 52 |\u001b[39m \u001b[36mreturn\u001b[39m postOptionsScreen\u001b[33m;\u001b[39m\n \u001b[90m 53 |\u001b[39m }\u001b[33m;\u001b[39m\u001b[0m\n\n at PostOptionsScreen.toBeVisible (support/ui/screen/post_options.ts:50:57)\n at ChannelScreen.openPostOptionsFor (support/ui/screen/channel.ts:202:33)\n at ChannelScreen.openReplyThreadFor (support/ui/screen/channel.ts:207:9)\n at Object.<anonymous> (test/products/channels/threads/open_thread_in_channel.e2e.ts:62:9)\n\n ● Threads - Open Thread in Channel › MM-T4810_2 - should be able to open a thread in channel by permalink\n\n Test Failed: 10.0sec timeout expired without matching of given matcher: not null\n\n \u001b[0m \u001b[90m 77 |\u001b[39m\n \u001b[90m 78 |\u001b[39m toBeVisible \u001b[33m=\u001b[39m \u001b[36masync\u001b[39m () \u001b[33m=>\u001b[39m {\n \u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 79 |\u001b[39m \u001b[36mawait\u001b[39m waitFor(\u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mchannelListScreen)\u001b[33m.\u001b[39mtoExist()\u001b[33m.\u001b[39mwithTimeout(timeouts\u001b[33m.\u001b[39m\u001b[33mTEN_SEC\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 80 |\u001b[39m\n \u001b[90m 81 |\u001b[39m \u001b[36mreturn\u001b[39m \u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mchannelListScreen\u001b[33m;\u001b[39m\n \u001b[90m 82 |\u001b[39m }\u001b[33m;\u001b[39m\u001b[0m\n\n at ChannelListScreen.toBeVisible (support/ui/screen/channel_list.ts:79:57)\n at Object.<anonymous> (test/products/channels/threads/open_thread_in_channel.e2e.ts:48:33)\n\n\n ● Test suite failed to run\n\n Test Failed: 2.0sec timeout expired without matching of given matcher: (view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)\n\n \u001b[0m \u001b[90m 82 |\u001b[39m open \u001b[33m=\u001b[39m \u001b[36masync\u001b[39m () \u001b[33m=>\u001b[39m {\n \u001b[90m 83 |\u001b[39m \u001b[90m// # Open account screen\u001b[39m\n \u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 84 |\u001b[39m \u001b[36mawait\u001b[39m waitFor(\u001b[33mHomeScreen\u001b[39m\u001b[33m.\u001b[39maccountTab)\u001b[33m.\u001b[39mtoBeVisible()\u001b[33m.\u001b[39mwithTimeout(timeouts\u001b[33m.\u001b[39m\u001b[33mTWO_SEC\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 85 |\u001b[39m \u001b[36mawait\u001b[39m \u001b[33mHomeScreen\u001b[39m\u001b[33m.\u001b[39maccountTab\u001b[33m.\u001b[39mtap()\u001b[33m;\u001b[39m\n \u001b[90m 86 |\u001b[39m\n \u001b[90m 87 |\u001b[39m \u001b[36mreturn\u001b[39m \u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mtoBeVisible()\u001b[33m;\u001b[39m\u001b[0m\n\n at AccountScreen.open (support/ui/screen/account.ts:84:60)\n at HomeScreen.logout (support/ui/screen/home.ts:40:29)\n at Object.<anonymous> (test/products/channels/threads/open_thread_in_channel.e2e.ts:53:26)\n", "testExecError": { "message": "", "stack": "Test Failed: 2.0sec timeout expired without matching of given matcher: (view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)\n at AccountScreen.open (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/screen/account.ts:84:60)\n at HomeScreen.logout (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/screen/home.ts:40:29)\n at Object.<anonymous> (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/threads/open_thread_in_channel.e2e.ts:53:26)\n at Promise.then.completed (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/utils.js:298:28)\n at new Promise (<anonymous>)\n at callAsyncCircusFn (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/utils.js:231:10)\n at _callCircusHook (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:281:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTestsForDescribeBlock (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:154:7)\n at _runTestsForDescribeBlock (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:121:9)\n at run (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:71:3)\n at runAndTransformResultsToJestFormat (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at jestAdapter (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at runTestInternal (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-runner/build/runTest.js:367:16)\n at runTest (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-runner/build/runTest.js:444:34)" } }, { "leaks": false, "numFailingTests": 2, "numPassingTests": 0, "numPendingTests": 0, "numTodoTests": 0, "openHandles": [], "perfStats": { "end": 1765990943937, "runtime": 66833, "slow": true, "start": 1765990877104 }, "skipped": false, "snapshot": { "added": 0, "fileDeleted": false, "matched": 0, "unchecked": 0, "uncheckedKeys": [], "unmatched": 0, "updated": 0 }, "testFilePath": "/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/threads/reply_to_thread.e2e.ts", "testResults": [ { "ancestorTitles": [ "Threads - Reply to Thread" ], "duration": 21938, "failureDetails": [ { "name": "DetoxRuntimeError" } ], "failureMessages": [ "Test Failed: 10.0sec timeout expired without matching of given matcher: not null\n at PostOptionsScreen.toBeVisible (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/screen/post_options.ts:50:57)\n at ChannelScreen.openPostOptionsFor (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/screen/channel.ts:202:33)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at ChannelScreen.openReplyThreadFor (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/screen/channel.ts:207:9)\n at Object.<anonymous> (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/threads/reply_to_thread.e2e.ts:61:9)" ], "fullName": "Threads - Reply to Thread MM-T4809_1 - should be able to reply to a thread via thread options", "invocations": 1, "location": null, "numPassingAsserts": 3, "retryReasons": [], "status": "failed", "title": "MM-T4809_1 - should be able to reply to a thread via thread options" }, { "ancestorTitles": [ "Threads - Reply to Thread" ], "duration": 10601, "failureDetails": [ { "name": "DetoxRuntimeError" } ], "failureMessages": [ "Test Failed: 10.0sec timeout expired without matching of given matcher: not null\n at ChannelListScreen.toBeVisible (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/screen/channel_list.ts:79:57)\n at Object.<anonymous> (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/threads/reply_to_thread.e2e.ts:47:33)\n at Promise.then.completed (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/utils.js:298:28)\n at new Promise (<anonymous>)\n at callAsyncCircusFn (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/utils.js:231:10)\n at _callCircusHook (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:281:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:246:5)\n at _runTestsForDescribeBlock (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:126:9)\n at _runTestsForDescribeBlock (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:121:9)\n at run (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:71:3)\n at runAndTransformResultsToJestFormat (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at jestAdapter (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at runTestInternal (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-runner/build/runTest.js:367:16)\n at runTest (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-runner/build/runTest.js:444:34)" ], "fullName": "Threads - Reply to Thread MM-T4809_2 - should be able to reply to a thread by opening thread", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "failed", "title": "MM-T4809_2 - should be able to reply to a thread by opening thread" } ], "failureMessage": " ● Threads - Reply to Thread › MM-T4809_1 - should be able to reply to a thread via thread options\n\n Test Failed: 10.0sec timeout expired without matching of given matcher: not null\n\n \u001b[0m \u001b[90m 48 |\u001b[39m\n \u001b[90m 49 |\u001b[39m toBeVisible \u001b[33m=\u001b[39m \u001b[36masync\u001b[39m () \u001b[33m=>\u001b[39m {\n \u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 50 |\u001b[39m \u001b[36mawait\u001b[39m waitFor(\u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mpostOptionsScreen)\u001b[33m.\u001b[39mtoExist()\u001b[33m.\u001b[39mwithTimeout(timeouts\u001b[33m.\u001b[39m\u001b[33mTEN_SEC\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 51 |\u001b[39m\n \u001b[90m 52 |\u001b[39m \u001b[36mreturn\u001b[39m postOptionsScreen\u001b[33m;\u001b[39m\n \u001b[90m 53 |\u001b[39m }\u001b[33m;\u001b[39m\u001b[0m\n\n at PostOptionsScreen.toBeVisible (support/ui/screen/post_options.ts:50:57)\n at ChannelScreen.openPostOptionsFor (support/ui/screen/channel.ts:202:33)\n at ChannelScreen.openReplyThreadFor (support/ui/screen/channel.ts:207:9)\n at Object.<anonymous> (test/products/channels/threads/reply_to_thread.e2e.ts:61:9)\n\n ● Threads - Reply to Thread › MM-T4809_2 - should be able to reply to a thread by opening thread\n\n Test Failed: 10.0sec timeout expired without matching of given matcher: not null\n\n \u001b[0m \u001b[90m 77 |\u001b[39m\n \u001b[90m 78 |\u001b[39m toBeVisible \u001b[33m=\u001b[39m \u001b[36masync\u001b[39m () \u001b[33m=>\u001b[39m {\n \u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 79 |\u001b[39m \u001b[36mawait\u001b[39m waitFor(\u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mchannelListScreen)\u001b[33m.\u001b[39mtoExist()\u001b[33m.\u001b[39mwithTimeout(timeouts\u001b[33m.\u001b[39m\u001b[33mTEN_SEC\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 80 |\u001b[39m\n \u001b[90m 81 |\u001b[39m \u001b[36mreturn\u001b[39m \u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mchannelListScreen\u001b[33m;\u001b[39m\n \u001b[90m 82 |\u001b[39m }\u001b[33m;\u001b[39m\u001b[0m\n\n at ChannelListScreen.toBeVisible (support/ui/screen/channel_list.ts:79:57)\n at Object.<anonymous> (test/products/channels/threads/reply_to_thread.e2e.ts:47:33)\n\n\n ● Test suite failed to run\n\n Test Failed: 2.0sec timeout expired without matching of given matcher: (view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)\n\n \u001b[0m \u001b[90m 82 |\u001b[39m open \u001b[33m=\u001b[39m \u001b[36masync\u001b[39m () \u001b[33m=>\u001b[39m {\n \u001b[90m 83 |\u001b[39m \u001b[90m// # Open account screen\u001b[39m\n \u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 84 |\u001b[39m \u001b[36mawait\u001b[39m waitFor(\u001b[33mHomeScreen\u001b[39m\u001b[33m.\u001b[39maccountTab)\u001b[33m.\u001b[39mtoBeVisible()\u001b[33m.\u001b[39mwithTimeout(timeouts\u001b[33m.\u001b[39m\u001b[33mTWO_SEC\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 85 |\u001b[39m \u001b[36mawait\u001b[39m \u001b[33mHomeScreen\u001b[39m\u001b[33m.\u001b[39maccountTab\u001b[33m.\u001b[39mtap()\u001b[33m;\u001b[39m\n \u001b[90m 86 |\u001b[39m\n \u001b[90m 87 |\u001b[39m \u001b[36mreturn\u001b[39m \u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mtoBeVisible()\u001b[33m;\u001b[39m\u001b[0m\n\n at AccountScreen.open (support/ui/screen/account.ts:84:60)\n at HomeScreen.logout (support/ui/screen/home.ts:40:29)\n at Object.<anonymous> (test/products/channels/threads/reply_to_thread.e2e.ts:52:26)\n", "testExecError": { "message": "", "stack": "Test Failed: 2.0sec timeout expired without matching of given matcher: (view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)\n at AccountScreen.open (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/screen/account.ts:84:60)\n at HomeScreen.logout (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/screen/home.ts:40:29)\n at Object.<anonymous> (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/threads/reply_to_thread.e2e.ts:52:26)\n at Promise.then.completed (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/utils.js:298:28)\n at new Promise (<anonymous>)\n at callAsyncCircusFn (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/utils.js:231:10)\n at _callCircusHook (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:281:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTestsForDescribeBlock (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:154:7)\n at _runTestsForDescribeBlock (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:121:9)\n at run (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:71:3)\n at runAndTransformResultsToJestFormat (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at jestAdapter (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at runTestInternal (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-runner/build/runTest.js:367:16)\n at runTest (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-runner/build/runTest.js:444:34)" } }, { "leaks": false, "numFailingTests": 2, "numPassingTests": 0, "numPendingTests": 0, "numTodoTests": 0, "openHandles": [], "perfStats": { "end": 1765991010468, "runtime": 66418, "slow": true, "start": 1765990944050 }, "skipped": false, "snapshot": { "added": 0, "fileDeleted": false, "matched": 0, "unchecked": 0, "uncheckedKeys": [], "unmatched": 0, "updated": 0 }, "testFilePath": "/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/threads/save_and_unsave_thread.e2e.ts", "testResults": [ { "ancestorTitles": [ "Threads - Save and Unsave Thread" ], "duration": 22046, "failureDetails": [ { "name": "DetoxRuntimeError" } ], "failureMessages": [ "Test Failed: 10.0sec timeout expired without matching of given matcher: not null\n at PostOptionsScreen.toBeVisible (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/screen/post_options.ts:50:57)\n at ChannelScreen.openPostOptionsFor (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/screen/channel.ts:202:33)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at ChannelScreen.openReplyThreadFor (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/screen/channel.ts:207:9)\n at Object.<anonymous> (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/threads/save_and_unsave_thread.e2e.ts:62:9)" ], "fullName": "Threads - Save and Unsave Thread MM-T4808_1 - should be able to save/unsave a thread via thread options", "invocations": 1, "location": null, "numPassingAsserts": 3, "retryReasons": [], "status": "failed", "title": "MM-T4808_1 - should be able to save/unsave a thread via thread options" }, { "ancestorTitles": [ "Threads - Save and Unsave Thread" ], "duration": 10812, "failureDetails": [ { "name": "DetoxRuntimeError" } ], "failureMessages": [ "Test Failed: 10.0sec timeout expired without matching of given matcher: not null\n at ChannelListScreen.toBeVisible (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/screen/channel_list.ts:79:57)\n at Object.<anonymous> (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/threads/save_and_unsave_thread.e2e.ts:48:33)\n at Promise.then.completed (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/utils.js:298:28)\n at new Promise (<anonymous>)\n at callAsyncCircusFn (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/utils.js:231:10)\n at _callCircusHook (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:281:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTest (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:246:5)\n at _runTestsForDescribeBlock (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:126:9)\n at _runTestsForDescribeBlock (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:121:9)\n at run (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:71:3)\n at runAndTransformResultsToJestFormat (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at jestAdapter (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at runTestInternal (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-runner/build/runTest.js:367:16)\n at runTest (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-runner/build/runTest.js:444:34)" ], "fullName": "Threads - Save and Unsave Thread MM-T4808_2 - should be able to save/unsave a thread via thread overview", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "failed", "title": "MM-T4808_2 - should be able to save/unsave a thread via thread overview" } ], "failureMessage": " ● Threads - Save and Unsave Thread › MM-T4808_1 - should be able to save/unsave a thread via thread options\n\n Test Failed: 10.0sec timeout expired without matching of given matcher: not null\n\n \u001b[0m \u001b[90m 48 |\u001b[39m\n \u001b[90m 49 |\u001b[39m toBeVisible \u001b[33m=\u001b[39m \u001b[36masync\u001b[39m () \u001b[33m=>\u001b[39m {\n \u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 50 |\u001b[39m \u001b[36mawait\u001b[39m waitFor(\u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mpostOptionsScreen)\u001b[33m.\u001b[39mtoExist()\u001b[33m.\u001b[39mwithTimeout(timeouts\u001b[33m.\u001b[39m\u001b[33mTEN_SEC\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 51 |\u001b[39m\n \u001b[90m 52 |\u001b[39m \u001b[36mreturn\u001b[39m postOptionsScreen\u001b[33m;\u001b[39m\n \u001b[90m 53 |\u001b[39m }\u001b[33m;\u001b[39m\u001b[0m\n\n at PostOptionsScreen.toBeVisible (support/ui/screen/post_options.ts:50:57)\n at ChannelScreen.openPostOptionsFor (support/ui/screen/channel.ts:202:33)\n at ChannelScreen.openReplyThreadFor (support/ui/screen/channel.ts:207:9)\n at Object.<anonymous> (test/products/channels/threads/save_and_unsave_thread.e2e.ts:62:9)\n\n ● Threads - Save and Unsave Thread › MM-T4808_2 - should be able to save/unsave a thread via thread overview\n\n Test Failed: 10.0sec timeout expired without matching of given matcher: not null\n\n \u001b[0m \u001b[90m 77 |\u001b[39m\n \u001b[90m 78 |\u001b[39m toBeVisible \u001b[33m=\u001b[39m \u001b[36masync\u001b[39m () \u001b[33m=>\u001b[39m {\n \u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 79 |\u001b[39m \u001b[36mawait\u001b[39m waitFor(\u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mchannelListScreen)\u001b[33m.\u001b[39mtoExist()\u001b[33m.\u001b[39mwithTimeout(timeouts\u001b[33m.\u001b[39m\u001b[33mTEN_SEC\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 80 |\u001b[39m\n \u001b[90m 81 |\u001b[39m \u001b[36mreturn\u001b[39m \u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mchannelListScreen\u001b[33m;\u001b[39m\n \u001b[90m 82 |\u001b[39m }\u001b[33m;\u001b[39m\u001b[0m\n\n at ChannelListScreen.toBeVisible (support/ui/screen/channel_list.ts:79:57)\n at Object.<anonymous> (test/products/channels/threads/save_and_unsave_thread.e2e.ts:48:33)\n\n\n ● Test suite failed to run\n\n Test Failed: 2.0sec timeout expired without matching of given matcher: (view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)\n\n \u001b[0m \u001b[90m 82 |\u001b[39m open \u001b[33m=\u001b[39m \u001b[36masync\u001b[39m () \u001b[33m=>\u001b[39m {\n \u001b[90m 83 |\u001b[39m \u001b[90m// # Open account screen\u001b[39m\n \u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 84 |\u001b[39m \u001b[36mawait\u001b[39m waitFor(\u001b[33mHomeScreen\u001b[39m\u001b[33m.\u001b[39maccountTab)\u001b[33m.\u001b[39mtoBeVisible()\u001b[33m.\u001b[39mwithTimeout(timeouts\u001b[33m.\u001b[39m\u001b[33mTWO_SEC\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 85 |\u001b[39m \u001b[36mawait\u001b[39m \u001b[33mHomeScreen\u001b[39m\u001b[33m.\u001b[39maccountTab\u001b[33m.\u001b[39mtap()\u001b[33m;\u001b[39m\n \u001b[90m 86 |\u001b[39m\n \u001b[90m 87 |\u001b[39m \u001b[36mreturn\u001b[39m \u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mtoBeVisible()\u001b[33m;\u001b[39m\u001b[0m\n\n at AccountScreen.open (support/ui/screen/account.ts:84:60)\n at HomeScreen.logout (support/ui/screen/home.ts:40:29)\n at Object.<anonymous> (test/products/channels/threads/save_and_unsave_thread.e2e.ts:53:26)\n", "testExecError": { "message": "", "stack": "Test Failed: 2.0sec timeout expired without matching of given matcher: (view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)\n at AccountScreen.open (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/screen/account.ts:84:60)\n at HomeScreen.logout (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/screen/home.ts:40:29)\n at Object.<anonymous> (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/threads/save_and_unsave_thread.e2e.ts:53:26)\n at Promise.then.completed (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/utils.js:298:28)\n at new Promise (<anonymous>)\n at callAsyncCircusFn (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/utils.js:231:10)\n at _callCircusHook (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:281:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTestsForDescribeBlock (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:154:7)\n at _runTestsForDescribeBlock (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:121:9)\n at run (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:71:3)\n at runAndTransformResultsToJestFormat (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at jestAdapter (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at runTestInternal (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-runner/build/runTest.js:367:16)\n at runTest (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-runner/build/runTest.js:444:34)" } }, { "leaks": false, "numFailingTests": 0, "numPassingTests": 1, "numPendingTests": 0, "numTodoTests": 0, "openHandles": [], "perfStats": { "end": 1765990249622, "runtime": 99414, "slow": true, "start": 1765990150208 }, "skipped": false, "snapshot": { "added": 0, "fileDeleted": false, "matched": 0, "unchecked": 0, "uncheckedKeys": [], "unmatched": 0, "updated": 0 }, "testFilePath": "/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/account/about.e2e.ts", "testResults": [ { "ancestorTitles": [ "Account - Settings - About" ], "duration": 7888, "failureDetails": [], "failureMessages": [], "fullName": "Account - Settings - About MM-T5104_1 - should match elements on about screen", "invocations": 1, "location": null, "numPassingAsserts": 3, "retryReasons": [], "status": "passed", "title": "MM-T5104_1 - should match elements on about screen" } ], "failureMessage": null }, { "leaks": false, "numFailingTests": 1, "numPassingTests": 7, "numPendingTests": 0, "numTodoTests": 0, "openHandles": [], "perfStats": { "end": 1765990320825, "runtime": 70991, "slow": true, "start": 1765990249834 }, "skipped": false, "snapshot": { "added": 0, "fileDeleted": false, "matched": 0, "unchecked": 0, "uncheckedKeys": [], "unmatched": 0, "updated": 0 }, "testFilePath": "/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/account/account_menu.e2e.ts", "testResults": [ { "ancestorTitles": [ "Account - Account Menu" ], "duration": 531, "failureDetails": [], "failureMessages": [], "fullName": "Account - Account Menu MM-T4988_1 - should match elements on account screen", "invocations": 1, "location": null, "numPassingAsserts": 3, "retryReasons": [], "status": "passed", "title": "MM-T4988_1 - should match elements on account screen" }, { "ancestorTitles": [ "Account - Account Menu" ], "duration": 10430, "failureDetails": [], "failureMessages": [], "fullName": "Account - Account Menu MM-T4988_2 - should be able to set user presence", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T4988_2 - should be able to set user presence" }, { "ancestorTitles": [ "Account - Account Menu" ], "duration": 2242, "failureDetails": [], "failureMessages": [], "fullName": "Account - Account Menu MM-T4988_3 - should be able to go to custom status screen", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T4988_3 - should be able to go to custom status screen" }, { "ancestorTitles": [ "Account - Account Menu" ], "duration": 1897, "failureDetails": [], "failureMessages": [], "fullName": "Account - Account Menu MM-T4988_4 - should be able to go to edit profile screen", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T4988_4 - should be able to go to edit profile screen" }, { "ancestorTitles": [ "Account - Account Menu" ], "duration": 1385, "failureDetails": [], "failureMessages": [], "fullName": "Account - Account Menu MM-T4988_5 - should be able to go to settings screen", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T4988_5 - should be able to go to settings screen" }, { "ancestorTitles": [ "Account - Account Menu" ], "duration": 3081, "failureDetails": [], "failureMessages": [], "fullName": "Account - Account Menu MM-T3472 - should be able to add Nickname", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T3472 - should be able to add Nickname" }, { "ancestorTitles": [ "Account - Account Menu" ], "duration": 3904, "failureDetails": [], "failureMessages": [], "fullName": "Account - Account Menu MM-T3472 - should show error when Username is updated with invalid characters", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T3472 - should show error when Username is updated with invalid characters" }, { "ancestorTitles": [ "Account - Account Menu" ], "duration": 11571, "failureDetails": [ { "name": "DetoxRuntimeError" } ], "failureMessages": [ "Test Failed: 10.0sec timeout expired without matching of given matcher: (view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)\n at ChannelScreen.open (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/screen/channel.ts:157:108)\n at Object.<anonymous> (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/account/account_menu.e2e.ts:191:29)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)" ], "fullName": "Account - Account Menu MM-T2056 - Username changes when viewed by other user", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "failed", "title": "MM-T2056 - Username changes when viewed by other user" } ], "failureMessage": " ● Account - Account Menu › MM-T2056 - Username changes when viewed by other user\n\n Test Failed: 10.0sec timeout expired without matching of given matcher: (view has effective visibility <VISIBLE> and view.getGlobalVisibleRect() covers at least <75> percent of the view's area)\n\n \u001b[0m \u001b[90m 155 |\u001b[39m open \u001b[33m=\u001b[39m \u001b[36masync\u001b[39m (categoryKey\u001b[33m:\u001b[39m string\u001b[33m,\u001b[39m channelName\u001b[33m:\u001b[39m string) \u001b[33m=>\u001b[39m {\n \u001b[90m 156 |\u001b[39m \u001b[90m// # Open channel screen\u001b[39m\n \u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 157 |\u001b[39m \u001b[36mawait\u001b[39m waitFor(\u001b[33mChannelListScreen\u001b[39m\u001b[33m.\u001b[39mgetChannelItemDisplayName(categoryKey\u001b[33m,\u001b[39m channelName))\u001b[33m.\u001b[39mtoBeVisible()\u001b[33m.\u001b[39mwithTimeout(timeouts\u001b[33m.\u001b[39m\u001b[33mTEN_SEC\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 158 |\u001b[39m \u001b[36mawait\u001b[39m \u001b[33mChannelListScreen\u001b[39m\u001b[33m.\u001b[39mgetChannelItemDisplayName(categoryKey\u001b[33m,\u001b[39m channelName)\u001b[33m.\u001b[39mtap()\u001b[33m;\u001b[39m\n \u001b[90m 159 |\u001b[39m \u001b[36mtry\u001b[39m {\n \u001b[90m 160 |\u001b[39m \u001b[36mawait\u001b[39m \u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mscheduledPostTooltipCloseButton\u001b[33m.\u001b[39mtap()\u001b[33m;\u001b[39m\u001b[0m\n\n at ChannelScreen.open (support/ui/screen/channel.ts:157:108)\n at Object.<anonymous> (test/products/channels/account/account_menu.e2e.ts:191:29)\n" }, { "leaks": false, "numFailingTests": 0, "numPassingTests": 1, "numPendingTests": 0, "numTodoTests": 0, "openHandles": [], "perfStats": { "end": 1765990358699, "runtime": 37778, "slow": true, "start": 1765990320921 }, "skipped": false, "snapshot": { "added": 0, "fileDeleted": false, "matched": 0, "unchecked": 0, "uncheckedKeys": [], "unmatched": 0, "updated": 0 }, "testFilePath": "/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/account/advanced_settings.e2e.ts", "testResults": [ { "ancestorTitles": [ "Account - Settings - Advanced Settings" ], "duration": 349, "failureDetails": [], "failureMessages": [], "fullName": "Account - Settings - Advanced Settings MM-T5103_1 - should match elements on advanced settings screen", "invocations": 1, "location": null, "numPassingAsserts": 3, "retryReasons": [], "status": "passed", "title": "MM-T5103_1 - should match elements on advanced settings screen" } ], "failureMessage": null }, { "leaks": false, "numFailingTests": 2, "numPassingTests": 0, "numPendingTests": 0, "numTodoTests": 0, "openHandles": [], "perfStats": { "end": 1765990502307, "runtime": 143503, "slow": true, "start": 1765990358804 }, "skipped": false, "snapshot": { "added": 0, "fileDeleted": false, "matched": 0, "unchecked": 0, "uncheckedKeys": [], "unmatched": 0, "updated": 0 }, "testFilePath": "/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/account/auto_responder_notification_settings.e2e.ts", "testResults": [ { "ancestorTitles": [ "Account - Settings - Auto-Responder Notification Settings" ], "duration": 1, "failureDetails": [ { "name": "DetoxRuntimeError" } ], "failureMessages": [ "Test Failed: Wait for [com.wix.detox.reactnative.idlingresources.bridge.BridgeIdlingResource] to become idle timed out\n at ServerScreen.tapConnectButton (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/screen/server.ts:84:34)\n at ServerScreen.connectToServer (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/screen/server.ts:60:24)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at Object.<anonymous> (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/account/auto_responder_notification_settings.e2e.ts:36:9)" ], "fullName": "Account - Settings - Auto-Responder Notification Settings MM-T5110_1 - should match elements on auto-responder notification settings screen", "invocations": 1, "location": null, "numPassingAsserts": 3, "retryReasons": [], "status": "failed", "title": "MM-T5110_1 - should match elements on auto-responder notification settings screen" }, { "ancestorTitles": [ "Account - Settings - Auto-Responder Notification Settings" ], "duration": 0, "failureDetails": [ { "name": "DetoxRuntimeError" } ], "failureMessages": [ "Test Failed: Wait for [com.wix.detox.reactnative.idlingresources.bridge.BridgeIdlingResource] to become idle timed out\n at ServerScreen.tapConnectButton (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/screen/server.ts:84:34)\n at ServerScreen.connectToServer (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/screen/server.ts:60:24)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at Object.<anonymous> (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/account/auto_responder_notification_settings.e2e.ts:36:9)" ], "fullName": "Account - Settings - Auto-Responder Notification Settings MM-T5110_2 - should be able to change auto-responder notification settings and save by tapping navigation back button", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "failed", "title": "MM-T5110_2 - should be able to change auto-responder notification settings and save by tapping navigation back button" } ], "failureMessage": " ● Account - Settings - Auto-Responder Notification Settings › MM-T5110_1 - should match elements on auto-responder notification settings screen\n\n Test Failed: Wait for [com.wix.detox.reactnative.idlingresources.bridge.BridgeIdlingResource] to become idle timed out\n\n \u001b[0m \u001b[90m 82 |\u001b[39m\n \u001b[90m 83 |\u001b[39m tapConnectButton \u001b[33m=\u001b[39m \u001b[36masync\u001b[39m () \u001b[33m=>\u001b[39m {\n \u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 84 |\u001b[39m \u001b[36mawait\u001b[39m \u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mconnectButton\u001b[33m.\u001b[39mtap()\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 85 |\u001b[39m \u001b[36mawait\u001b[39m wait(timeouts\u001b[33m.\u001b[39m\u001b[33mONE_SEC\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m 86 |\u001b[39m }\u001b[33m;\u001b[39m\n \u001b[90m 87 |\u001b[39m\u001b[0m\n\n at ServerScreen.tapConnectButton (support/ui/screen/server.ts:84:34)\n at ServerScreen.connectToServer (support/ui/screen/server.ts:60:24)\n at Object.<anonymous> (test/products/channels/account/auto_responder_notification_settings.e2e.ts:36:9)\n\n ● Account - Settings - Auto-Responder Notification Settings › MM-T5110_2 - should be able to change auto-responder notification settings and save by tapping navigation back button\n\n Test Failed: Wait for [com.wix.detox.reactnative.idlingresources.bridge.BridgeIdlingResource] to become idle timed out\n\n \u001b[0m \u001b[90m 82 |\u001b[39m\n \u001b[90m 83 |\u001b[39m tapConnectButton \u001b[33m=\u001b[39m \u001b[36masync\u001b[39m () \u001b[33m=>\u001b[39m {\n \u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 84 |\u001b[39m \u001b[36mawait\u001b[39m \u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mconnectButton\u001b[33m.\u001b[39mtap()\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 85 |\u001b[39m \u001b[36mawait\u001b[39m wait(timeouts\u001b[33m.\u001b[39m\u001b[33mONE_SEC\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m 86 |\u001b[39m }\u001b[33m;\u001b[39m\n \u001b[90m 87 |\u001b[39m\u001b[0m\n\n at ServerScreen.tapConnectButton (support/ui/screen/server.ts:84:34)\n at ServerScreen.connectToServer (support/ui/screen/server.ts:60:24)\n at Object.<anonymous> (test/products/channels/account/auto_responder_notification_settings.e2e.ts:36:9)\n\n\n ● Test suite failed to run\n\n Test Failed: Wait for [com.wix.detox.reactnative.idlingresources.bridge.BridgeIdlingResource] to become idle timed out\n\n \u001b[0m \u001b[90m 39 |\u001b[39m\n \u001b[90m 40 |\u001b[39m back \u001b[33m=\u001b[39m \u001b[36masync\u001b[39m () \u001b[33m=>\u001b[39m {\n \u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 41 |\u001b[39m \u001b[36mawait\u001b[39m \u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mbackButton\u001b[33m.\u001b[39mtap()\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 42 |\u001b[39m \u001b[36mawait\u001b[39m expect(\u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mautoResponderNotificationSettingsScreen)\u001b[33m.\u001b[39mnot\u001b[33m.\u001b[39mtoBeVisible()\u001b[33m;\u001b[39m\n \u001b[90m 43 |\u001b[39m }\u001b[33m;\u001b[39m\n \u001b[90m 44 |\u001b[39m\u001b[0m\n\n at AutoResponderNotificationSettingsScreen.back (support/ui/screen/auto_responder_notification_settings.ts:41:31)\n at Object.<anonymous> (test/products/channels/account/auto_responder_notification_settings.e2e.ts:51:55)\n", "testExecError": { "message": "", "stack": "Test Failed: Wait for [com.wix.detox.reactnative.idlingresources.bridge.BridgeIdlingResource] to become idle timed out\n at AutoResponderNotificationSettingsScreen.back (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/screen/auto_responder_notification_settings.ts:41:31)\n at Object.<anonymous> (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/account/auto_responder_notification_settings.e2e.ts:51:55)\n at Promise.then.completed (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/utils.js:298:28)\n at new Promise (<anonymous>)\n at callAsyncCircusFn (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/utils.js:231:10)\n at _callCircusHook (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:281:40)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)\n at _runTestsForDescribeBlock (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:154:7)\n at _runTestsForDescribeBlock (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:121:9)\n at run (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/run.js:71:3)\n at runAndTransformResultsToJestFormat (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js:122:21)\n at jestAdapter (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapter.js:79:19)\n at runTestInternal (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-runner/build/runTest.js:367:16)\n at runTest (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/node_modules/jest-runner/build/runTest.js:444:34)" } }, { "leaks": false, "numFailingTests": 0, "numPassingTests": 2, "numPendingTests": 0, "numTodoTests": 0, "openHandles": [], "perfStats": { "end": 1765990544361, "runtime": 41790, "slow": true, "start": 1765990502571 }, "skipped": false, "snapshot": { "added": 0, "fileDeleted": false, "matched": 0, "unchecked": 0, "uncheckedKeys": [], "unmatched": 0, "updated": 0 }, "testFilePath": "/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/account/clock_display_settings.e2e.ts", "testResults": [ { "ancestorTitles": [ "Account - Settings - Clock Display Settings" ], "duration": 380, "failureDetails": [], "failureMessages": [], "fullName": "Account - Settings - Clock Display Settings MM-T5112_1 - should match elements on clock display settings screen", "invocations": 1, "location": null, "numPassingAsserts": 3, "retryReasons": [], "status": "passed", "title": "MM-T5112_1 - should match elements on clock display settings screen" }, { "ancestorTitles": [ "Account - Settings - Clock Display Settings" ], "duration": 3857, "failureDetails": [], "failureMessages": [], "fullName": "Account - Settings - Clock Display Settings MM-T5112_2 - should be able to select a clock display and save by tapping navigation back button", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T5112_2 - should be able to select a clock display and save by tapping navigation back button" } ], "failureMessage": null }, { "leaks": false, "numFailingTests": 0, "numPassingTests": 8, "numPendingTests": 0, "numTodoTests": 0, "openHandles": [], "perfStats": { "end": 1765990763949, "runtime": 219493, "slow": true, "start": 1765990544456 }, "skipped": false, "snapshot": { "added": 0, "fileDeleted": false, "matched": 0, "unchecked": 0, "uncheckedKeys": [], "unmatched": 0, "updated": 0 }, "testFilePath": "/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/account/custom_status.e2e.ts", "testResults": [ { "ancestorTitles": [ "Account - Custom Status" ], "duration": 3164, "failureDetails": [], "failureMessages": [], "fullName": "Account - Custom Status MM-T4990_1 - should match elements on custom status screen", "invocations": 1, "location": null, "numPassingAsserts": 3, "retryReasons": [], "status": "passed", "title": "MM-T4990_1 - should match elements on custom status screen" }, { "ancestorTitles": [ "Account - Custom Status" ], "duration": 15277, "failureDetails": [], "failureMessages": [], "fullName": "Account - Custom Status MM-T4990_2 - should be able to set a status via suggestions", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T4990_2 - should be able to set a status via suggestions" }, { "ancestorTitles": [ "Account - Custom Status" ], "duration": 22199, "failureDetails": [], "failureMessages": [], "fullName": "Account - Custom Status MM-T4990_3 - should be able to set a status via emoji picker and custom status", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T4990_3 - should be able to set a status via emoji picker and custom status" }, { "ancestorTitles": [ "Account - Custom Status" ], "duration": 17330, "failureDetails": [], "failureMessages": [], "fullName": "Account - Custom Status MM-T4990_4 - should be able to clear custom status from account", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T4990_4 - should be able to clear custom status from account" }, { "ancestorTitles": [ "Account - Custom Status" ], "duration": 14879, "failureDetails": [], "failureMessages": [], "fullName": "Account - Custom Status MM-T3890 - should be able to select and reselect suggested status", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T3890 - should be able to select and reselect suggested status" }, { "ancestorTitles": [ "Account - Custom Status" ], "duration": 31862, "failureDetails": [], "failureMessages": [], "fullName": "Account - Custom Status MM-T3891 - should be able to set custom status with emoji picker and manage it", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T3891 - should be able to set custom status with emoji picker and manage it" }, { "ancestorTitles": [ "Account - Custom Status" ], "duration": 23754, "failureDetails": [], "failureMessages": [], "fullName": "Account - Custom Status MM-T3892 - should manage recent custom statuses correctly", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T3892 - should manage recent custom statuses correctly" }, { "ancestorTitles": [ "Account - Custom Status" ], "duration": 56837, "failureDetails": [], "failureMessages": [], "fullName": "Account - Custom Status MM-T4091 - should be able to set custom status with expiry time and verify in various locations", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T4091 - should be able to set custom status with expiry time and verify in various locations" } ], "failureMessage": null }, { "leaks": false, "numFailingTests": 0, "numPassingTests": 4, "numPendingTests": 0, "numTodoTests": 0, "openHandles": [], "perfStats": { "end": 1765990805417, "runtime": 41338, "slow": true, "start": 1765990764079 }, "skipped": false, "snapshot": { "added": 0, "fileDeleted": false, "matched": 0, "unchecked": 0, "uncheckedKeys": [], "unmatched": 0, "updated": 0 }, "testFilePath": "/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/account/display_settings.e2e.ts", "testResults": [ { "ancestorTitles": [ "Account - Settings - Display Settings" ], "duration": 346, "failureDetails": [], "failureMessages": [], "fullName": "Account - Settings - Display Settings MM-T5102_1 - should match elements on display settings screen", "invocations": 1, "location": null, "numPassingAsserts": 3, "retryReasons": [], "status": "passed", "title": "MM-T5102_1 - should match elements on display settings screen" }, { "ancestorTitles": [ "Account - Settings - Display Settings" ], "duration": 1563, "failureDetails": [], "failureMessages": [], "fullName": "Account - Settings - Display Settings MM-T5102_2 - should be able to go to theme display settings screen", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T5102_2 - should be able to go to theme display settings screen" }, { "ancestorTitles": [ "Account - Settings - Display Settings" ], "duration": 1294, "failureDetails": [], "failureMessages": [], "fullName": "Account - Settings - Display Settings MM-T5102_3 - should be able to go to clock display settings screen", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T5102_3 - should be able to go to clock display settings screen" }, { "ancestorTitles": [ "Account - Settings - Display Settings" ], "duration": 1314, "failureDetails": [], "failureMessages": [], "fullName": "Account - Settings - Display Settings MM-T5102_4 - should be able to go to timezone display settings screen", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T5102_4 - should be able to go to timezone display settings screen" } ], "failureMessage": null }, { "leaks": false, "numFailingTests": 0, "numPassingTests": 2, "numPendingTests": 0, "numTodoTests": 0, "openHandles": [], "perfStats": { "end": 1765990852375, "runtime": 46781, "slow": true, "start": 1765990805594 }, "skipped": false, "snapshot": { "added": 0, "fileDeleted": false, "matched": 0, "unchecked": 0, "uncheckedKeys": [], "unmatched": 0, "updated": 0 }, "testFilePath": "/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/account/edit_profile.e2e.ts", "testResults": [ { "ancestorTitles": [ "Account - Edit Profile" ], "duration": 1748, "failureDetails": [], "failureMessages": [], "fullName": "Account - Edit Profile MM-T4989_1 - should match elements on edit profile screen", "invocations": 1, "location": null, "numPassingAsserts": 3, "retryReasons": [], "status": "passed", "title": "MM-T4989_1 - should match elements on edit profile screen" }, { "ancestorTitles": [ "Account - Edit Profile" ], "duration": 10527, "failureDetails": [], "failureMessages": [], "fullName": "Account - Edit Profile MM-T4989_2 - should be able to edit profile and save", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "passed", "title": "MM-T4989_2 - should be able to edit profile and save" } ], "failureMessage": null }, { "leaks": false, "numFailingTests": 1, "numPassingTests": 1, "numPendingTests": 0, "numTodoTests": 0, "openHandles": [], "perfStats": { "end": 1765990889727, "runtime": 37238, "slow": true, "start": 1765990852489 }, "skipped": false, "snapshot": { "added": 0, "fileDeleted": false, "matched": 0, "unchecked": 0, "uncheckedKeys": [], "unmatched": 0, "updated": 0 }, "testFilePath": "/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/account/email_notification_settings.e2e.ts", "testResults": [ { "ancestorTitles": [ "Account - Settings - Email Notification Settings" ], "duration": 410, "failureDetails": [], "failureMessages": [], "fullName": "Account - Settings - Email Notification Settings MM-T5109_1 - should match elements on email notification settings screen", "invocations": 1, "location": null, "numPassingAsserts": 3, "retryReasons": [], "status": "passed", "title": "MM-T5109_1 - should match elements on email notification settings screen" }, { "ancestorTitles": [ "Account - Settings - Email Notification Settings" ], "duration": 2131, "failureDetails": [ { "name": "DetoxRuntimeError" } ], "failureMessages": [ "Test Failed: '(an instance of android.widget.TextView and view.getText() with or without transformation to match: is \"Never\" and view has effective visibility <VISIBLE>)' doesn't match the selected view.\nExpected: (an instance of android.widget.TextView and view.getText() with or without transformation to match: is \"Never\" and view has effective visibility <VISIBLE>)\n Got: an instance of android.widget.TextView and view.getText() with or without transformation to match: is \"Never\" view.getText() was \"Immediately\" transformed text was \"Immediately\"\nView Details: ReactTextView{id=1159, visibility=VISIBLE, width=227, height=55, has-focus=false, has-focusable=false, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, layout-params=android.view.ViewGroup$LayoutParams@YYYYYY, tag=notification_settings.email_notifications.option.info, root-is-layout-requested=false, has-input-connection=false, x=699.0, y=39.0, text=Immediately, input-type=0, ime-target=false, has-links=false}\n\n at Object.<anonymous> (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/account/email_notification_settings.e2e.ts:76:79)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)" ], "fullName": "Account - Settings - Email Notification Settings MM-T5109_2 - should be able to change email notification settings and save by tapping navigation back button", "invocations": 1, "location": null, "numPassingAsserts": 0, "retryReasons": [], "status": "failed", "title": "MM-T5109_2 - should be able to change email notification settings and save by tapping navigation back button" } ], "failureMessage": " ● Account - Settings - Email Notification Settings › MM-T5109_2 - should be able to change email notification settings and save by tapping navigation back button\n\n Test Failed: '(an instance of android.widget.TextView and view.getText() with or without transformation to match: is \"Never\" and view has effective visibility <VISIBLE>)' doesn't match the selected view.\n Expected: (an instance of android.widget.TextView and view.getText() with or without transformation to match: is \"Never\" and view has effective visibility <VISIBLE>)\n Got: an instance of android.widget.TextView and view.getText() with or without transformation to match: is \"Never\" view.getText() was \"Immediately\" transformed text was \"Immediately\"\n View Details: ReactTextView{id=1159, visibility=VISIBLE, width=227, height=55, has-focus=false, has-focusable=false, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, layout-params=android.view.ViewGroup$LayoutParams@YYYYYY, tag=notification_settings.email_notifications.option.info, root-is-layout-requested=false, has-input-connection=false, x=699.0, y=39.0, text=Immediately, input-type=0, ime-target=false, has-links=false}\n\n \u001b[0m \u001b[90m 74 |\u001b[39m \u001b[90m// * Verify on notification settings screen and never is set\u001b[39m\n \u001b[90m 75 |\u001b[39m \u001b[36mawait\u001b[39m \u001b[33mNotificationSettingsScreen\u001b[39m\u001b[33m.\u001b[39mtoBeVisible()\u001b[33m;\u001b[39m\n \u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 76 |\u001b[39m \u001b[36mawait\u001b[39m expect(\u001b[33mNotificationSettingsScreen\u001b[39m\u001b[33m.\u001b[39memailNotificationsOptionInfo)\u001b[33m.\u001b[39mtoHaveText(\u001b[32m'Never'\u001b[39m)\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 77 |\u001b[39m\n \u001b[90m 78 |\u001b[39m \u001b[90m// # Go back to email notification settings screen\u001b[39m\n \u001b[90m 79 |\u001b[39m \u001b[36mawait\u001b[39m \u001b[33mEmailNotificationSettingsScreen\u001b[39m\u001b[33m.\u001b[39mopen()\u001b[33m;\u001b[39m\u001b[0m\n\n at Object.<anonymous> (test/products/channels/account/email_notification_settings.e2e.ts:76:79)\n\n\n ● Test suite failed to run\n\n Test Failed: No views in hierarchy found matching: (view.getTag() is \"screen.back.button\" and view has effective visibility <VISIBLE>)\n\n\n HINT: To print view hierarchy on failed actions/matches, use log-level verbose or higher.\n\n \u001b[0m \u001b[90m 43 |\u001b[39m\n \u001b[90m 44 |\u001b[39m back \u001b[33m=\u001b[39m \u001b[36masync\u001b[39m () \u001b[33m=>\u001b[39m {\n \u001b[31m\u001b[1m>\u001b[22m\u001b[39m\u001b[90m 45 |\u001b[39m \u001b[36mawait\u001b[39m \u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mbackButton\u001b[33m.\u001b[39mtap()\u001b[33m;\u001b[39m\n \u001b[90m |\u001b[39m \u001b[31m\u001b[1m^\u001b[22m\u001b[39m\n \u001b[90m 46 |\u001b[39m \u001b[36mawait\u001b[39m expect(\u001b[36mthis\u001b[39m\u001b[33m.\u001b[39mnotificationSettingsScreen)\u001b[33m.\u001b[39mnot\u001b[33m.\u001b[39mtoBeVisible()\u001b[33m;\u001b[39m\n \u001b[90m 47 |\u001b[39m }\u001b[33m;\u001b[39m\n \u001b[90m 48 |\u001b[39m }\u001b[0m\n\n at NotificationSettingsScreen.back (support/ui/screen/notification_settings.ts:45:31)\n at Object.<anonymous> (test/products/channels/account/email_notification_settings.e2e.ts:51:42)\n", "testExecError": { "message": "", "stack": "Test Failed: No views in hierarchy found matching: (view.getTag() is \"screen.back.button\" and view has effective visibility <VISIBLE>)\n\n\nHINT: To print view hierarchy on failed actions/matches, use log-level verbose or higher.\n at NotificationSettingsScreen.back (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/support/ui/screen/notification_settings.ts:45:31)\n at Object.<anonymous> (/home/runner/work/mattermost-mobile/mattermost-mobile/detox/e2e/test/products/channels/account/email_notification_settings.e2e.ts:51:42)\n at processTicksAndRejections (node:internal/process/task_queues:105:5)" } } ], "wasInterrupted": false }