|
@@ -27,18 +27,39 @@ const unlearnWord = word =>
|
|
|
})
|
|
})
|
|
|
})
|
|
})
|
|
|
|
|
|
|
|
|
|
+const getDict = () =>
|
|
|
|
|
+ request.get({
|
|
|
|
|
+ url: `/user/${USER_ID}`
|
|
|
|
|
+ })
|
|
|
|
|
+
|
|
|
const deleteDict = () =>
|
|
const deleteDict = () =>
|
|
|
request.del({
|
|
request.del({
|
|
|
url: `/user/${USER_ID}`
|
|
url: `/user/${USER_ID}`
|
|
|
})
|
|
})
|
|
|
|
|
|
|
|
describe('learning words', function() {
|
|
describe('learning words', function() {
|
|
|
- it('should return status 204 when posting a word successfully', async function () {
|
|
|
|
|
|
|
+ afterEach(async function() {
|
|
|
|
|
+ await deleteDict()
|
|
|
|
|
+ })
|
|
|
|
|
+
|
|
|
|
|
+ it('should return status 204 when posting a word successfully', async function() {
|
|
|
const response = await learnWord('abcd')
|
|
const response = await learnWord('abcd')
|
|
|
expect(response.statusCode).to.equal(204)
|
|
expect(response.statusCode).to.equal(204)
|
|
|
})
|
|
})
|
|
|
|
|
|
|
|
- it('should return no misspellings after a word is learnt', async function () {
|
|
|
|
|
|
|
+ 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 dictResponse = await getDict()
|
|
|
|
|
+ const responseBody = JSON.parse(dictResponse.body)
|
|
|
|
|
+ // the response from getlearnedwords filters out duplicates, so this test
|
|
|
|
|
+ // can succeed even if the word is stored twice in the database
|
|
|
|
|
+ expect(responseBody.length).to.equals(1)
|
|
|
|
|
+ })
|
|
|
|
|
+
|
|
|
|
|
+ it('should return no misspellings after a word is learnt', async function() {
|
|
|
const response = await checkWord(['abv'])
|
|
const response = await checkWord(['abv'])
|
|
|
const responseBody = JSON.parse(response.body)
|
|
const responseBody = JSON.parse(response.body)
|
|
|
expect(responseBody.misspellings.length).to.equals(1)
|
|
expect(responseBody.misspellings.length).to.equals(1)
|
|
@@ -50,7 +71,7 @@ describe('learning words', function() {
|
|
|
expect(responseBody2.misspellings.length).to.equals(0)
|
|
expect(responseBody2.misspellings.length).to.equals(0)
|
|
|
})
|
|
})
|
|
|
|
|
|
|
|
- it('should return misspellings again after a personal dictionary is deleted', async function () {
|
|
|
|
|
|
|
+ it('should return misspellings again after a personal dictionary is deleted', async function() {
|
|
|
await learnWord('bvc')
|
|
await learnWord('bvc')
|
|
|
await deleteDict()
|
|
await deleteDict()
|
|
|
|
|
|
|
@@ -61,12 +82,12 @@ describe('learning words', function() {
|
|
|
})
|
|
})
|
|
|
|
|
|
|
|
describe('unlearning words', function() {
|
|
describe('unlearning words', function() {
|
|
|
- it('should return status 204 when posting a word successfully', async function () {
|
|
|
|
|
|
|
+ it('should return status 204 when posting a word successfully', async function() {
|
|
|
const response = await unlearnWord('anything')
|
|
const response = await unlearnWord('anything')
|
|
|
expect(response.statusCode).to.equal(204)
|
|
expect(response.statusCode).to.equal(204)
|
|
|
})
|
|
})
|
|
|
|
|
|
|
|
- it('should return misspellings after a word is unlearnt', async function () {
|
|
|
|
|
|
|
+ it('should return misspellings after a word is unlearnt', async function() {
|
|
|
await learnWord('abv')
|
|
await learnWord('abv')
|
|
|
|
|
|
|
|
const response = await checkWord(['abv'])
|
|
const response = await checkWord(['abv'])
|