diff --git a/tests/spec/025-shortcuts-status.js b/tests/spec/025-shortcuts-status.js index 931585da..d76eb2c0 100644 --- a/tests/spec/025-shortcuts-status.js +++ b/tests/spec/025-shortcuts-status.js @@ -7,9 +7,17 @@ import { getNthStatusMediaImg, getNthStatusSensitiveMediaButton, getNthStatusSpoiler, - getUrl, modalDialog, + getUrl, + modalDialog, scrollToStatus, - isNthStatusActive, getActiveElementRectTop, scrollToTop, isActiveStatusPinned, getFirstModalMedia + isNthStatusActive, + getActiveElementRectTop, + scrollToTop, + isActiveStatusPinned, + getFirstModalMedia, + getNthStatusAccountLink, + getNthStatusAccountLinkSelector, + focus } from '../utils' import { homeTimeline } from '../fixtures' import { loginAsFoobar } from '../roles' @@ -216,3 +224,13 @@ test('Shortcut j/k change the active status on pinned statuses', async t => { .expect(isNthStatusActive(1)()).ok() .expect(isActiveStatusPinned()).eql(true) }) + +test('Shortcut down makes next status active when focused inside of a status', async t => { + await loginAsFoobar(t) + await t + .expect(getNthStatusAccountLink(1).exists).ok() + await focus(getNthStatusAccountLinkSelector(1))() + await t + .pressKey('down') + .expect(isNthStatusActive(2)()).ok() +}) diff --git a/tests/utils.js b/tests/utils.js index 888da0a3..7b3050f3 100644 --- a/tests/utils.js +++ b/tests/utils.js @@ -522,8 +522,12 @@ export function getNthStatusOptionsButton (n) { return $(`${getNthStatusSelector(n)} .status-toolbar button:nth-child(4)`) } +export function getNthStatusAccountLinkSelector (n) { + return `${getNthStatusSelector(n)} .status-author-name` +} + export function getNthStatusAccountLink (n) { - return $(`${getNthStatusSelector(n)} .status-author-name`) + return $(getNthStatusAccountLinkSelector(n)) } export function getNthFavoritedLabel (n) {