tests for tags (missed some files before)

This commit is contained in:
Matteo Pagliazzi
2015-12-14 21:56:29 +01:00
parent 9864b8a1cb
commit da154d3ea3
5 changed files with 157 additions and 0 deletions
@@ -0,0 +1,35 @@
import {
generateUser,
requester,
} from '../../../../helpers/api-integration.helper';
describe('DELETE /tags/:tagId', () => {
let user, api;
before(() => {
return generateUser().then((generatedUser) => {
user = generatedUser;
api = requester(user);
});
});
it('deletes a tag given it\'s id', () => {
let length;
let tag;
return api.post('/tags', {name: 'Tag 1'})
.then((createdTag) => {
tag = createdTag;
return api.get(`/tags`);
})
.then((tags) => {
length = tags.length;
return api.del(`/tags/${tag._id}`);
})
.then(() => api.get(`/tags`))
.then((tags) => {
expect(tags.length).to.equal(length - 1);
expect(tags[tags.length - 1].name).to.not.equal('Tag 1');
});
});
});
@@ -0,0 +1,26 @@
import {
generateUser,
requester,
} from '../../../../helpers/api-integration.helper';
describe('GET /tags', () => {
let user, api;
before(() => {
return generateUser().then((generatedUser) => {
user = generatedUser;
api = requester(user);
});
});
it('returns all user\'s tags', () => {
return api.post('/tags', {name: 'Tag 1'})
.then(() => api.post('/tags', {name: 'Tag 2'}))
.then(() => api.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');
});
});
});
@@ -0,0 +1,28 @@
import {
generateUser,
requester,
} from '../../../../helpers/api-integration.helper';
describe('GET /tags/:tagId', () => {
let user, api;
before(() => {
return generateUser().then((generatedUser) => {
user = generatedUser;
api = requester(user);
});
});
it('returns a tag given it\'s id', () => {
let createdTag;
return api.post('/tags', {name: 'Tag 1'})
.then((tag) => {
createdTag = tag;
return api.get(`/tags/${createdTag._id}`)
})
.then((tag) => {
expect(tag).to.deep.equal(createdTag);
});
});
});
@@ -0,0 +1,32 @@
import {
generateUser,
requester,
} from '../../../../helpers/api-integration.helper';
describe('POST /tags', () => {
let user, api;
before(() => {
return generateUser().then((generatedUser) => {
user = generatedUser;
api = requester(user);
});
});
it('creates a tag correctly', () => {
let createdTag;
return api.post('/tags', {
name: 'Tag 1',
ignored: false,
}).then((tag) => {
createdTag = tag;
expect(tag.name).to.equal('Tag 1');
expect(tag.ignored).to.be.a('undefined');
return api.get(`/tags/${createdTag._id}`)
})
.then((tag) => {
expect(tag).to.deep.equal(createdTag);
});
});
});
@@ -0,0 +1,36 @@
import {
generateUser,
requester,
} from '../../../../helpers/api-integration.helper';
describe('PUT /tags/:tagId', () => {
let user, api;
before(() => {
return generateUser().then((generatedUser) => {
user = generatedUser;
api = requester(user);
});
});
it('updates a tag given it\'s id', () => {
let length;
return api.post('/tags', {name: 'Tag 1'})
.then((createdTag) => {
return api.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 api.get(`/tags/${updatedTag._id}`);
})
.then((tag) => {
expect(tag.name).to.equal('Tag updated');
expect(tag.ignored).to.be.a('undefined');
});
});
});