-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[TESTS] Add E2E tests to directory (#2964)
* [E2E TEST] Directory * Fix tests Co-authored-by: Diego Mello <diegolmello@gmail.com>
- Loading branch information
1 parent
ec5840c
commit 45d0d4a
Showing
2 changed files
with
50 additions
and
3 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,47 @@ | ||
const { | ||
device, expect, element, by, waitFor | ||
} = require('detox'); | ||
const data = require('../../data'); | ||
const { navigateToLogin, login, tapBack, sleep } = require('../../helpers/app'); | ||
|
||
const testuser = data.users.regular | ||
|
||
async function navigateToRoom(search) { | ||
await element(by.id('directory-view-search')).replaceText(search); | ||
await waitFor(element(by.id(`directory-view-item-${ search }`))).toBeVisible().withTimeout(10000); | ||
await sleep(300); // app takes some time to animate | ||
await element(by.id(`directory-view-item-${ search }`)).tap(); | ||
await waitFor(element(by.id('room-view'))).toExist().withTimeout(5000); | ||
await waitFor(element(by.id(`room-view-title-${ search }`))).toExist().withTimeout(5000); | ||
} | ||
|
||
describe('Join room from directory', () => { | ||
before(async() => { | ||
await device.launchApp({ permissions: { notifications: 'YES' }, delete: true }); | ||
await navigateToLogin(); | ||
await login(testuser.username, testuser.password); | ||
}); | ||
|
||
describe('Usage', async() => { | ||
it('should tap directory', async() => { | ||
await element(by.id('rooms-list-view-directory')).tap(); | ||
await waitFor(element(by.id('directory-view'))).toExist().withTimeout(2000); | ||
}) | ||
|
||
it('should search public channel and navigate', async() => { | ||
await navigateToRoom(data.channels.detoxpublic.name); | ||
}) | ||
|
||
it('should back and tap directory', async() => { | ||
await tapBack(); | ||
await element(by.id('rooms-list-view-directory')).tap(); | ||
}) | ||
|
||
it('should search user and navigate', async() => { | ||
await element(by.id('directory-view-dropdown')).tap(); | ||
await element(by.label('Users')).tap(); | ||
await element(by.label('Search by')).tap(); | ||
await navigateToRoom(data.users.alternate.username); | ||
}) | ||
}); | ||
}); |