Updated test suite for new models

This commit is contained in:
Ceferino Patino 2022-04-02 23:39:59 -05:00
commit 31053b2df6
15 changed files with 90 additions and 99 deletions

View file

@ -79,21 +79,21 @@ describe('CreateUser', function () {
await supertest(app)
.post(`/api/auth/register`)
.send({ ...user, password, orgID: org.orgID })
.send({ ...user, password, orgID: org.id })
.expect(200)
.set('Accept', 'application/json')
.expect('Content-Type', /json/)
.then(async (response) => {
const org = await Organization.findByPk(response.body.orgID, {
include: {
association: 'orgMember',
association: 'member',
},
});
expect(response.body.user).toEqual(
expect.objectContaining(user)
);
expect(org.orgMember).toEqual(
expect(org.member).toEqual(
expect.arrayContaining([expect.objectContaining(user)])
);
});

View file

@ -22,20 +22,20 @@ describe('GetOwnedOrgs', function () {
});
const user = await createTestUser('New', 'User', 'password');
const token = await user.createToken({ expires: true });
await user.addMemberOrg(org.orgID);
await user.addMemberOrg(org.id);
await supertest(app)
.get('/api/auth/orgs')
.query({ token: token.tokenID })
.query({ token: token.id })
.send()
.expect(200)
.set('Accept', 'application/json')
.expect('Content-Type', /json/)
.then((response) => {
const data = {
orgID: org.orgID,
id: org.id,
ownerID: org.ownerID,
orgName: org.orgName,
name: org.name,
};
expect(response.body).toEqual(

View file

@ -17,20 +17,20 @@ describe('GetOwnedOrgs', function () {
test('[200] Retrieved owned orgs', async () => {
const user = await createTestUser('Test', 'User', 'password');
const token = await user.createToken({ expires: true });
var org = await user.createOwnedOrg({ orgName: 'Org' });
const org = await user.createOwnedOrg({ name: 'Org' });
await supertest(app)
.get('/api/auth')
.query({ token: token.tokenID })
.query({ token: token.id })
.send()
.expect(200)
.set('Accept', 'application/json')
.expect('Content-Type', /json/)
.then((response) => {
const data = {
orgID: org.orgID,
id: org.id,
ownerID: org.ownerID,
orgName: org.orgName,
name: org.name,
};
expect(response.body).toEqual(

View file

@ -22,9 +22,9 @@ describe('GetUserDetails', function () {
});
await supertest(app)
.get(`/api/auth/${token.userID}`)
.get(`/api/auth/${token.ownerID}`)
.query({
token: token.tokenID,
token: token.id,
})
.send()
.expect(200)
@ -50,7 +50,7 @@ describe('GetUserDetails', function () {
await supertest(app)
.get(`/api/auth/randomString`)
.query({ token: token.tokenID })
.query({ token: token.id })
.send()
.expect(500, 'No user with that ID exists.')
.set('Accept', 'text/html')
@ -66,8 +66,8 @@ describe('GetUserDetails', function () {
const user = await createTestUser('New', 'User', 'password');
await supertest(app)
.get(`/api/auth/${user.userID}`)
.query({ token: token.tokenID })
.get(`/api/auth/${user.id}`)
.query({ token: token.id })
.send()
.expect(403, 'You do not have contact with this user.')
.set('Accept', 'text/html')
@ -82,7 +82,7 @@ describe('GetUserDetails', function () {
});
await supertest(app)
.get(`/api/auth/${token.userID}`)
.get(`/api/auth/${token.ownerID}`)
.query()
.send()
.expect(403, 'Unauthorized user')
@ -98,7 +98,7 @@ describe('GetUserDetails', function () {
});
await supertest(app)
.get(`/api/auth/${token.userID}`)
.get(`/api/auth/${token.ownerID}`)
.query({ token: 'randomString' })
.send()
.expect(511, 'Session expired')

View file

@ -27,8 +27,8 @@ describe('Login', function () {
.then(async (response) => {
const token = await Token.findByPk(response.body.token);
expect(response.body.token).toEqual(token.tokenID);
expect(response.body.userID).toEqual(token.userID);
expect(response.body.token).toEqual(token.id);
expect(response.body.userID).toEqual(token.ownerID);
});
});

View file

@ -23,7 +23,7 @@ describe('Logout', function () {
await supertest(app)
.post('/api/auth/logout')
.send({ token: token.tokenID })
.send({ token: token.id })
.expect(200, 'User logged out')
.set('Accept', 'text/html')
.expect('Content-Type', /text/);

View file

@ -22,7 +22,7 @@ describe('ResetPassword', function () {
});
await supertest(app)
.patch(`/api/auth/reset-password/${resetRequest.reqID}`)
.patch(`/api/auth/reset-password/${resetRequest.id}`)
.send({
password: 'newPassword',
})

View file

@ -27,7 +27,7 @@ describe('UpdateUserDetails', function () {
firstName: 'New',
lastName: 'User',
email: 'new.user@test.com',
token: token.tokenID,
token: token.id,
})
.expect(200)
.set('Accept', 'application/json')
@ -54,7 +54,7 @@ describe('UpdateUserDetails', function () {
.patch('/api/auth/update')
.send({
email: 'new.user@test.com',
token: token.tokenID,
token: token.id,
})
.expect(500, 'A user with that email already exists.')
.set('Accept', 'text/html')

View file

@ -24,13 +24,13 @@ describe('AddOrgMember', function () {
const token = await user.createToken();
await supertest(app)
.post(`/api/org/${org.orgID}/add`)
.send({ token: token.tokenID })
.post(`/api/org/${org.id}/add`)
.send({ token: token.id })
.expect(200, 'User added to organization.')
.set('Accept', 'text/html')
.expect('Content-Type', /text/)
.then(async () => {
const members = await org.getOrgMember();
const members = await org.getMember();
expect(members).toEqual(
expect.arrayContaining([
@ -49,7 +49,7 @@ describe('AddOrgMember', function () {
await supertest(app)
.post(`/api/org/randomString/add`)
.send({ token: token.tokenID })
.send({ token: token.id })
.expect(404, 'No organization exists with that id.')
.set('Accept', 'text/html')
.expect('Content-Type', /text/);

View file

@ -20,15 +20,15 @@ describe('GetOwnedOrgs', function () {
await supertest(app)
.post('/api/org/create')
.send({ token: token.tokenID, orgName: 'Org' })
.send({ token: token.id, orgName: 'Org' })
.expect(200)
.set('Accept', 'application/json')
.expect('Content-Type', /json/)
.then((response) => {
expect(response.body).toEqual(
expect.objectContaining({
ownerID: user.userID,
orgName: 'Org',
ownerID: user.id,
name: 'Org',
})
);
});
@ -40,7 +40,7 @@ describe('GetOwnedOrgs', function () {
await supertest(app)
.post('/api/org/create')
.send({ token: token.tokenID })
.send({ token: token.id })
.expect(400, 'Form missing necessary fields')
.set('Accept', 'text/html')
.expect('Content-Type', /html/);
@ -50,12 +50,12 @@ describe('GetOwnedOrgs', function () {
var user = await createTestUser('Test', 'User', 'password');
const token = await user.createToken();
await user.createOwnedOrg({
orgName: 'Org',
name: 'Org',
});
await supertest(app)
.post('/api/org/create')
.send({ token: token.tokenID, orgName: 'Org' })
.send({ token: token.id, orgName: 'Org' })
.expect(
500,
'This user already has an organization with this name.'

View file

@ -4,7 +4,7 @@ var { sequelize, Organization } = require('../../db/models/index');
const app = require('../../app');
const { createTestUser, createTestOrg } = require('../utils');
describe('GetOwnedOrgs', function () {
describe('DeleteOrg', function () {
beforeEach(async () => {
try {
await sequelize.authenticate();
@ -16,38 +16,38 @@ describe('GetOwnedOrgs', function () {
test('[200] Organization deleted', async () => {
const user = await createTestUser('Test', 'User', 'password');
var org = await user.createOwnedOrg({
orgName: 'Org',
const org = await user.createOwnedOrg({
name: 'Org',
});
const token = await user.createToken();
await supertest(app)
.delete('/api/org/delete')
.query({
token: token.tokenID,
orgID: org.orgID,
token: token.id,
orgID: org.id,
})
.send()
.expect(200, 'Organization deleted')
.set('Accept', 'text/html')
.expect('Content-Type', /text/)
.then(async () => {
const data = await Organization.findByPk(org.orgID);
const data = await Organization.findByPk(org.id);
expect(data).toEqual(null);
});
});
test('[200] No organization deleted with that ID', async () => {
const user = await createTestUser('Test', 'User', 'password');
var org = await user.createOwnedOrg({
orgName: 'Org',
const org = await user.createOwnedOrg({
name: 'Org',
});
const token = await user.createToken();
await supertest(app)
.delete('/api/org/delete')
.query({
token: token.tokenID,
token: token.id,
orgID: 'randomString',
})
.send()
@ -55,7 +55,7 @@ describe('GetOwnedOrgs', function () {
.set('Accept', 'text/html')
.expect('Content-Type', /text/)
.then(async () => {
const data = await Organization.findByPk(org.orgID);
const data = await Organization.findByPk(org.id);
expect(data.dataValues).toEqual(org.dataValues);
});
});
@ -63,15 +63,15 @@ describe('GetOwnedOrgs', function () {
test('[200] Organization not owned by that user', async () => {
const user = await createTestUser('Test', 'User', 'password');
const newUser = await createTestUser('New', 'User', 'password');
var org = await user.createOwnedOrg({
orgName: 'Org',
const org = await user.createOwnedOrg({
name: 'Org',
});
const token = await newUser.createToken();
await supertest(app)
.delete('/api/org/delete')
.query({
token: token.tokenID,
token: token.id,
orgID: 'randomString',
})
.send()
@ -79,7 +79,7 @@ describe('GetOwnedOrgs', function () {
.set('Accept', 'text/html')
.expect('Content-Type', /text/)
.then(async () => {
const data = await Organization.findByPk(org.orgID);
const data = await Organization.findByPk(org.id);
expect(data.dataValues).toEqual(org.dataValues);
});
});
@ -92,7 +92,7 @@ describe('GetOwnedOrgs', function () {
await supertest(app)
.delete('/api/org/delete')
.query({
token: token.tokenID,
token: token.id,
})
.send()
.expect(400, 'Form missing required fields')

View file

@ -4,7 +4,7 @@ var { sequelize, Organization } = require('../../db/models/index');
const app = require('../../app');
const { createTestUser, createTestOrg } = require('../utils');
describe('GetOwnedOrgs', function () {
describe('GetOrg', function () {
beforeEach(async () => {
try {
await sequelize.authenticate();
@ -17,21 +17,21 @@ describe('GetOwnedOrgs', function () {
test('[200] Organization retrieved', async () => {
const user = await createTestUser('Test', 'User', 'password');
const org = await user.createOwnedOrg({
orgName: 'Org',
name: 'Org',
});
const token = await user.createToken();
await supertest(app)
.get(`/api/org/${org.orgID}`)
.query({ token: token.tokenID })
.get(`/api/org/${org.id}`)
.query({ token: token.id })
.send()
.expect(200)
.set('Accept', 'application/json')
.expect('Content-Type', /json/)
.then((response) => {
const orgData = {
orgName: org.orgName,
orgID: org.orgID,
name: org.name,
id: org.id,
ownerID: org.ownerID,
};
@ -47,7 +47,7 @@ describe('GetOwnedOrgs', function () {
status: true,
})
);
expect(response.body.org.orgOwner).toEqual(
expect(response.body.org.owner).toEqual(
expect.objectContaining(userData)
);
});
@ -59,7 +59,7 @@ describe('GetOwnedOrgs', function () {
await supertest(app)
.get(`/api/org/randomString`)
.query({ token: token.tokenID })
.query({ token: token.id })
.send()
.expect(500, 'There is no organization with this id.')
.set('Accept', 'text/html')
@ -76,8 +76,8 @@ describe('GetOwnedOrgs', function () {
const token = await user.createToken();
await supertest(app)
.get(`/api/org/${org.orgID}`)
.query({ token: token.tokenID })
.get(`/api/org/${org.id}`)
.query({ token: token.id })
.send()
.expect(403, 'You do not know any organizations with this id.')
.set('Accept', 'text/html')
@ -87,11 +87,11 @@ describe('GetOwnedOrgs', function () {
test('[403] Missing token', async () => {
const user = await createTestUser('Test', 'User', 'password');
const org = await user.createOwnedOrg({
orgName: 'Org',
name: 'Org',
});
await supertest(app)
.get(`/api/org/${org.orgID}`)
.get(`/api/org/${org.id}`)
.send()
.expect(403, 'Unauthorized user')
.set('Accept', 'text/html')
@ -101,11 +101,11 @@ describe('GetOwnedOrgs', function () {
test('[511] Token was not found', async () => {
const user = await createTestUser('Test', 'User', 'password');
const org = await user.createOwnedOrg({
orgName: 'Org',
name: 'Org',
});
await supertest(app)
.get(`/api/org/${org.orgID}`)
.get(`/api/org/${org.id}`)
.query({
token: 'randomString',
})

View file

@ -4,7 +4,7 @@ var { sequelize } = require('../../db/models/index');
const app = require('../../app');
const { createTestUser, createTestOrg } = require('../utils');
describe('GetOwnedOrgs', function () {
describe('RemoveOrgMember', function () {
beforeEach(async () => {
try {
await sequelize.authenticate();
@ -18,23 +18,23 @@ describe('GetOwnedOrgs', function () {
const user = await createTestUser('Test', 'User', 'password');
const token = await user.createToken();
const org = await user.createOwnedOrg({
orgName: 'Org',
name: 'Org',
});
const newUser = await createTestUser('New', 'User', 'password');
await org.addOrgMember(newUser.userID);
await org.addMember(newUser.id);
await supertest(app)
.post(`/api/org/${org.orgID}/delete`)
.post(`/api/org/${org.id}/delete`)
.send({
token: token.tokenID,
doomedUsers: [newUser.userID],
token: token.id,
doomedUsers: [newUser.id],
})
.expect(200, 'User(s) removed from organization.')
.set('Accept', 'text/html')
.expect('Content-Type', /text/)
.then(async () => {
const data = await org.getOrgMember();
const data = await org.getMember();
expect(data).toEqual(
expect.not.arrayContaining([
@ -48,17 +48,17 @@ describe('GetOwnedOrgs', function () {
const user = await createTestUser('Test', 'User', 'password');
const token = await user.createToken();
const org = await user.createOwnedOrg({
orgName: 'Org',
name: 'Org',
});
const newUser = await createTestUser('New', 'User', 'password');
await org.addOrgMember(newUser.userID);
await org.addMember(newUser.id);
await supertest(app)
.post(`/api/org/randomString/delete`)
.send({
token: token.tokenID,
doomedUsers: [newUser.userID],
token: token.id,
doomedUsers: [newUser.id],
})
.expect(500, 'No organization exists with that id.')
.set('Accept', 'text/html')
@ -74,13 +74,13 @@ describe('GetOwnedOrgs', function () {
const user = await createTestUser('New', 'User', 'password');
const token = await user.createToken();
await org.addOrgMember(user.userID);
await org.addMember(user.id);
await supertest(app)
.post(`/api/org/${org.orgID}/delete`)
.post(`/api/org/${org.id}/delete`)
.send({
token: token.tokenID,
doomedUsers: [user.userID],
token: token.id,
doomedUsers: [user.id],
})
.expect(403, 'You do not have permission to do that.')
.set('Accept', 'text/html')
@ -95,7 +95,7 @@ describe('GetOwnedOrgs', function () {
});
await supertest(app)
.post(`/api/org/${org.orgID}/delete`)
.post(`/api/org/${org.id}/delete`)
.send()
.expect(403, 'Unauthorized user')
.set('Accept', 'text/html')
@ -110,7 +110,7 @@ describe('GetOwnedOrgs', function () {
});
await supertest(app)
.post(`/api/org/${org.orgID}/delete`)
.post(`/api/org/${org.id}/delete`)
.send({
token: 'randomString',
})

View file

@ -18,14 +18,14 @@ describe('GetOwnedOrgs', function () {
const user = await createTestUser('Test', 'User', 'password');
const token = await user.createToken();
const org = await user.createOwnedOrg({
orgName: 'Org',
name: 'Org',
});
await supertest(app)
.patch('/api/org/update')
.send({
token: token.tokenID,
orgID: org.orgID,
token: token.id,
orgID: org.id,
orgName: 'New Name',
})
.expect(200)
@ -33,8 +33,8 @@ describe('GetOwnedOrgs', function () {
.expect('Content-Type', /json/)
.then((response) => {
const data = {
orgName: 'New Name',
orgID: org.orgID,
name: 'New Name',
id: org.id,
ownerID: org.ownerID,
};
@ -45,14 +45,11 @@ describe('GetOwnedOrgs', function () {
test('[400] Form missing information', async () => {
const user = await createTestUser('Test', 'User', 'password');
const token = await user.createToken();
const org = await user.createOwnedOrg({
orgName: 'Org',
});
await supertest(app)
.patch('/api/org/update')
.send({
token: token.tokenID,
token: token.id,
})
.expect(400, 'Form missing required information.')
.set('Accept', 'text/html')
@ -62,14 +59,11 @@ describe('GetOwnedOrgs', function () {
test('[500] No organization exists with that id', async () => {
const user = await createTestUser('Test', 'User', 'password');
const token = await user.createToken();
const org = await user.createOwnedOrg({
orgName: 'Org',
});
await supertest(app)
.patch('/api/org/update')
.send({
token: token.tokenID,
token: token.id,
orgID: 'randomString',
orgName: 'New Name',
})

View file

@ -18,7 +18,7 @@ async function createTestUser(firstName, lastName, password) {
return await User.create(userInfo);
}
async function createTestOrg(orgName, owner) {
async function createTestOrg(name, owner) {
const hashedPassword = forge.md.sha512
.create()
.update(owner.password)
@ -32,7 +32,7 @@ async function createTestOrg(orgName, owner) {
};
const user = await User.create(userInfo);
const org = await user.createOwnedOrg({ orgName });
const org = await user.createOwnedOrg({ name });
return org;
}
@ -44,7 +44,6 @@ async function createTestToken(owner) {
owner.password
);
return await user.createToken({
userID: user.userID,
expires: true,
});
}
@ -55,9 +54,7 @@ async function createTestResetRequest(owner) {
owner.lastName,
owner.password
);
return await user.createResetRequest({
userID: user.userID,
});
return await user.createResetRequest();
}
module.exports = {