Archived
1
0
Fork 0

Reorganise test

This commit is contained in:
Ethanell 2020-08-25 17:53:21 +02:00
parent 39b847c79e
commit 43227d42ad
2 changed files with 434 additions and 424 deletions

View file

@ -17,8 +17,8 @@ async function databaseExit(models) {
delete require.cache[require.resolve("../models")]; delete require.cache[require.resolve("../models")];
} }
describe("Database objects tests", () => {
describe("Database Department tests", () => { describe("Database Department tests", () => {
let models; let models;
before(async () => { before(async () => {
@ -39,9 +39,9 @@ describe("Database Department tests", () => {
await models.Department.create({name: "TestDepartment"}); await models.Department.create({name: "TestDepartment"});
return expect(models.Department.create({name: "TestDepartment"})).to.be.rejectedWith(models.Sequelize.ValidationError); return expect(models.Department.create({name: "TestDepartment"})).to.be.rejectedWith(models.Sequelize.ValidationError);
}); });
}); });
describe("Database Sandwich tests", () => { describe("Database Sandwich tests", () => {
let models; let models;
before(async () => { before(async () => {
@ -60,11 +60,14 @@ describe("Database Sandwich tests", () => {
}); });
it("Sandwich validation", async () => { it("Sandwich validation", async () => {
await models.Sandwich.create({name: "TestSandwich", price: 1.5}); await models.Sandwich.create({name: "TestSandwich", price: 1.5});
return expect(models.Sandwich.create({name: "TestSandwich", price: 1.5})).to.be.rejectedWith(models.Sequelize.ValidationError); return expect(models.Sandwich.create({
name: "TestSandwich",
price: 1.5
})).to.be.rejectedWith(models.Sequelize.ValidationError);
});
}); });
});
describe("Database User test", () => { describe("Database User test", () => {
let models; let models;
before(async () => { before(async () => {
@ -94,7 +97,8 @@ describe("Database User test", () => {
email: "test@test.fr", email: "test@test.fr",
firstName: "Test", firstName: "Test",
lastName: "Test", lastName: "Test",
passwordHash: testPassword}); passwordHash: testPassword
});
expect(testUser.checkPassword(testPassword)).to.be.equal(true); expect(testUser.checkPassword(testPassword)).to.be.equal(true);
}); });
it("User validation", async () => { it("User validation", async () => {
@ -170,9 +174,9 @@ describe("Database User test", () => {
expect(testUser.Department).to.be.instanceOf(models.Department); expect(testUser.Department).to.be.instanceOf(models.Department);
expect(testUser.Department.name).to.be.equal(testDepartment.name); expect(testUser.Department.name).to.be.equal(testDepartment.name);
}); });
}); });
describe("Database Order tests", () => { describe("Database Order tests", () => {
let models; let models;
before(async () => { before(async () => {
@ -194,7 +198,7 @@ describe("Database Order tests", () => {
})).to.be.instanceOf(models.Order); })).to.be.instanceOf(models.Order);
}); });
it("Order associations", async () => { it("Order associations", async () => {
let testOrder = await models.Order.create({firstName: "Test", lastName: "Test", price: 1.5, }, let testOrder = await models.Order.create({firstName: "Test", lastName: "Test", price: 1.5,},
{include: [models.Department, models.Sandwich, models.User]}); {include: [models.Department, models.Sandwich, models.User]});
let testDepartment = await models.Department.create({name: "TestDepartment"}); let testDepartment = await models.Department.create({name: "TestDepartment"});
let testSandwich = await models.Sandwich.create({name: "TestSandwich", price: 1.5}); let testSandwich = await models.Sandwich.create({name: "TestSandwich", price: 1.5});
@ -203,7 +207,8 @@ describe("Database Order tests", () => {
email: "test@test.fr", email: "test@test.fr",
firstName: "Test", firstName: "Test",
lastName: "Test", lastName: "Test",
passwordHash: "test"}); passwordHash: "test"
});
await testOrder.setDepartment(testDepartment); await testOrder.setDepartment(testDepartment);
await testOrder.reload(); await testOrder.reload();
@ -220,9 +225,9 @@ describe("Database Order tests", () => {
expect(testOrder.User).to.be.instanceOf(models.User); expect(testOrder.User).to.be.instanceOf(models.User);
expect(testOrder.User.username).to.be.equal(testUser.username); expect(testOrder.User.username).to.be.equal(testUser.username);
}); });
}); });
describe("Database Data tests", () => { describe("Database Data tests", () => {
let models; let models;
before(async () => { before(async () => {
@ -249,4 +254,5 @@ describe("Database Data tests", () => {
value: "test" value: "test"
})).to.be.rejectedWith(models.Sequelize.ValidationError); })).to.be.rejectedWith(models.Sequelize.ValidationError);
}) })
});
}); });

View file

@ -39,7 +39,8 @@ async function getLoginAgent(app) {
} }
describe("Public pages test", () => { describe("Pages tests", () => {
describe("Public pages test", () => {
let app; let app;
let models; let models;
@ -145,9 +146,9 @@ describe("Public pages test", () => {
.get("/foo/bar") .get("/foo/bar")
.expect(404, done); .expect(404, done);
}); });
}); });
describe("Global logged user pages", () => { describe("Global logged user pages", () => {
let app; let app;
let models; let models;
@ -155,7 +156,7 @@ describe("Global logged user pages", () => {
[app, models] = await setup(); [app, models] = await setup();
await createTestUser(models); await createTestUser(models);
}); });
after( () => { after(() => {
return clean; return clean;
}); });
@ -199,14 +200,15 @@ describe("Global logged user pages", () => {
.get("/profile") .get("/profile")
.expect(200); .expect(200);
}); });
}); });
for (let [p, a] of Object.entries({ describe("Permissions pages tests", () => {
for (let [p, a] of Object.entries({
0: [403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403], 0: [403, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403],
1: [200, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403], 1: [200, 403, 403, 403, 403, 403, 403, 403, 403, 403, 403],
2: [200, 200, 403, 403, 403, 403, 403, 403, 403, 403, 403], 2: [200, 200, 403, 403, 403, 403, 403, 403, 403, 403, 403],
3: [200, 200, 200, 200, 200, 200, 200, 400, 200, 200, 400] 3: [200, 200, 200, 200, 200, 200, 200, 400, 200, 200, 400]
})) }))
describe(`Permission ${p} pages`, () => { describe(`Permission ${p} pages`, () => {
let app; let app;
let models; let models;
@ -215,7 +217,7 @@ for (let [p, a] of Object.entries({
[app, models] = await setup(); [app, models] = await setup();
await createTestUser(models, p); await createTestUser(models, p);
}); });
after( () => { after(() => {
return clean; return clean;
}); });
@ -275,3 +277,5 @@ for (let [p, a] of Object.entries({
.expect(a[10]) .expect(a[10])
}); });
}); });
});
});