mirror of
https://github.com/yu-i-i/overleaf-cep.git
synced 2026-11-14 14:13:43 +01:00
don't learn the same word twice
This commit is contained in:
@@ -15,7 +15,7 @@ const LearnedWordsManager = {
|
||||
token: userToken
|
||||
},
|
||||
{
|
||||
$push: { learnedWords: word }
|
||||
$addToSet: { learnedWords: word }
|
||||
},
|
||||
{
|
||||
upsert: true
|
||||
|
||||
@@ -27,18 +27,37 @@ const unlearnWord = word =>
|
||||
})
|
||||
})
|
||||
|
||||
const getDict = () =>
|
||||
request.get({
|
||||
url: `/user/${USER_ID}`
|
||||
})
|
||||
|
||||
const deleteDict = () =>
|
||||
request.del({
|
||||
url: `/user/${USER_ID}`
|
||||
})
|
||||
|
||||
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')
|
||||
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)
|
||||
expect(responseBody.length).to.equals(1)
|
||||
})
|
||||
|
||||
it('should return no misspellings after a word is learnt', async function() {
|
||||
const response = await checkWord(['abv'])
|
||||
const responseBody = JSON.parse(response.body)
|
||||
expect(responseBody.misspellings.length).to.equals(1)
|
||||
@@ -50,7 +69,7 @@ describe('learning words', function() {
|
||||
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 deleteDict()
|
||||
|
||||
@@ -61,12 +80,12 @@ describe('learning 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')
|
||||
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')
|
||||
|
||||
const response = await checkWord(['abv'])
|
||||
|
||||
@@ -51,7 +51,7 @@ describe('LearnedWordsManager', function() {
|
||||
token: this.token
|
||||
},
|
||||
{
|
||||
$push: { learnedWords: this.word }
|
||||
$addToSet: { learnedWords: this.word }
|
||||
},
|
||||
{
|
||||
upsert: true
|
||||
|
||||
Reference in New Issue
Block a user