Refactor Tags tests to use await syntax

This commit is contained in:
Georgi Gardev
2016-01-12 15:21:24 +02:00
parent f235010536
commit ddd0709b12
5 changed files with 62 additions and 87 deletions
@@ -4,30 +4,25 @@ import {
describe('DELETE /tags/:tagId', () => {
let user;
let tagName = 'Tag 1';
before(() => {
return generateUser().then((generatedUser) => {
user = generatedUser;
});
before(async () => {
user = await generateUser();
});
it('deletes a tag given it\'s id', () => {
let length;
let tag;
it('deletes a tag given it\'s id', async () => {
let tag = await user.post('/tags', {name: tagName});
let tags = await user.get('/tags');
let length = tags.length;
return user.post('/tags', {name: 'Tag 1'})
.then((createdTag) => {
tag = createdTag;
return user.get(`/tags`);
})
.then((tags) => {
length = tags.length;
return user.del(`/tags/${tag._id}`);
})
.then(() => user.get(`/tags`))
.then((tags) => {
expect(tags.length).to.equal(length - 1);
expect(tags[tags.length - 1].name).to.not.equal('Tag 1');
await user.del(`/tags/${tag._id}`);
tags = await user.get('/tags');
let tagNames = tags.map((t) => {
return t.name;
});
expect(tags.length).to.equal(length - 1);
expect(tagNames).to.not.include(tagName);
});
});
+13 -13
View File
@@ -4,21 +4,21 @@ import {
describe('GET /tags', () => {
let user;
let tagName1 = 'Tag 1';
let tagName2 = 'Tag 2';
before(() => {
return generateUser().then((generatedUser) => {
user = generatedUser;
});
before(async () => {
user = await generateUser();
});
it('returns all user\'s tags', () => {
return user.post('/tags', {name: 'Tag 1'})
.then(() => user.post('/tags', {name: 'Tag 2'}))
.then(() => user.get('/tags'))
.then((tags) => {
expect(tags.length).to.equal(2 + 3); // + 3 because 1 is a default task
expect(tags[tags.length - 2].name).to.equal('Tag 1');
expect(tags[tags.length - 1].name).to.equal('Tag 2');
});
it('returns all user\'s tags', async () => {
await user.post('/tags', {name: tagName1});
await user.post('/tags', {name: tagName2});
let tags = await user.get('/tags');
expect(tags.length).to.equal(2 + 3); // + 3 because 1 is a default task
expect(tags[tags.length - 2].name).to.equal(tagName1);
expect(tags[tags.length - 1].name).to.equal(tagName2);
});
});
@@ -5,22 +5,14 @@ import {
describe('GET /tags/:tagId', () => {
let user;
before(() => {
return generateUser().then((generatedUser) => {
user = generatedUser;
});
before(async () => {
user = await generateUser();
});
it('returns a tag given it\'s id', () => {
let createdTag;
it('returns a tag given it\'s id', async () => {
let createdTag = await user.post('/tags', {name: 'Tag 1'});
let tag = await user.get(`/tags/${createdTag._id}`);
return user.post('/tags', {name: 'Tag 1'})
.then((tag) => {
createdTag = tag;
return user.get(`/tags/${createdTag._id}`);
})
.then((tag) => {
expect(tag).to.deep.equal(createdTag);
});
expect(tag).to.deep.equal(createdTag);
});
});
+12 -19
View File
@@ -4,29 +4,22 @@ import {
describe('POST /tags', () => {
let user;
let tagName = 'Tag 1';
before(() => {
return generateUser().then((generatedUser) => {
user = generatedUser;
});
before(async () => {
user = await generateUser();
});
it('creates a tag correctly', () => {
let createdTag;
return user.post('/tags', {
name: 'Tag 1',
it('creates a tag correctly', async () => {
let createdTag = await user.post('/tags', {
name: tagName,
ignored: false,
}).then((tag) => {
createdTag = tag;
expect(tag.name).to.equal('Tag 1');
expect(tag.ignored).to.be.a('undefined');
return user.get(`/tags/${createdTag._id}`);
})
.then((tag) => {
expect(tag).to.deep.equal(createdTag);
});
let tag = await user.get(`/tags/${createdTag._id}`);
expect(tag.name).to.equal(tagName);
expect(tag.ignored).to.be.undefined;
expect(tag).to.deep.equal(createdTag);
});
});
@@ -4,30 +4,25 @@ import {
describe('PUT /tags/:tagId', () => {
let user;
let updatedTagName = 'Tag updated';
before(() => {
return generateUser().then((generatedUser) => {
user = generatedUser;
});
before(async () => {
user = await generateUser();
});
it('updates a tag given it\'s id', () => {
return user.post('/tags', {name: 'Tag 1'})
.then((createdTag) => {
return user.put(`/tags/${createdTag._id}`, {
name: 'Tag updated',
ignored: true,
});
})
.then((updatedTag) => {
expect(updatedTag.name).to.equal('Tag updated');
expect(updatedTag.ignored).to.be.a('undefined');
return user.get(`/tags/${updatedTag._id}`);
})
.then((tag) => {
expect(tag.name).to.equal('Tag updated');
expect(tag.ignored).to.be.a('undefined');
it('updates a tag given it\'s id', async () => {
let createdTag = await user.post('/tags', {name: 'Tag 1'});
let updatedTag = await user.put(`/tags/${createdTag._id}`, {
name: updatedTagName,
ignored: true,
});
createdTag = await user.get(`/tags/${updatedTag._id}`);
expect(updatedTag.name).to.equal(updatedTagName);
expect(updatedTag.ignored).to.be.undefined;
expect(createdTag.name).to.equal(updatedTagName);
expect(createdTag.ignored).to.be.undefined;
});
});