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

@ -25,8 +25,6 @@
"module": "dist/index.mjs",
"scripts": {
"clean": "rimraf dist",
"nodebuild": "BABEL_ENV=production rollup -c -o dist/index.js -f cjs",
"modulebuild": "BABEL_ENV=production rollup -c -o dist/index.mjs -f es",
"build": "npm run clean && rollup -c && rollup -c rollup.tests.js",
"testonly": "BABEL_ENV=production mocha tests/*.test.js",
"test": "BABEL_ENV=production nyc -x node_modules -x tests/fixtures -x bin-pack mocha tests/*.test.js",
@ -35,7 +33,7 @@
"symlink": "mkdir -p ./node_modules/@freesewing && cd ./node_modules/@freesewing && ln -s -f ../../../* . && cd -",
"report": "BABEL_ENV=production nyc report --reporter=html",
"coverage": "BABEL_ENV=production nyc npm test && nyc report --reporter=text-lcov > coverage.lcov && ./node_modules/.bin/codecov",
"watch": "BABEL_ENV=production rollup -c -w -o dist/index.mjs -f es"
"watch": "BABEL_ENV=production rollup -c -w"
},
"peerDependencies": {},
"dependencies": {

View file

@ -17,6 +17,11 @@ export default {
file: "dist/index.mjs",
format: "es",
sourcemap: true
},
{
file: "tests/dist/index.js",
format: "cjs",
sourcemap: true
}
],
plugins: [

View file

@ -1,5 +1,5 @@
let expect = require("chai").expect;
let Point = require("./dist/index.js").Point;
let Point = require("./dist").Point;
function newAttr() {
return new Point(0, 0).attributes;

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");
});

View file

@ -1,5 +1,5 @@
let expect = require("chai").expect;
let freesewing = require("./dist/index.js");
let freesewing = require("./dist");
it("Should contain all hooks", () => {
let pattern = new freesewing.Pattern();

View file

@ -1,5 +1,5 @@
let expect = require("chai").expect;
let freesewing = require("./dist/index.js");
let freesewing = require("./dist");
it("Svg constructor should initialize object", () => {
let pattern = new freesewing.Pattern();

View file

@ -1,5 +1,5 @@
let expect = require("chai").expect;
let freesewing = require("./dist/index.js");
let freesewing = require("./dist");
let round = freesewing.utils.round;
it("Should offset a line", () => {

View file

@ -1,5 +1,5 @@
let expect = require("chai").expect;
let freesewing = require("./dist/index.js");
let freesewing = require("./dist");
it("Pattern constructor should initialize object", () => {
let pattern = new freesewing.Pattern({

View file

@ -1,5 +1,5 @@
let expect = require("chai").expect;
let Point = require("./dist/index.js").Point;
let Point = require("./dist").Point;
it("Should return point object", () => {
let result = new Point(2, 4);

View file

@ -1,5 +1,5 @@
let expect = require("chai").expect;
let freesewing = require("./dist/index.js");
let freesewing = require("./dist");
it("Should create a snippet", () => {
let snip1 = new freesewing.Snippet("test", new freesewing.Point(12, 34));

View file

@ -1,5 +1,5 @@
let expect = require("chai").expect;
let freesewing = require("./dist/index.js");
let freesewing = require("./dist");
let pattern = new freesewing.Pattern();
let store = pattern.store;

View file

@ -3,7 +3,7 @@ let render = require("./fixtures/render.js");
let expect = require("chai").expect;
let chai = require("chai");
chai.use(require("chai-string"));
let freesewing = require("./dist/index.js");
let freesewing = require("./dist");
var round = freesewing.utils.round;
it("Svg constructor should initialize object", () => {

View file

@ -1,5 +1,5 @@
let expect = require("chai").expect;
let freesewing = require("./dist/index.js");
let freesewing = require("./dist");
let utils = freesewing.utils;
it("Should return the correct macro name", () => {