pinafore/tests/spec/015-compose-content-warnings.js

69 lines
3 KiB
JavaScript
Raw Normal View History

2018-03-04 00:12:48 +00:00
import {
composeContentWarning, composeInput, composeLengthIndicator, contentWarningButton, homeNavButton,
notificationsNavButton
} from '../utils'
import { foobarRole } from '../roles'
2018-03-07 05:32:51 +00:00
fixture`015-compose-content-warnings.js`
2018-03-04 00:12:48 +00:00
.page`http://localhost:4002`
test('Changes content warnings', async t => {
await t.useRole(foobarRole)
.expect(composeContentWarning.exists).notOk()
.expect(contentWarningButton.getAttribute('aria-label')).eql('Add content warning')
.expect(contentWarningButton.getAttribute('aria-pressed')).eql('false')
.click(contentWarningButton)
.expect(composeContentWarning.exists).ok()
.expect(contentWarningButton.getAttribute('aria-label')).eql('Remove content warning')
.expect(contentWarningButton.getAttribute('aria-pressed')).eql('true')
.typeText(composeContentWarning, 'hello content warning', {paste: true})
.typeText(composeInput, 'secret text', {paste: true})
.click(notificationsNavButton)
.click(homeNavButton)
.expect(contentWarningButton.getAttribute('aria-label')).eql('Remove content warning')
.expect(contentWarningButton.getAttribute('aria-pressed')).eql('true')
.expect(composeContentWarning.value).eql('hello content warning')
.expect(composeInput.value).eql('secret text')
.selectText(composeInput)
.pressKey('delete')
.selectText(composeContentWarning)
.pressKey('delete')
.expect(composeContentWarning.value).eql('')
.expect(composeInput.value).eql('')
.click(contentWarningButton)
.expect(composeContentWarning.exists).notOk()
.expect(contentWarningButton.getAttribute('aria-label')).eql('Add content warning')
.expect(contentWarningButton.getAttribute('aria-pressed')).eql('false')
})
test('Considers content warnings for length limits', async t => {
await t.useRole(foobarRole)
.expect(composeLengthIndicator.innerText).eql('500')
.click(contentWarningButton)
.typeText(composeContentWarning, 'my content warning', {paste: true})
.expect(composeLengthIndicator.innerText).eql('482')
.typeText(composeInput, 'secret text', {paste: true})
.expect(composeLengthIndicator.innerText).eql('471')
.selectText(composeContentWarning)
.pressKey('delete')
.expect(composeLengthIndicator.innerText).eql('489')
.selectText(composeInput)
.pressKey('delete')
.expect(composeLengthIndicator.innerText).eql('500')
})
test('Considers hidden content warnings for length limits', async t => {
await t.useRole(foobarRole)
.expect(composeLengthIndicator.innerText).eql('500')
.click(contentWarningButton)
.typeText(composeContentWarning, 'my content warning', {paste: true})
.expect(composeLengthIndicator.innerText).eql('482')
.click(contentWarningButton)
.expect(composeLengthIndicator.innerText).eql('500')
.click(contentWarningButton)
.expect(composeLengthIndicator.innerText).eql('482')
.selectText(composeContentWarning)
.pressKey('delete')
.expect(composeLengthIndicator.innerText).eql('500')
2018-03-04 00:32:10 +00:00
})