Skip to content

Commit

Permalink
fix: incomplete test fixes
Browse files Browse the repository at this point in the history
  • Loading branch information
gwynndp committed Feb 5, 2022
1 parent fbf0b01 commit e73b5fa
Show file tree
Hide file tree
Showing 6 changed files with 127 additions and 85 deletions.
1 change: 1 addition & 0 deletions __tests__/api-tests/seed-data-creation.js
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ const stakeholderOne = Object.freeze({
owner_id: uuid(),
organization_id: 5000000,
});

const stakeholderTwo = Object.freeze({
id: uuid(),
type: 'type',
Expand Down
92 changes: 42 additions & 50 deletions __tests__/api-tests/stakeholder-api.spec.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,17 +4,18 @@ const { expect } = require('chai');
const server = require('../../server/app');
const { stakeholderOne, stakeholderTwo } = require('./seed-data-creation');

describe.skip('Stakeholder API tests.', () => {
describe('Stakeholder API tests.', () => {
describe('Stakeholder GET', () => {
it(`Should raise validation error with error code 422 -- 'limit' query parameter should be an integer `, function (done) {
request(server)
.get(`/`)
.get(`/stakeholders`)
.query({
limit: 8.965,
})
.set('Accept', 'application/json')
.expect(422)
.end(function (err, res) {
console.log('res.body.message ----------> ', res.body, err);
expect(res.body.message).to.eql('"limit" must be an integer');
if (err) return done(err);
return done();
Expand All @@ -23,13 +24,14 @@ describe.skip('Stakeholder API tests.', () => {

it(`Should raise validation error with error code 422 -- 'limit' query parameter should be greater than 0 `, function (done) {
request(server)
.get(`/`)
.get(`/stakeholders`)
.query({
limit: 0,
})
.set('Accept', 'application/json')
.expect(422)
.end(function (err, res) {
console.log('res.body.message ----------> ', res.body);
expect(res.body.message).to.eql('"limit" must be greater than 0');
if (err) return done(err);
return done();
Expand All @@ -38,13 +40,14 @@ describe.skip('Stakeholder API tests.', () => {

it(`Should raise validation error with error code 422 -- 'limit' query parameter should be less than 101 `, function (done) {
request(server)
.get(`/`)
.get(`/stakeholders`)
.query({
limit: 101,
})
.set('Accept', 'application/json')
.expect(422)
.end(function (err, res) {
console.log('res.body.message ----------> ', res.body);
expect(res.body.message).to.eql('"limit" must be less than 101');
if (err) return done(err);
return done();
Expand All @@ -53,13 +56,14 @@ describe.skip('Stakeholder API tests.', () => {

it(`Should raise validation error with error code 422 -- 'offset' query parameter should be an integer `, function (done) {
request(server)
.get(`/`)
.get(`/stakeholders`)
.query({
offset: 4.45,
})
.set('Accept', 'application/json')
.expect(422)
.end(function (err, res) {
console.log('res.body.message ----------> ', res.body);
expect(res.body.message).to.eql('"offset" must be an integer');
if (err) return done(err);
return done();
Expand All @@ -68,54 +72,57 @@ describe.skip('Stakeholder API tests.', () => {

it(`Should raise validation error with error code 422 -- 'offset' query parameter should be at least 0 `, function (done) {
request(server)
.get(`/`)
.get(`/stakeholders`)
.query({
offset: -1,
})
.set('Accept', 'application/json')
.expect(422)
.end(function (err, res) {
console.log('res.body.message ----------> ', res.body);
expect(res.body.message).to.eql('"offset" must be greater than -1');
if (err) return done(err);
return done();
});
});

it(`Should raise validation error with error code 422 -- 'stakeholder_uuid' should be a uuid `, function (done) {
it(`Should raise validation error with error code 422 -- 'id' should be a uuid `, function (done) {
request(server)
.get(`/`)
.get(`/stakeholders`)
.query({
stakeholder_uuid: 'stakeholder_uuid',
id: 'stakeholder_uuid',
})
.set('Accept', 'application/json')
.expect(422)
.end(function (err, res) {
console.log('res.body.message ----------> ', res.body);
expect(res.body.message).to.eql(
'"stakeholder_uuid" must be a valid GUID',
'"id" must be a valid GUID',
);
if (err) return done(err);
return done();
});
});

it(`Should raise validation error with error code 422 -- 'id' query parameter should be an integer `, function (done) {
it(`Should raise validation error with error code 422 -- 'owner_id' query parameter should be a valid uuid `, function (done) {
request(server)
.get(`/`)
.get(`/stakeholders`)
.query({
id: 8.965,
owner_id: 8.965,
})
.set('Accept', 'application/json')
.expect(422)
.end(function (err, res) {
expect(res.body.message).to.eql('"id" must be an integer');
console.log('res.body.message ----------> ', res.body);
expect(res.body.message).to.eql('"owner_id" must be a valid GUID');
if (err) return done(err);
return done();
});
});

it(`Should raise validation error with error code 422 -- 'organization_id' query parameter should be an integer `, function (done) {
request(server)
.get(`/`)
.get(`/stakeholders`)
.query({
organization_id: 8.965,
})
Expand All @@ -132,8 +139,8 @@ describe.skip('Stakeholder API tests.', () => {

it(`Should get stakeholder successfully -- with limit `, function (done) {
request(server)
.get(`/`)
.query({ limit: 2 })
.get(`/stakeholders`)
.query({ limit: 2, first_name: 'first_name' })
.set('Accept', 'application/json')
.expect(200)
.end(function (err, res) {
Expand All @@ -156,49 +163,30 @@ describe.skip('Stakeholder API tests.', () => {
'last_name',
'email',
'phone',
// 'pwd_reset_required',
'pwd_reset_required',
'website',
// 'wallet',
// 'password',
// 'salt',
// 'active_contract_id',
// 'offering_pay_to_plant',
// 'tree_validation_contract_id',
'wallet',
'password',
'salt',
'active_contract_id',
'offering_pay_to_plant',
'tree_validation_contract_id',
'logo_url',
'map',
'stakeholder_uuid',
'organization_id',
'owner_id',
'children',
'parents'
]);
}

return done();
});
});

it(`Should get stakeholder successfully -- with query stakeholder_uuid `, function (done) {
request(server)
.get(`/`)
.query({ stakeholder_uuid: stakeholderTwo.stakeholder_uuid })
.set('Accept', 'application/json')
.expect(200)
.end(function (err, res) {
if (err) return done(err);
expect(res.body).to.have.keys([
'stakeholders',
'links',
'totalCount',
]);
expect(res.body.links).to.have.keys(['prev', 'next']);
expect(res.body.links.prev).to.eq(null);
expect(res.body.totalCount).to.eq(1);
expect(res.body.stakeholders[0]).to.eql({ ...stakeholderTwo });
expect(res.body.stakeholders).to.have.lengthOf(1);
return done();
});
});

it(`Should get stakeholder successfully -- with query id `, function (done) {
request(server)
.get(`/`)
.get(`/stakeholders`)
.query({ id: stakeholderOne.id })
.set('Accept', 'application/json')
.expect(200)
Expand All @@ -212,8 +200,12 @@ describe.skip('Stakeholder API tests.', () => {
expect(res.body.links).to.have.keys(['prev', 'next']);
expect(res.body.links.prev).to.eq(null);
expect(res.body.totalCount).to.eq(1);
expect(res.body.stakeholders[0]).to.eql({ ...stakeholderOne });
expect(res.body.stakeholders).to.have.lengthOf(1);
expect(res.body.stakeholders[0]).to.eql({
...stakeholderOne,
children: [],
parents: [],
});
expect(res.body.stakeholders).to.have.length(1);
return done();
});
});
Expand Down
5 changes: 2 additions & 3 deletions server/app.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,7 @@ const cors = require('cors');
const log = require('loglevel');
const HttpError = require('./utils/HttpError');
const { sentryDSN } = require('../config/config');
const { errorHandler } = require('./utils/utils');
const helper = require('./utils/utils');
const { handlerWrapper, errorHandler } = require('./utils/utils');
const router = require('./routes');

const app = express();
Expand All @@ -21,7 +20,7 @@ Sentry.init({ dsn: sentryDSN });
* Check request
*/
app.use(
helper.handlerWrapper(async (req, _res, next) => {
handlerWrapper(async (req, _res, next) => {
if (
req.method === 'POST' ||
req.method === 'PATCH' ||
Expand Down
53 changes: 35 additions & 18 deletions server/models/Stakeholder.spec.js
Original file line number Diff line number Diff line change
Expand Up @@ -61,24 +61,33 @@ describe('Stakeholder Model', () => {

describe('getAllStakeholders', () => {
it('should get stakeholders with filter --id', async () => {
const getFilterById = sinon.mock();
const getFilter = sinon.mock();
const getParents = sinon.mock();
const getChildren = sinon.mock();
const getStakeholderByOrganizationId = sinon.mock();
const executeGetStakeholders = getAllStakeholders({
getFilterById,
getStakeholderByOrganizationId,
getFilter,
getParents,
getChildren,
});
getFilterById.resolves({ count: 1, stakeholders: [{ id: 1 }] });
const result = await executeGetStakeholders({
filter: {
where: { id: 1 },
getFilter.resolves({ count: 1, stakeholders: [{ id: 1 }] });
getParents.resolves([]);
getChildren.resolves([]);
const result = await executeGetStakeholders(
{
filter: {
where: { id: 1 },
},
},
});
'/stakeholder',
);
expect(
getFilterById.calledWith(1, {
getFilter.calledWith(1, {
filter: 100,
offset: 0,
}),
);

sinon.assert.notCalled(getStakeholderByOrganizationId);
expect(result.stakeholders).to.have.length(1);
expect(result.totalCount).to.eql(1);
Expand All @@ -87,25 +96,33 @@ describe('Stakeholder Model', () => {

it('should get stakeholders with filter --organization_id', async () => {
const getStakeholderByOrganizationId = sinon.mock();
const getFilterById = sinon.mock();
const getFilter = sinon.mock();
const getParents = sinon.mock();
const getChildren = sinon.mock();
const executeGetStakeholders = getAllStakeholders({
getFilter,
getParents,
getChildren,
getStakeholderByOrganizationId,
getFilterById,
});

getFilter.resolves({ count: 1, stakeholders: [{ id: 1 }] });
getParents.resolves([]);
getChildren.resolves([]);
getStakeholderByOrganizationId.resolves({
totalCount: 1,
stakeholders: [{ id: 1 }],
links: {},
});

getFilterById.resolves({ count: 1, stakeholders: [{ id: 1 }] });

const result = await executeGetStakeholders({
filter: {
where: { organization_id: 1 },
const result = await executeGetStakeholders(
{
filter: {
where: { organization_id: 1 },
},
},
});
'/stakeholder',
);

expect(
getStakeholderByOrganizationId.calledWith(1, {
Expand All @@ -114,7 +131,7 @@ describe('Stakeholder Model', () => {
}),
);
expect(
getFilterById.calledWith(1, {
getFilter.calledWith(1, {
filter: 100,
offset: 0,
}),
Expand Down
Loading

0 comments on commit e73b5fa

Please sign in to comment.