pinafore/tests/spec/103-compose.js

41 lines
1.4 KiB
JavaScript
Raw Normal View History

import { loginAsFoobar } from '../roles'
2018-03-10 06:31:26 +00:00
import {
2018-03-30 08:06:17 +00:00
composeInput, getNthComposeReplyButton, getNthComposeReplyInput, getNthReplyButton, getNthStatus, getUrl,
homeNavButton, notificationsNavButton,
2018-03-10 06:31:26 +00:00
postStatusButton
} from '../utils'
fixture`103-compose.js`
.page`http://localhost:4002`
test('statuses show up in home timeline', async t => {
await loginAsFoobar(t)
await t
2018-03-10 06:31:26 +00:00
.typeText(composeInput, 'hello world', {paste: true})
.click(postStatusButton)
.expect(getNthStatus(0).innerText).contains('hello world')
.click(notificationsNavButton)
.expect(getUrl()).contains('/notifications')
.click(homeNavButton)
.expect(getUrl()).eql('http://localhost:4002/')
.expect(getNthStatus(0).innerText).contains('hello world')
.navigateTo('/')
.expect(getNthStatus(0).innerText).contains('hello world')
})
test('statuses in threads show up in right order', async t => {
await loginAsFoobar(t)
await t
2018-03-10 06:31:26 +00:00
.navigateTo('/accounts/5')
.click(getNthStatus(2))
.expect(getUrl()).contains('/statuses')
.click(getNthReplyButton(3))
2018-03-30 08:06:17 +00:00
.typeText(getNthComposeReplyInput(3), 'my reply!', {paste: true})
.click(getNthComposeReplyButton(3))
.expect(getNthComposeReplyInput(3).exists).notOk()
2018-03-10 06:31:26 +00:00
.expect(getNthStatus(5).innerText).contains('@baz my reply!')
.navigateTo('/accounts/5')
.click(getNthStatus(2))
.expect(getNthStatus(5).innerText).contains('@baz my reply!')
})