Pinafore-Web-Client-Frontend/tests/spec/015-compose-content-warning...

72 lines
3.0 KiB
JavaScript
Raw Normal View History

2018-03-04 01:12:48 +01:00
import {
composeContentWarning, composeInput, composeLengthIndicator, contentWarningButton, homeNavButton,
notificationsNavButton
} from '../utils'
import { loginAsFoobar } from '../roles'
2018-03-04 01:12:48 +01:00
2018-03-07 06:32:51 +01:00
fixture`015-compose-content-warnings.js`
2018-03-04 01:12:48 +01:00
.page`http://localhost:4002`
test('Changes content warnings', async t => {
await loginAsFoobar(t)
await t
2018-03-04 01:12:48 +01:00
.expect(composeContentWarning.exists).notOk()
.expect(contentWarningButton.getAttribute('aria-label')).eql('Add content warning')
.expect(contentWarningButton.getAttribute('title')).eql('Add content warning')
2018-03-04 01:12:48 +01:00
.click(contentWarningButton)
.expect(composeContentWarning.exists).ok()
.expect(contentWarningButton.getAttribute('aria-label')).eql('Remove content warning')
.expect(contentWarningButton.getAttribute('title')).eql('Remove content warning')
.typeText(composeContentWarning, 'hello content warning', { paste: true })
.typeText(composeInput, 'secret text', { paste: true })
2018-03-04 01:12:48 +01:00
.click(notificationsNavButton)
.click(homeNavButton)
.expect(contentWarningButton.getAttribute('aria-label')).eql('Remove content warning')
.expect(contentWarningButton.getAttribute('title')).eql('Remove content warning')
2018-03-04 01:12:48 +01:00
.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('title')).eql('Add content warning')
2018-03-04 01:12:48 +01:00
})
test('Considers content warnings for length limits', async t => {
await loginAsFoobar(t)
await t
2018-03-04 01:12:48 +01:00
.expect(composeLengthIndicator.innerText).eql('500')
.click(contentWarningButton)
.typeText(composeContentWarning, 'my content warning', { paste: true })
2018-03-04 01:12:48 +01:00
.expect(composeLengthIndicator.innerText).eql('482')
.typeText(composeInput, 'secret text', { paste: true })
2018-03-04 01:12:48 +01:00
.expect(composeLengthIndicator.innerText).eql('471')
.selectText(composeContentWarning)
.pressKey('delete')
.expect(composeLengthIndicator.innerText).eql('489')
.selectText(composeInput)
.pressKey('delete')
.expect(composeLengthIndicator.innerText).eql('500')
})
test('Content warning goes away if you hide it', async t => {
await loginAsFoobar(t)
await t
2018-03-04 01:12:48 +01:00
.click(contentWarningButton)
.expect(composeContentWarning.value).eql('')
.typeText(composeContentWarning, 'yo', { paste: true })
.expect(composeContentWarning.value).eql('yo')
.expect(composeLengthIndicator.innerText).eql('498')
2018-03-04 01:12:48 +01:00
.click(contentWarningButton)
.expect(composeContentWarning.exists).notOk()
2018-03-04 01:12:48 +01:00
.expect(composeLengthIndicator.innerText).eql('500')
.click(contentWarningButton)
.expect(composeContentWarning.value).eql('')
2018-03-04 01:12:48 +01:00
.expect(composeLengthIndicator.innerText).eql('500')
2018-03-04 01:32:10 +01:00
})