1
0
Fork 0

🚧 Work on core tests

This commit is contained in:
Joost De Cock 2019-05-31 14:51:59 +02:00
parent 3a9f21e3e1
commit 88622f3514
13 changed files with 54 additions and 14 deletions

View file

@ -1,5 +1,5 @@
let expect = require("chai").expect;
let freesewing = require("./dist/index.js");
let freesewing = require("./dist");
it("Design constructor should return pattern constructor", () => {
let design = new freesewing.Design({
@ -61,3 +61,40 @@ it("Design constructor should load array of plugins", () => {
let pattern = new design();
expect(pattern.hooks.preRender.length).to.equal(2);
});
it("Design constructor should construct basic part order", () => {
let design = new freesewing.Design({
dependencies: { step4: "step3" },
inject: { step4: "step3" },
parts: ["step1", "step2"]
});
let pattern = new design();
expect(pattern.config.draftOrder[0]).to.equal("step3");
expect(pattern.config.draftOrder[1]).to.equal("step4");
expect(pattern.config.draftOrder[2]).to.equal("step1");
expect(pattern.config.draftOrder[3]).to.equal("step2");
});
it("Design constructor should not require depencies for injected parts", () => {
let design = new freesewing.Design({
inject: { step4: "step3" },
parts: ["step1", "step2"]
});
let pattern = new design();
expect(pattern.config.draftOrder[0]).to.equal("step3");
expect(pattern.config.draftOrder[1]).to.equal("step4");
expect(pattern.config.draftOrder[2]).to.equal("step1");
expect(pattern.config.draftOrder[3]).to.equal("step2");
});
it("Design constructor should handle parts and dependencies overlap", () => {
let design = new freesewing.Design({
inject: { step4: "step3" },
parts: ["step1", "step2", "step3"]
});
let pattern = new design();
expect(pattern.config.draftOrder[0]).to.equal("step3");
expect(pattern.config.draftOrder[1]).to.equal("step4");
expect(pattern.config.draftOrder[2]).to.equal("step1");
expect(pattern.config.draftOrder[3]).to.equal("step2");
});