add favorites/boost test
This commit is contained in:
parent
5c53199434
commit
ab366d6c2c
|
@ -2,7 +2,7 @@
|
||||||
<div class="search-result-account">
|
<div class="search-result-account">
|
||||||
<Avatar :account size="small" className="search-result-account-avatar"/>
|
<Avatar :account size="small" className="search-result-account-avatar"/>
|
||||||
<div class="search-result-account-name">
|
<div class="search-result-account-name">
|
||||||
{{account.display_name}}
|
{{account.display_name || account.acct}}
|
||||||
</div>
|
</div>
|
||||||
<div class="search-result-account-username">
|
<div class="search-result-account-username">
|
||||||
{{'@' + account.acct}}
|
{{'@' + account.acct}}
|
||||||
|
|
|
@ -2,13 +2,13 @@
|
||||||
<ExternalLink class="status-absolute-date" href="{{status.url}}" showIcon="true">
|
<ExternalLink class="status-absolute-date" href="{{status.url}}" showIcon="true">
|
||||||
<time datetime={{createdAtDate}} title="{{formattedDate}}">{{formattedDate}}</time>
|
<time datetime={{createdAtDate}} title="{{formattedDate}}">{{formattedDate}}</time>
|
||||||
</ExternalLink>
|
</ExternalLink>
|
||||||
<a class="status-favs-reblogs" href="/statuses/{{statusId}}/reblogs">
|
<a class="status-favs-reblogs" href="/statuses/{{statusId}}/reblogs" aria-label="{{favoritesLabel}}">
|
||||||
<svg>
|
<svg>
|
||||||
<use xlink:href="#fa-retweet"/>
|
<use xlink:href="#fa-retweet"/>
|
||||||
</svg>
|
</svg>
|
||||||
<span>{{numReblogs}}</span>
|
<span>{{numReblogs}}</span>
|
||||||
</a>
|
</a>
|
||||||
<a class="status-favs-reblogs" href="/statuses/{{statusId}}/favorites">
|
<a class="status-favs-reblogs" href="/statuses/{{statusId}}/favorites" aria-label="{{reblogsLabel}}">
|
||||||
<svg>
|
<svg>
|
||||||
<use xlink:href="#fa-star" />
|
<use xlink:href="#fa-star" />
|
||||||
</svg>
|
</svg>
|
||||||
|
@ -95,7 +95,19 @@
|
||||||
createdAtDate: (status) => status.created_at,
|
createdAtDate: (status) => status.created_at,
|
||||||
numReblogs: (status) => status.reblogs_count || 0,
|
numReblogs: (status) => status.reblogs_count || 0,
|
||||||
numFavs: (status) => status.favourites_count || 0,
|
numFavs: (status) => status.favourites_count || 0,
|
||||||
formattedDate: (createdAtDate) => formatter.format(new Date(createdAtDate))
|
formattedDate: (createdAtDate) => formatter.format(new Date(createdAtDate)),
|
||||||
|
reblogsLabel: (numReblogs) => {
|
||||||
|
// TODO: intl
|
||||||
|
return numReblogs === 1
|
||||||
|
? `Boosted ${numReblogs} time`
|
||||||
|
: `Boosted ${numReblogs} times`
|
||||||
|
},
|
||||||
|
favoritesLabel: (numFavs) => {
|
||||||
|
// TODO: intl
|
||||||
|
return numFavs === 1
|
||||||
|
? `Favorited ${numFavs} time`
|
||||||
|
: `Favorited ${numFavs} times`
|
||||||
|
}
|
||||||
},
|
},
|
||||||
components: {
|
components: {
|
||||||
ExternalLink
|
ExternalLink
|
||||||
|
|
|
@ -3,7 +3,7 @@ import {
|
||||||
} from '../utils'
|
} from '../utils'
|
||||||
import { foobarRole } from '../roles'
|
import { foobarRole } from '../roles'
|
||||||
|
|
||||||
fixture`09-threads.js`
|
fixture`10-focus.js`
|
||||||
.page`http://localhost:4002`
|
.page`http://localhost:4002`
|
||||||
|
|
||||||
test('modal preserves focus', async t => {
|
test('modal preserves focus', async t => {
|
||||||
|
|
32
tests/spec/11-reblog-favorites-count.js
Normal file
32
tests/spec/11-reblog-favorites-count.js
Normal file
|
@ -0,0 +1,32 @@
|
||||||
|
import { Selector as $ } from 'testcafe'
|
||||||
|
import { getNthStatus, getUrl } from '../utils'
|
||||||
|
import { foobarRole } from '../roles'
|
||||||
|
|
||||||
|
fixture`11-reblog-favorites-count.js`
|
||||||
|
.page`http://localhost:4002`
|
||||||
|
|
||||||
|
test('shows favorites', async t => {
|
||||||
|
await t.useRole(foobarRole)
|
||||||
|
.click(getNthStatus(0))
|
||||||
|
.expect(getUrl()).contains('/statuses/99549266679020981')
|
||||||
|
.expect($('.status-favs-reblogs').nth(0).getAttribute('aria-label')).eql('Favorited 2 times')
|
||||||
|
.expect($('.icon-button[aria-label="Favorite"]').getAttribute('aria-pressed')).eql('true')
|
||||||
|
.click($('.status-favs-reblogs').nth(1))
|
||||||
|
.expect(getUrl()).contains('/statuses/99549266679020981/favorites')
|
||||||
|
.expect($('.search-result-account-name').nth(0).innerText).eql('foobar')
|
||||||
|
.expect($('.search-result-account-username').nth(0).innerText).eql('@foobar')
|
||||||
|
.expect($('.search-result-account-name').nth(1).innerText).eql('admin')
|
||||||
|
.expect($('.search-result-account-username').nth(1).innerText).eql('@admin')
|
||||||
|
})
|
||||||
|
|
||||||
|
test('shows boosts', async t => {
|
||||||
|
await t.useRole(foobarRole)
|
||||||
|
.click(getNthStatus(0))
|
||||||
|
.expect(getUrl()).contains('/statuses/99549266679020981')
|
||||||
|
.expect($('.status-favs-reblogs').nth(1).getAttribute('aria-label')).eql('Boosted 1 time')
|
||||||
|
.expect($('.icon-button[aria-label="Boost"]').getAttribute('aria-pressed')).eql('false')
|
||||||
|
.click($('.status-favs-reblogs').nth(0))
|
||||||
|
.expect(getUrl()).contains('/statuses/99549266679020981/reblogs')
|
||||||
|
.expect($('.search-result-account-name').nth(0).innerText).eql('admin')
|
||||||
|
.expect($('.search-result-account-username').nth(0).innerText).eql('@admin')
|
||||||
|
})
|
Loading…
Reference in a new issue