28 lines
812 B
JavaScript
28 lines
812 B
JavaScript
|
import { favoriteStatusAs, postAs } from '../serverActions'
|
||
|
import { loginAsFoobar } from '../roles'
|
||
|
import {
|
||
|
communityNavButton, getUrl,
|
||
|
sleep, validateTimeline
|
||
|
} from '../utils'
|
||
|
import { Selector as $ } from 'testcafe'
|
||
|
|
||
|
fixture`133-favorites.js`
|
||
|
.page`http://localhost:4002`
|
||
|
|
||
|
test('favorites can paginate', async t => {
|
||
|
const LENGTH = 25
|
||
|
for (let i = 0; i < LENGTH; i++) {
|
||
|
const { id } = await postAs('admin', `fav me ${i}`)
|
||
|
await favoriteStatusAs('foobar', id)
|
||
|
await sleep(1000)
|
||
|
}
|
||
|
await loginAsFoobar(t)
|
||
|
await t
|
||
|
.click(communityNavButton)
|
||
|
.click($('a[href="/favorites"]'))
|
||
|
.expect(getUrl()).contains('/favorites')
|
||
|
|
||
|
const expectedTimeline = Array(LENGTH).fill().map((_, i) => ({ content: `fav me ${LENGTH - i - 1}` }))
|
||
|
await validateTimeline(t, expectedTimeline)
|
||
|
})
|