29 lines
1.0 KiB
JavaScript
29 lines
1.0 KiB
JavaScript
import {
|
|
followersButton,
|
|
followsButton, getNthSearchResult,
|
|
getNthStatusSelector, getUrl, goBack
|
|
} from '../utils'
|
|
import { loginAsFoobar } from '../roles'
|
|
import { Selector as $ } from 'testcafe'
|
|
|
|
fixture`021-followers-follows.js`
|
|
.page`http://localhost:4002`
|
|
|
|
test('shows followers and follows', async t => {
|
|
await loginAsFoobar(t)
|
|
await t
|
|
.click($(`${getNthStatusSelector(1)} .status-author-name`))
|
|
.expect(getUrl()).match(/\/accounts\/3$/)
|
|
.expect(followsButton.getAttribute('aria-label')).eql('Follows 2')
|
|
.click(followsButton)
|
|
.expect(getUrl()).contains('/accounts/3/follows')
|
|
.expect(getNthSearchResult(1).innerText).contains('@foobar')
|
|
.expect(getNthSearchResult(2).innerText).contains('@admin')
|
|
await goBack()
|
|
await t.expect(getUrl()).match(/\/accounts\/3$/)
|
|
.expect(followersButton.getAttribute('aria-label')).eql('Followed by 1')
|
|
.click(followersButton)
|
|
.expect(getUrl()).contains('/accounts/3/followers')
|
|
.expect(getNthSearchResult(1).innerText).contains('@admin')
|
|
})
|