diff --git a/tests/spec/117-pin-unpin.js b/tests/spec/117-pin-unpin.js index 7c5a375d..646042e8 100644 --- a/tests/spec/117-pin-unpin.js +++ b/tests/spec/117-pin-unpin.js @@ -4,10 +4,10 @@ import { getNthPinnedStatusFavoriteButton, getNthStatus, getNthStatusContent, getNthStatusOptionsButton, getUrl, homeNavButton, postStatusButton, scrollToTop, scrollToBottom, - settingsNavButton, sleep + settingsNavButton, sleep, getNthStatusAccountLink } from '../utils' import { users } from '../users' -import { postAs } from '../serverActions' +import { postAs, postStatusWithMediaAs } from '../serverActions' fixture`117-pin-unpin.js` .page`http://localhost:4002` @@ -84,3 +84,22 @@ test('Saved pinned/unpinned state of status', async t => { .click(getNthStatusOptionsButton(1)) .expect(getNthDialogOptionsOption(2).innerText).contains('Unpin from profile', { timeout }) }) + +test('pinned posts and aria-labels', async t => { + const timeout = 20000 + await postStatusWithMediaAs('foobar', 'here is a sensitive kitty', 'kitten2.jpg', 'kitten', true) + await loginAsFoobar(t) + await t + .expect(getNthStatusContent(1).innerText).contains('here is a sensitive kitty', { timeout }) + .click(getNthStatusOptionsButton(1)) + .expect(getNthDialogOptionsOption(2).innerText).contains('Pin to profile') + .click(getNthDialogOptionsOption(2)) + .click(getNthStatusAccountLink(1)) + .expect(getNthPinnedStatus(1).getAttribute('aria-label')).match( + /foobar, here is a sensitive kitty, has media, (.+ ago|just now), @foobar, Public/i + ) + .expect(getNthStatusContent(1).innerText).contains('here is a sensitive kitty') + .click(getNthStatusOptionsButton(1)) + .expect(getNthDialogOptionsOption(2).innerText).contains('Unpin from profile') + await sleep(2000) +})