From 2b09398cccb3bc195600a335ffbbc4b3817ec6af Mon Sep 17 00:00:00 2001 From: Sebastian <sebastian.mihalache@thinslices.com> Date: Fri, 13 Apr 2018 11:05:40 +0300 Subject: [PATCH] feat(component-invite): add get test --- .../tests/collectionsInvitations/get.test.js | 172 +++++++++--------- 1 file changed, 81 insertions(+), 91 deletions(-) diff --git a/packages/component-invite/src/tests/collectionsInvitations/get.test.js b/packages/component-invite/src/tests/collectionsInvitations/get.test.js index 7fe5d99ae..b594ef526 100644 --- a/packages/component-invite/src/tests/collectionsInvitations/get.test.js +++ b/packages/component-invite/src/tests/collectionsInvitations/get.test.js @@ -1,109 +1,99 @@ process.env.NODE_TLS_REJECT_UNAUTHORIZED = '0' process.env.SUPPRESS_NO_CONFIG_WARNING = true -// const httpMocks = require('node-mocks-http') -// const fixtures = require('./../fixtures/fixtures') -// const Model = require('./../helpers/Model') -// const cloneDeep = require('lodash/cloneDeep') +const httpMocks = require('node-mocks-http') +const fixtures = require('./../fixtures/fixtures') +const Model = require('./../helpers/Model') +const cloneDeep = require('lodash/cloneDeep') -// const getPath = '../../routes/collectionsInvitations/get' +const getPath = '../../routes/collectionsInvitations/get' describe('Get collection invitations route handler', () => { - // let testFixtures = {} - // beforeEach(() => { - // testFixtures = cloneDeep(fixtures) - // }) + let testFixtures = {} + beforeEach(() => { + testFixtures = cloneDeep(fixtures) + }) it('should return success when the request data is correct', async () => { - // const { editorInChief, handlingEditor } = testFixtures.users - // const { collection } = testFixtures.collections - // const req = httpMocks.createRequest() - // req.query = { - // role: 'handlingEditor', - // userId: handlingEditor.id, - // } - // req.params.collectionId = collection.id - // req.user = editorInChief.id - // const res = httpMocks.createResponse() - // const models = Model.build() - // await require(getPath)(models)(req, res) - - // expect(res.statusCode).toBe(200) - // const data = JSON.parse(res._getData()) - // expect(data.length).toBeGreaterThan(0) + const { editorInChief, handlingEditor } = testFixtures.users + const { collection } = testFixtures.collections + const req = httpMocks.createRequest() + req.query = { + role: 'handlingEditor', + userId: handlingEditor.id, + } + req.params.collectionId = collection.id + req.user = editorInChief.id + const res = httpMocks.createResponse() + const models = Model.build() + await require(getPath)(models)(req, res) - expect(true).toBeTruthy() + expect(res.statusCode).toBe(200) + const data = JSON.parse(res._getData()) + expect(data.length).toBeGreaterThan(0) }) it('should return an error when parameters are missing', async () => { - // const { editorInChief } = testFixtures.users - // const req = httpMocks.createRequest() - // req.query = {} - // req.user = editorInChief.id - // const res = httpMocks.createResponse() - // const models = Model.build() - // await require(getPath)(models)(req, res) - // expect(res.statusCode).toBe(400) - // const data = JSON.parse(res._getData()) - // expect(data.error).toEqual('Role is required') - - expect(true).toBeTruthy() + const { editorInChief } = testFixtures.users + const req = httpMocks.createRequest() + req.query = {} + req.user = editorInChief.id + const res = httpMocks.createResponse() + const models = Model.build() + await require(getPath)(models)(req, res) + expect(res.statusCode).toBe(400) + const data = JSON.parse(res._getData()) + expect(data.error).toEqual('Role is required') }) it('should return an error when the collection does not exist', async () => { - // const { editorInChief, handlingEditor } = testFixtures.users + const { editorInChief, handlingEditor } = testFixtures.users - // const req = httpMocks.createRequest() - // req.query = { - // role: 'handlingEditor', - // userId: handlingEditor.id, - // } - // req.params.collectionId = 'invalid-id' - // req.user = editorInChief.id - // const res = httpMocks.createResponse() - // const models = Model.build() - // await require(getPath)(models)(req, res) - // expect(res.statusCode).toBe(404) - // const data = JSON.parse(res._getData()) - // expect(data.error).toEqual('collection not found') - - expect(true).toBeTruthy() + const req = httpMocks.createRequest() + req.query = { + role: 'handlingEditor', + userId: handlingEditor.id, + } + req.params.collectionId = 'invalid-id' + req.user = editorInChief.id + const res = httpMocks.createResponse() + const models = Model.build() + await require(getPath)(models)(req, res) + expect(res.statusCode).toBe(404) + const data = JSON.parse(res._getData()) + expect(data.error).toEqual('collection not found') }) it('should return an error when the role is invalid', async () => { - // const { editorInChief, handlingEditor } = testFixtures.users - // const { collection } = testFixtures.collections - // const req = httpMocks.createRequest() - // req.query = { - // role: 'invalidRole', - // userId: handlingEditor.id, - // } - // req.params.collectionId = collection.id - // req.user = editorInChief.id - // const res = httpMocks.createResponse() - // const models = Model.build() - // await require(getPath)(models)(req, res) - // expect(res.statusCode).toBe(400) - // const data = JSON.parse(res._getData()) - // expect(data.error).toEqual(`Role ${req.query.role} is invalid`) - - expect(true).toBeTruthy() + const { editorInChief, handlingEditor } = testFixtures.users + const { collection } = testFixtures.collections + const req = httpMocks.createRequest() + req.query = { + role: 'invalidRole', + userId: handlingEditor.id, + } + req.params.collectionId = collection.id + req.user = editorInChief.id + const res = httpMocks.createResponse() + const models = Model.build() + await require(getPath)(models)(req, res) + expect(res.statusCode).toBe(400) + const data = JSON.parse(res._getData()) + expect(data.error).toEqual(`Role ${req.query.role} is invalid`) }) it('should return an error when the collection does not have a the requested role team', async () => { - // const { editorInChief, handlingEditor } = testFixtures.users - // const { collection } = testFixtures.collections - // const req = httpMocks.createRequest() - // req.query = { - // role: 'reviewer', - // userId: handlingEditor.id, - // } - // delete collection.invitations - // req.params.collectionId = collection.id - // req.user = editorInChief.id - // const res = httpMocks.createResponse() - // const models = Model.build() - // await require(getPath)(models)(req, res) - // expect(res.statusCode).toBe(400) - // const data = JSON.parse(res._getData()) - // expect(data.error).toEqual( - // `The requested collection does not have a ${req.query.role} Team`, - // ) - - expect(true).toBeTruthy() + const { editorInChief, handlingEditor } = testFixtures.users + const { collection } = testFixtures.collections + const req = httpMocks.createRequest() + req.query = { + role: 'reviewer', + userId: handlingEditor.id, + } + delete collection.invitations + req.params.collectionId = collection.id + req.user = editorInChief.id + const res = httpMocks.createResponse() + const models = Model.build() + await require(getPath)(models)(req, res) + expect(res.statusCode).toBe(400) + const data = JSON.parse(res._getData()) + expect(data.error).toEqual( + `The requested collection does not have a ${req.query.role} Team`, + ) }) }) -- GitLab