| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- const { expect } = require('chai')
- const cheerio = require('cheerio')
- const User = require('./helpers/User').promises
- describe('Spelling', function () {
- let user, projectId
- async function learnWord(word) {
- const { response } = await user.doRequest('POST', {
- url: '/spelling/learn',
- json: { word },
- })
- return response
- }
- async function getDict() {
- const { body, response } = await user.doRequest(
- 'GET',
- `/project/${projectId}`
- )
- expect(response.statusCode).to.equal(200)
- const dom = cheerio.load(body)
- const metaEl = dom('meta[name="ol-learnedWords"]')[0]
- return JSON.parse(metaEl.attribs.content)
- }
- describe('learning words', function () {
- beforeEach(async function () {
- user = new User()
- await user.login()
- projectId = await user.createProject('foo')
- })
- it('should return status 400 when posting an empty word', async function () {
- const response = await learnWord('')
- expect(response.statusCode).to.equal(400)
- })
- it('should return status 204 when posting a word successfully', async function () {
- const response = await learnWord('abcd')
- expect(response.statusCode).to.equal(204)
- })
- it('should not learn the same word twice', async function () {
- await learnWord('foobar')
- const learnResponse = await learnWord('foobar')
- expect(learnResponse.statusCode).to.equal(204)
- const dict = await getDict()
- expect(dict.length).to.equals(1)
- })
- })
- })
|