Pinafore-Web-Client-Frontend/tests/spec/107-streaming-gap.js

31 lines
1.1 KiB
JavaScript

import { foobarRole } from '../roles'
import {
getNthStatus, homeNavButton, localTimelineNavButton, sleep
} from '../utils'
import {
postAs
} from '../serverActions'
fixture`107-streaming-gap.js`
.page`http://localhost:4002`
test('fills in a status posted while away from timeline', async t => {
let timeout = 30000
await t.useRole(foobarRole)
.click(localTimelineNavButton)
.hover(getNthStatus(0))
await postAs('admin', 'heyo')
await t.expect(getNthStatus(0).innerText).contains('heyo', {timeout})
.click(homeNavButton)
.hover(getNthStatus(0))
await postAs('admin', 'posted this while you were away!')
await t.expect(getNthStatus(0).innerText).contains('posted this while you were away!', {timeout})
.click(localTimelineNavButton)
.expect(getNthStatus(0).innerText).contains('posted this while you were away!', {timeout})
.expect(getNthStatus(1).innerText).contains('heyo', {timeout})
await sleep(5000)
await postAs('admin', 'posted this while you were watching')
await t.expect(getNthStatus(0).innerText).contains('posted this while you were watching', {timeout})
})