Fix spoilers being posted after removal (#90)

Fixes #83
This commit is contained in:
Nolan Lawson 2018-04-11 22:55:11 -07:00 committed by GitHub
parent 1ad72f00c2
commit 84148912ee
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 40 additions and 2 deletions

View file

@ -3,8 +3,9 @@ import { store } from '../_store/store'
export function toggleContentWarningShown (realm) {
let shown = store.getComposeData(realm, 'contentWarningShown')
let contentWarning = store.getComposeData(realm, 'contentWarning')
let newShown = !shown
store.setComposeData(realm, {
contentWarning: shown ? contentWarning : '',
contentWarningShown: !shown
contentWarning: newShown ? contentWarning : '',
contentWarningShown: newShown
})
}

View file

@ -0,0 +1,33 @@
import {
composeButton, composeContentWarning, composeInput, contentWarningButton,
getNthShowOrHideButton, getNthStatus
} from '../utils'
import { foobarRole } from '../roles'
fixture`110-compose-content-warnings.js`
.page`http://localhost:4002`
test('content warnings are posted', async t => {
await t.useRole(foobarRole)
.typeText(composeInput, 'hello this is a toot', {paste: true})
.click(contentWarningButton)
.typeText(composeContentWarning, 'CW', {paste: true})
.click(composeButton)
.expect(getNthStatus(0).find('.status-spoiler').innerText).contains('CW', {timeout: 30000})
.click(getNthShowOrHideButton(0))
.expect(getNthStatus(0).find('.status-content').innerText).contains('hello this is a toot')
.click(getNthShowOrHideButton(0))
.expect(getNthStatus(0).find('.status-content').exists).notOk()
})
test('content warnings are not posted if removed', async t => {
await t.useRole(foobarRole)
.typeText(composeInput, 'hi this is another toot', {paste: true})
.click(contentWarningButton)
.typeText(composeContentWarning, 'content warning!', {paste: true})
.click(contentWarningButton)
.expect(composeContentWarning.exists).notOk()
.click(composeButton)
.expect(getNthStatus(0).find('.status-spoiler').exists).notOk({timeout: 30000})
.expect(getNthStatus(0).find('.status-content').innerText).contains('hi this is another toot')
})

View file

@ -173,6 +173,10 @@ export function getNthFavorited (n) {
return getNthFavoriteButton(n).getAttribute('aria-pressed')
}
export function getNthShowOrHideButton (n) {
return getNthStatus(n).find('.status-spoiler-button button')
}
export function getFavoritesCount () {
return favoritesCountElement.innerCount
}