diff options
Diffstat (limited to '__e2e__/tests/composer.test.ts')
-rw-r--r-- | __e2e__/tests/composer.test.ts | 108 |
1 files changed, 108 insertions, 0 deletions
diff --git a/__e2e__/tests/composer.test.ts b/__e2e__/tests/composer.test.ts new file mode 100644 index 000000000..afc23cc13 --- /dev/null +++ b/__e2e__/tests/composer.test.ts @@ -0,0 +1,108 @@ +/* eslint-env detox/detox */ + +import {openApp, login, createServer, sleep} from '../util' + +describe('Composer', () => { + let service: string + beforeAll(async () => { + service = await createServer('?users') + await openApp({ + permissions: {notifications: 'YES', medialibrary: 'YES', photos: 'YES'}, + }) + }) + + it('Login', async () => { + await login(service, 'alice', 'hunter2') + await element(by.id('homeScreenFeedTabs-Following')).tap() + }) + + it('Post text only', async () => { + await element(by.id('composeFAB')).tap() + await device.takeScreenshot('1- opened composer') + await element(by.id('composerTextInput')).typeText('Post text only') + await device.takeScreenshot('2- entered text') + await element(by.id('composerPublishBtn')).tap() + await device.takeScreenshot('3- opened general section') + await expect(element(by.id('composeFAB'))).toBeVisible() + }) + + it('Post with an image', async () => { + await element(by.id('composeFAB')).tap() + await element(by.id('composerTextInput')).typeText('Post with an image') + await element(by.id('openGalleryBtn')).tap() + await sleep(1e3) + await element(by.id('composerPublishBtn')).tap() + await expect(element(by.id('composeFAB'))).toBeVisible() + }) + + it('Post with a link card', async () => { + await element(by.id('composeFAB')).tap() + await element(by.id('composerTextInput')).typeText( + 'Post with a https://example.com link card', + ) + await element(by.id('addLinkCardBtn')).tap() + await element(by.id('composerPublishBtn')).tap() + await expect(element(by.id('composeFAB'))).toBeVisible() + }) + + it('Reply text only', async () => { + const post = by.id('feedItem-by-alice.test') + await element(by.id('replyBtn').withAncestor(post)).atIndex(0).tap() + await element(by.id('composerTextInput')).typeText('Reply text only') + await element(by.id('composerPublishBtn')).tap() + await expect(element(by.id('composeFAB'))).toBeVisible() + }) + + it('Reply with an image', async () => { + const post = by.id('feedItem-by-alice.test') + await element(by.id('replyBtn').withAncestor(post)).atIndex(0).tap() + await element(by.id('composerTextInput')).typeText('Reply with an image') + await element(by.id('openGalleryBtn')).tap() + await sleep(1e3) + await element(by.id('composerPublishBtn')).tap() + await expect(element(by.id('composeFAB'))).toBeVisible() + }) + + it('Reply with a link card', async () => { + const post = by.id('feedItem-by-alice.test') + await element(by.id('replyBtn').withAncestor(post)).atIndex(0).tap() + await element(by.id('composerTextInput')).typeText( + 'Reply with a https://example.com link card', + ) + await element(by.id('addLinkCardBtn')).tap() + await element(by.id('composerPublishBtn')).tap() + await expect(element(by.id('composeFAB'))).toBeVisible() + }) + + it('QP text only', async () => { + const post = by.id('feedItem-by-alice.test') + await element(by.id('repostBtn').withAncestor(post)).atIndex(0).tap() + await element(by.id('quoteBtn').withAncestor(by.id('repostModal'))).tap() + await element(by.id('composerTextInput')).typeText('QP text only') + await element(by.id('composerPublishBtn')).tap() + await expect(element(by.id('composeFAB'))).toBeVisible() + }) + + it('QP with an image', async () => { + const post = by.id('feedItem-by-alice.test') + await element(by.id('repostBtn').withAncestor(post)).atIndex(0).tap() + await element(by.id('quoteBtn').withAncestor(by.id('repostModal'))).tap() + await element(by.id('composerTextInput')).typeText('QP with an image') + await element(by.id('openGalleryBtn')).tap() + await sleep(1e3) + await element(by.id('composerPublishBtn')).tap() + await expect(element(by.id('composeFAB'))).toBeVisible() + }) + + it('QP with a link card', async () => { + const post = by.id('feedItem-by-alice.test') + await element(by.id('repostBtn').withAncestor(post)).atIndex(0).tap() + await element(by.id('quoteBtn').withAncestor(by.id('repostModal'))).tap() + await element(by.id('composerTextInput')).typeText( + 'QP with a https://example.com link card', + ) + await element(by.id('addLinkCardBtn')).tap() + await element(by.id('composerPublishBtn')).tap() + await expect(element(by.id('composeFAB'))).toBeVisible() + }) +}) |