From da154d3ea38467b294f6c432125bbc55dc12ab77 Mon Sep 17 00:00:00 2001 From: Matteo Pagliazzi Date: Mon, 14 Dec 2015 21:56:29 +0100 Subject: [PATCH] tests for tags (missed some files before) --- .../integration/tags/DELETE-tags_id.test.js | 35 ++++++++++++++++++ test/api/v3/integration/tags/GET-tags.test.js | 26 ++++++++++++++ .../v3/integration/tags/GET-tags_id.test.js | 28 +++++++++++++++ .../api/v3/integration/tags/POST-tags.test.js | 32 +++++++++++++++++ .../v3/integration/tags/PUT-tags_id.test.js | 36 +++++++++++++++++++ 5 files changed, 157 insertions(+) create mode 100644 test/api/v3/integration/tags/DELETE-tags_id.test.js create mode 100644 test/api/v3/integration/tags/GET-tags.test.js create mode 100644 test/api/v3/integration/tags/GET-tags_id.test.js create mode 100644 test/api/v3/integration/tags/POST-tags.test.js create mode 100644 test/api/v3/integration/tags/PUT-tags_id.test.js diff --git a/test/api/v3/integration/tags/DELETE-tags_id.test.js b/test/api/v3/integration/tags/DELETE-tags_id.test.js new file mode 100644 index 0000000000..0cf4764679 --- /dev/null +++ b/test/api/v3/integration/tags/DELETE-tags_id.test.js @@ -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'); + }); + }); +}); diff --git a/test/api/v3/integration/tags/GET-tags.test.js b/test/api/v3/integration/tags/GET-tags.test.js new file mode 100644 index 0000000000..bc0439ffb6 --- /dev/null +++ b/test/api/v3/integration/tags/GET-tags.test.js @@ -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'); + }); + }); +}); diff --git a/test/api/v3/integration/tags/GET-tags_id.test.js b/test/api/v3/integration/tags/GET-tags_id.test.js new file mode 100644 index 0000000000..86c63094f3 --- /dev/null +++ b/test/api/v3/integration/tags/GET-tags_id.test.js @@ -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); + }); + }); +}); diff --git a/test/api/v3/integration/tags/POST-tags.test.js b/test/api/v3/integration/tags/POST-tags.test.js new file mode 100644 index 0000000000..0bed7e71f5 --- /dev/null +++ b/test/api/v3/integration/tags/POST-tags.test.js @@ -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); + }); + }); +}); diff --git a/test/api/v3/integration/tags/PUT-tags_id.test.js b/test/api/v3/integration/tags/PUT-tags_id.test.js new file mode 100644 index 0000000000..ace042afa8 --- /dev/null +++ b/test/api/v3/integration/tags/PUT-tags_id.test.js @@ -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'); + }); + }); +});