1
0
Fork 0

fix: Fix tests after major chai upgrade

Note that the tests for Lumina are failing, but that's not related to
the chai upgrade, rather it seems these tests fail because of issues in
the design that we'll tackle later (it's a brand new design yet to be
released).
This commit is contained in:
joostdecock 2024-02-04 12:14:42 +01:00
parent 703f8fd6e1
commit 26e282f5b7
53 changed files with 190 additions and 347 deletions

View file

@ -1,8 +1,6 @@
import chai from 'chai'
import { expect } from 'chai'
import { Point } from '../src/index.mjs'
const expect = chai.expect
const newAttr = () => new Point(0, 0).attributes
const a = newAttr()

View file

@ -1,8 +1,6 @@
import chai from 'chai'
import { expect } from 'chai'
import { Defs } from '../src/defs.mjs'
const expect = chai.expect
describe('Defs', () => {
let defs = new Defs()

View file

@ -1,8 +1,6 @@
import chai from 'chai'
import { expect } from 'chai'
import { Design } from '../src/index.mjs'
const expect = chai.expect
describe('Design', () => {
it('Design constructor should return pattern constructor', () => {
const Pattern = new Design()

View file

@ -1,8 +1,6 @@
import chai from 'chai'
import { expect } from 'chai'
import { Pattern } from '../src/index.mjs'
const expect = chai.expect
describe('Hooks', () => {
it('Should contain all hooks', () => {
const pattern = new Pattern()

View file

@ -1,8 +1,6 @@
import chai from 'chai'
import { expect } from 'chai'
import { Design, Part, pctBasedOn } from '../src/index.mjs'
const expect = chai.expect
describe('Part', () => {
it('Shorthand should contain the part itself', () => {
let dp

View file

@ -1,9 +1,7 @@
import chai from 'chai'
import { expect } from 'chai'
import { round, Path, Point } from '../src/index.mjs'
import { pathsProxy } from '../src/path.mjs'
const expect = chai.expect
describe('Path', () => {
describe('smurve', () => {
it('Should draw a smurve', () => {

View file

@ -1,8 +1,6 @@
import chai from 'chai'
import { expect } from 'chai'
import { Design } from '../src/index.mjs'
const expect = chai.expect
describe('Pattern', () => {
describe('Pattern.draft()', () => {
it('Pattern.draft() should draft according to settings', () => {

View file

@ -1,9 +1,7 @@
import chai from 'chai'
import { expect } from 'chai'
import { Design } from '../src/index.mjs'
import { fixturePart } from './fixtures/part.mjs'
const expect = chai.expect
describe('Pattern', () => {
describe('Pattern.constructor()', () => {
it('Pattern constructor should return pattern object', () => {

View file

@ -1,8 +1,6 @@
import chai from 'chai'
import { expect } from 'chai'
import { Design } from '../src/index.mjs'
const expect = chai.expect
describe('Pattern', () => {
it('Should log an error when a part does not have a name', () => {
const part = { draft: ({ part }) => part }

View file

@ -1,11 +1,10 @@
import chai from 'chai'
import { expect, AssertionError, Assertion } from 'chai'
import { Design, hidePresets } from '../src/index.mjs'
const expect = chai.expect
function hidePartMatcher(partName) {
const isHidden = this._obj.__isPartHidden(partName)
if (!this._obj.config.parts[partName]) {
throw new chai.AssertionError(`expected part \`${partName}\` to exist in pattern`)
throw new AssertionError(`expected part \`${partName}\` to exist in pattern`)
}
this.assert(
isHidden,
@ -17,7 +16,7 @@ function hidePartMatcher(partName) {
function hidePartsMatcher(...partNames) {
const hiddens = partNames.map((n) => {
if (!this._obj.config.parts[n]) {
throw new chai.AssertionError(`expected part \`${n}\` to exist in pattern`)
throw new AssertionError(`expected part \`${n}\` to exist in pattern`)
}
return this._obj.__isPartHidden(n)
})
@ -29,8 +28,8 @@ function hidePartsMatcher(...partNames) {
)
}
chai.Assertion.addMethod('hidePart', hidePartMatcher)
chai.Assertion.addMethod('hideParts', hidePartsMatcher)
Assertion.addMethod('hidePart', hidePartMatcher)
Assertion.addMethod('hideParts', hidePartsMatcher)
const blankDraft = ({ part }) => part
const blankPart = (name, config = {}) => ({

View file

@ -1,8 +1,6 @@
import chai from 'chai'
import { expect } from 'chai'
import { Design } from '../src/index.mjs'
const expect = chai.expect
describe('Pattern Rendering', () => {
describe('Pattern.prototype.getRenderProps()', () => {
describe('Hidden parts and stacks', () => {

View file

@ -1,9 +1,7 @@
import chai from 'chai'
import { expect } from 'chai'
import { Design } from '../src/index.mjs'
import sinon from 'sinon'
const expect = chai.expect
describe('Pattern', () => {
describe('.addPart()', () => {
const part1 = {

View file

@ -1,8 +1,6 @@
import chai from 'chai'
import { expect } from 'chai'
import { round, Design } from '../src/index.mjs'
const expect = chai.expect
describe('Pattern', () => {
describe('Pattern.sample()', () => {
it('Should sample an option', () => {

View file

@ -1,8 +1,6 @@
import chai from 'chai'
import { expect } from 'chai'
import { round, Point } from '../src/index.mjs'
const expect = chai.expect
describe('Point', () => {
it('Should return point object', () => {
let result = new Point(2, 4)

View file

@ -1,8 +1,6 @@
import chai from 'chai'
import { expect } from 'chai'
import { Design } from '../src/index.mjs'
const expect = chai.expect
const measurements = { head: 400 }
const toAbs = (val, { measurements }) => measurements.head * val

View file

@ -1,8 +1,6 @@
import chai from 'chai'
import { expect } from 'chai'
import { Design, Snippet, Point } from '../src/index.mjs'
const expect = chai.expect
describe('Snippet', () => {
it('Should create a snippet', () => {
let snip1 = new Snippet('test', new Point(12, 34))

View file

@ -1,9 +1,7 @@
import chai from 'chai'
import { expect } from 'chai'
import { Design, Point, Attributes } from '../src/index.mjs'
import { Stack } from '../src/stack.mjs'
const expect = chai.expect
describe('Stacks', () => {
describe('Pattern.__init()', () => {
const partA = {

View file

@ -1,8 +1,6 @@
import chai from 'chai'
import { expect } from 'chai'
import { Design, Store } from '../src/index.mjs'
const expect = chai.expect
const store = new Store()
describe('Store', () => {

View file

@ -1,4 +1,4 @@
import chai from 'chai'
import { expect, use } from 'chai'
import chaiString from 'chai-string'
import { Svg } from '../src/svg.mjs'
import { Design, Attributes } from '../src/index.mjs'
@ -7,8 +7,7 @@ import { version } from '../data.mjs'
import render from './fixtures/render.mjs'
import { binpackPlugin } from '../../../plugins/plugin-bin-pack/src/index.mjs'
chai.use(chaiString)
const expect = chai.expect
use(chaiString)
const getPattern = (settings = {}, draft = false) => {
const part = {

View file

@ -1,4 +1,4 @@
import chai from 'chai'
import { expect } from 'chai'
import {
Point,
Design,
@ -28,8 +28,6 @@ import {
generateStackTransform,
} from '../src/index.mjs'
const { expect } = chai
describe('Utils', () => {
it('Should find the intersection of two endless line segments', () => {
let a = new Point(10, 20)

View file

@ -19,7 +19,6 @@ export const downloads = {
'sde/mock/read-more.mjs',
'sde/mock/tabbed-example.mjs',
'sde/mock/youtube.mjs',
'sde/hooks/use-design.mjs',
'sde/pkgs/.gitkeep',
'sde/prebuild/.gitkeep',
'sde/prebuild/sitenav.de.mjs',
@ -30,28 +29,18 @@ export const downloads = {
'sde/prebuild/sitenav.nl.mjs',
'sde/prebuild/sitenav.uk.mjs',
'sde/prebuild/sluglut.mjs',
'sde/hooks/use-design.mjs',
'sde/components/design-examples.mjs',
'sde/components/dynamic-org-docs.mjs',
'sde/components/feeds.mjs',
'sde/components/search.mjs',
'sde/components/header/design-picker.mjs',
'sde/components/header/index.mjs',
'sde/components/layouts/bare.mjs',
'sde/components/layouts/default.mjs',
'sde/components/layouts/workbench.mjs',
'sde/components/header/design-picker.mjs',
'sde/components/header/index.mjs',
'sde/components/navigation/modal-menu.mjs',
'sde/components/wrappers/page.mjs',
'sde/design/from-bella/en.json',
'sde/design/from-bella/i18n/de.json',
'sde/design/from-bella/i18n/en.json',
'sde/design/from-bella/i18n/es.json',
'sde/design/from-bella/i18n/fr.json',
'sde/design/from-bella/i18n/index.mjs',
'sde/design/from-bella/i18n/nl.json',
'sde/design/from-bella/i18n/uk.json',
'sde/design/from-bella/src/back.mjs',
'sde/design/from-bella/src/front.mjs',
'sde/design/from-bella/src/index.mjs',
'sde/design/from-bent/i18n/de.json',
'sde/design/from-bent/i18n/en.json',
'sde/design/from-bent/i18n/es.json',
@ -75,6 +64,17 @@ export const downloads = {
'sde/design/from-breanna/src/front.mjs',
'sde/design/from-breanna/src/index.mjs',
'sde/design/from-breanna/src/sleeve.mjs',
'sde/design/from-bella/en.json',
'sde/design/from-bella/i18n/de.json',
'sde/design/from-bella/i18n/en.json',
'sde/design/from-bella/i18n/es.json',
'sde/design/from-bella/i18n/fr.json',
'sde/design/from-bella/i18n/index.mjs',
'sde/design/from-bella/i18n/nl.json',
'sde/design/from-bella/i18n/uk.json',
'sde/design/from-bella/src/back.mjs',
'sde/design/from-bella/src/front.mjs',
'sde/design/from-bella/src/index.mjs',
'sde/design/from-brian/i18n/de.json',
'sde/design/from-brian/i18n/en.json',
'sde/design/from-brian/i18n/es.json',
@ -189,60 +189,6 @@ export const downloads = {
'sde/public/locales/de/tutorial.json',
'sde/public/locales/de/ui-settings.json',
'sde/public/locales/de/workbench.json',
'sde/public/locales/es/account.json',
'sde/public/locales/es/auth.json',
'sde/public/locales/es/bella.json',
'sde/public/locales/es/bent.json',
'sde/public/locales/es/breanna.json',
'sde/public/locales/es/brian.json',
'sde/public/locales/es/common.json',
'sde/public/locales/es/core-settings.json',
'sde/public/locales/es/curate.json',
'sde/public/locales/es/cut.json',
'sde/public/locales/es/design-options.json',
'sde/public/locales/es/designs.json',
'sde/public/locales/es/docs.json',
'sde/public/locales/es/errors.json',
'sde/public/locales/es/flag.json',
'sde/public/locales/es/footer.json',
'sde/public/locales/es/frombella.json',
'sde/public/locales/es/frombent.json',
'sde/public/locales/es/frombreanna.json',
'sde/public/locales/es/frombrian.json',
'sde/public/locales/es/fromscratch.json',
'sde/public/locales/es/fromtitan.json',
'sde/public/locales/es/gdpr.json',
'sde/public/locales/es/header.json',
'sde/public/locales/es/hodl.json',
'sde/public/locales/es/homepage.json',
'sde/public/locales/es/lab.json',
'sde/public/locales/es/locales.json',
'sde/public/locales/es/logs.json',
'sde/public/locales/es/measurements.json',
'sde/public/locales/es/modal.json',
'sde/public/locales/es/newsletter.json',
'sde/public/locales/es/patrons.json',
'sde/public/locales/es/plugin-annotations.json',
'sde/public/locales/es/plugins.json',
'sde/public/locales/es/popout.json',
'sde/public/locales/es/print.json',
'sde/public/locales/es/roles.json',
'sde/public/locales/es/sde.json',
'sde/public/locales/es/sections.json',
'sde/public/locales/es/sets.json',
'sde/public/locales/es/sponsors.json',
'sde/public/locales/es/status.json',
'sde/public/locales/es/submissions.json',
'sde/public/locales/es/support.json',
'sde/public/locales/es/susi.json',
'sde/public/locales/es/tags.json',
'sde/public/locales/es/techniques.json',
'sde/public/locales/es/themes.json',
'sde/public/locales/es/timeago.json',
'sde/public/locales/es/titan.json',
'sde/public/locales/es/tutorial.json',
'sde/public/locales/es/ui-settings.json',
'sde/public/locales/es/workbench.json',
'sde/public/locales/en/account.json',
'sde/public/locales/en/auth.json',
'sde/public/locales/en/bella.json',
@ -297,60 +243,6 @@ export const downloads = {
'sde/public/locales/en/tutorial.json',
'sde/public/locales/en/ui-settings.json',
'sde/public/locales/en/workbench.json',
'sde/public/locales/nl/account.json',
'sde/public/locales/nl/auth.json',
'sde/public/locales/nl/bella.json',
'sde/public/locales/nl/bent.json',
'sde/public/locales/nl/breanna.json',
'sde/public/locales/nl/brian.json',
'sde/public/locales/nl/common.json',
'sde/public/locales/nl/core-settings.json',
'sde/public/locales/nl/curate.json',
'sde/public/locales/nl/cut.json',
'sde/public/locales/nl/design-options.json',
'sde/public/locales/nl/designs.json',
'sde/public/locales/nl/docs.json',
'sde/public/locales/nl/errors.json',
'sde/public/locales/nl/flag.json',
'sde/public/locales/nl/footer.json',
'sde/public/locales/nl/frombella.json',
'sde/public/locales/nl/frombent.json',
'sde/public/locales/nl/frombreanna.json',
'sde/public/locales/nl/frombrian.json',
'sde/public/locales/nl/fromscratch.json',
'sde/public/locales/nl/fromtitan.json',
'sde/public/locales/nl/gdpr.json',
'sde/public/locales/nl/header.json',
'sde/public/locales/nl/hodl.json',
'sde/public/locales/nl/homepage.json',
'sde/public/locales/nl/lab.json',
'sde/public/locales/nl/locales.json',
'sde/public/locales/nl/logs.json',
'sde/public/locales/nl/measurements.json',
'sde/public/locales/nl/modal.json',
'sde/public/locales/nl/newsletter.json',
'sde/public/locales/nl/patrons.json',
'sde/public/locales/nl/plugin-annotations.json',
'sde/public/locales/nl/plugins.json',
'sde/public/locales/nl/popout.json',
'sde/public/locales/nl/print.json',
'sde/public/locales/nl/roles.json',
'sde/public/locales/nl/sde.json',
'sde/public/locales/nl/sections.json',
'sde/public/locales/nl/sets.json',
'sde/public/locales/nl/sponsors.json',
'sde/public/locales/nl/status.json',
'sde/public/locales/nl/submissions.json',
'sde/public/locales/nl/support.json',
'sde/public/locales/nl/susi.json',
'sde/public/locales/nl/tags.json',
'sde/public/locales/nl/techniques.json',
'sde/public/locales/nl/themes.json',
'sde/public/locales/nl/timeago.json',
'sde/public/locales/nl/titan.json',
'sde/public/locales/nl/tutorial.json',
'sde/public/locales/nl/ui-settings.json',
'sde/public/locales/nl/workbench.json',
'sde/public/locales/fr/account.json',
'sde/public/locales/fr/auth.json',
'sde/public/locales/fr/bella.json',
@ -405,6 +297,114 @@ export const downloads = {
'sde/public/locales/fr/tutorial.json',
'sde/public/locales/fr/ui-settings.json',
'sde/public/locales/fr/workbench.json',
'sde/public/locales/es/account.json',
'sde/public/locales/es/auth.json',
'sde/public/locales/es/bella.json',
'sde/public/locales/es/bent.json',
'sde/public/locales/es/breanna.json',
'sde/public/locales/es/brian.json',
'sde/public/locales/es/common.json',
'sde/public/locales/es/core-settings.json',
'sde/public/locales/es/curate.json',
'sde/public/locales/es/cut.json',
'sde/public/locales/es/design-options.json',
'sde/public/locales/es/designs.json',
'sde/public/locales/es/docs.json',
'sde/public/locales/es/errors.json',
'sde/public/locales/es/flag.json',
'sde/public/locales/es/footer.json',
'sde/public/locales/es/frombella.json',
'sde/public/locales/es/frombent.json',
'sde/public/locales/es/frombreanna.json',
'sde/public/locales/es/frombrian.json',
'sde/public/locales/es/fromscratch.json',
'sde/public/locales/es/fromtitan.json',
'sde/public/locales/es/gdpr.json',
'sde/public/locales/es/header.json',
'sde/public/locales/es/hodl.json',
'sde/public/locales/es/homepage.json',
'sde/public/locales/es/lab.json',
'sde/public/locales/es/locales.json',
'sde/public/locales/es/logs.json',
'sde/public/locales/es/measurements.json',
'sde/public/locales/es/modal.json',
'sde/public/locales/es/newsletter.json',
'sde/public/locales/es/patrons.json',
'sde/public/locales/es/plugin-annotations.json',
'sde/public/locales/es/plugins.json',
'sde/public/locales/es/popout.json',
'sde/public/locales/es/print.json',
'sde/public/locales/es/roles.json',
'sde/public/locales/es/sde.json',
'sde/public/locales/es/sections.json',
'sde/public/locales/es/sets.json',
'sde/public/locales/es/sponsors.json',
'sde/public/locales/es/status.json',
'sde/public/locales/es/submissions.json',
'sde/public/locales/es/support.json',
'sde/public/locales/es/susi.json',
'sde/public/locales/es/tags.json',
'sde/public/locales/es/techniques.json',
'sde/public/locales/es/themes.json',
'sde/public/locales/es/timeago.json',
'sde/public/locales/es/titan.json',
'sde/public/locales/es/tutorial.json',
'sde/public/locales/es/ui-settings.json',
'sde/public/locales/es/workbench.json',
'sde/public/locales/nl/account.json',
'sde/public/locales/nl/auth.json',
'sde/public/locales/nl/bella.json',
'sde/public/locales/nl/bent.json',
'sde/public/locales/nl/breanna.json',
'sde/public/locales/nl/brian.json',
'sde/public/locales/nl/common.json',
'sde/public/locales/nl/core-settings.json',
'sde/public/locales/nl/curate.json',
'sde/public/locales/nl/cut.json',
'sde/public/locales/nl/design-options.json',
'sde/public/locales/nl/designs.json',
'sde/public/locales/nl/docs.json',
'sde/public/locales/nl/errors.json',
'sde/public/locales/nl/flag.json',
'sde/public/locales/nl/footer.json',
'sde/public/locales/nl/frombella.json',
'sde/public/locales/nl/frombent.json',
'sde/public/locales/nl/frombreanna.json',
'sde/public/locales/nl/frombrian.json',
'sde/public/locales/nl/fromscratch.json',
'sde/public/locales/nl/fromtitan.json',
'sde/public/locales/nl/gdpr.json',
'sde/public/locales/nl/header.json',
'sde/public/locales/nl/hodl.json',
'sde/public/locales/nl/homepage.json',
'sde/public/locales/nl/lab.json',
'sde/public/locales/nl/locales.json',
'sde/public/locales/nl/logs.json',
'sde/public/locales/nl/measurements.json',
'sde/public/locales/nl/modal.json',
'sde/public/locales/nl/newsletter.json',
'sde/public/locales/nl/patrons.json',
'sde/public/locales/nl/plugin-annotations.json',
'sde/public/locales/nl/plugins.json',
'sde/public/locales/nl/popout.json',
'sde/public/locales/nl/print.json',
'sde/public/locales/nl/roles.json',
'sde/public/locales/nl/sde.json',
'sde/public/locales/nl/sections.json',
'sde/public/locales/nl/sets.json',
'sde/public/locales/nl/sponsors.json',
'sde/public/locales/nl/status.json',
'sde/public/locales/nl/submissions.json',
'sde/public/locales/nl/support.json',
'sde/public/locales/nl/susi.json',
'sde/public/locales/nl/tags.json',
'sde/public/locales/nl/techniques.json',
'sde/public/locales/nl/themes.json',
'sde/public/locales/nl/timeago.json',
'sde/public/locales/nl/titan.json',
'sde/public/locales/nl/tutorial.json',
'sde/public/locales/nl/ui-settings.json',
'sde/public/locales/nl/workbench.json',
'sde/public/locales/uk/account.json',
'sde/public/locales/uk/auth.json',
'sde/public/locales/uk/bella.json',

View file

@ -1,6 +1,4 @@
import chai from 'chai'
const expect = chai.expect
import { expect } from 'chai'
describe('Round Plugin Tests', () => {
it('FIXME: No plugin tests configured', () => {

View file

@ -1,9 +1,7 @@
import chai from 'chai'
import { expect } from 'chai'
import { Design } from '@freesewing/core'
import { annotationsPlugin } from '../src/index.mjs'
const expect = chai.expect
describe('Banner Plugin Tests', () => {
it('Should add repeating text to a path', () => {
const part = {

View file

@ -1,9 +1,7 @@
import chai from 'chai'
import { expect } from 'chai'
import { round, Design } from '@freesewing/core'
import { annotationsPlugin } from '../src/index.mjs'
const expect = chai.expect
describe('Bartack plugin Tests', () => {
it('draws a default bartack from a point', function () {
const part = {

View file

@ -1,9 +1,7 @@
import chai from 'chai'
import { expect } from 'chai'
import { Design } from '@freesewing/core'
import { annotationsPlugin } from '../src/index.mjs'
const expect = chai.expect
const Pattern = new Design()
const pattern = new Pattern().use(annotationsPlugin)
pattern.draft().render()

View file

@ -1,9 +1,7 @@
import chai from 'chai'
import { expect } from 'chai'
import { Design, round } from '@freesewing/core'
import { annotationsPlugin } from '../src/index.mjs'
const expect = chai.expect
describe('Crossbox Plugin Tests', () => {
it('Should run the default crossbox macro', () => {
const part = {

View file

@ -1,9 +1,7 @@
import chai from 'chai'
import { expect } from 'chai'
import { Design } from '@freesewing/core'
import { annotationsPlugin } from '../src/index.mjs'
const expect = chai.expect
describe('Cutlist Plugin Tests', () => {
it('Draft method should receive added methods', () => {
let methods

View file

@ -1,9 +1,7 @@
import chai from 'chai'
import { expect } from 'chai'
import { Design, round } from '@freesewing/core'
import { annotationsPlugin } from '../src/index.mjs'
const expect = chai.expect
describe('Cutonfold Plugin Tests', () => {
it('Should run the default cutonfold macro', () => {
const part = {

View file

@ -1,9 +1,7 @@
import chai from 'chai'
import { expect } from 'chai'
import { Design, round } from '@freesewing/core'
import { annotationsPlugin } from '../src/index.mjs'
const expect = chai.expect
describe('Dimension Plugin Tests', () => {
describe('Measures horizontal dimensions', function () {
const part = {

View file

@ -1,9 +1,7 @@
import chai from 'chai'
import { expect } from 'chai'
import { round, Design } from '@freesewing/core'
import { annotationsPlugin } from '../src/index.mjs'
const expect = chai.expect
describe('Grainline Plugin Tests', () => {
it('Should run the default grainline macro', () => {
const part = {

View file

@ -1,9 +1,7 @@
import chai from 'chai'
import { expect } from 'chai'
import { Design } from '@freesewing/core'
import { annotationsPlugin } from '../src/index.mjs'
const expect = chai.expect
describe('Logo Plugin Tests', () => {
it('Should import style and defs', () => {
const Pattern = new Design({ noCorePlugins: true })

View file

@ -1,9 +1,7 @@
import chai from 'chai'
import { expect } from 'chai'
import { Design } from '@freesewing/core'
import { annotationsPlugin } from '../src/index.mjs'
const expect = chai.expect
const part = {
name: 'test',
draft: ({ Point, snippets, Snippet }) => {

View file

@ -1,9 +1,7 @@
import chai from 'chai'
import { expect } from 'chai'
import { Design, round } from '@freesewing/core'
import { annotationsPlugin } from '../src/index.mjs'
const expect = chai.expect
describe('Pleat Plugin Tests', () => {
it('Should run the default pleat macro', () => {
const part = {

View file

@ -1,9 +1,7 @@
import chai from 'chai'
import { expect } from 'chai'
import { Design, round } from '@freesewing/core'
import { annotationsPlugin } from '../src/index.mjs'
const expect = chai.expect
describe('Scalebox Plugin Tests', () => {
it('Should run the default scalebox macro', () => {
const part = {

View file

@ -1,9 +1,7 @@
import chai from 'chai'
import { expect } from 'chai'
import { Design, round } from '@freesewing/core'
import { annotationsPlugin } from '../src/index.mjs'
const expect = chai.expect
describe('Sewtogether Plugin Tests', () => {
it('Should run the default sewtogether macro', () => {
const part = {

View file

@ -1,9 +1,7 @@
import chai from 'chai'
import { expect } from 'chai'
import { Design } from '@freesewing/core'
import { annotationsPlugin } from '../src/index.mjs'
const expect = chai.expect
describe('Title Plugin Tests', () => {
it('Should run the title macro', () => {
const part = {

View file

@ -1,9 +1,7 @@
import chai from 'chai'
import { expect } from 'chai'
import { Design } from '@freesewing/core'
import { plugin } from '../src/index.mjs'
const expect = chai.expect
const measurements = {
chest: 100,
highBust: 90,

View file

@ -1,9 +1,7 @@
import chai from 'chai'
import { expect } from 'chai'
import { Design } from '@freesewing/core'
import { plugin } from '../src/index.mjs'
const expect = chai.expect
describe('Flip Plugin Tests', () => {
const part = {
name: 'test',

View file

@ -1,9 +1,7 @@
import chai from 'chai'
import { expect } from 'chai'
import { round, Design } from '@freesewing/core'
import { plugin } from '../src/index.mjs'
const expect = chai.expect
describe('Gore Plugin Tests', () => {
it('Should create a default gore', () => {
const part = {

View file

@ -1,9 +1,7 @@
import chai from 'chai'
import { expect } from 'chai'
import { Design } from '@freesewing/core'
import { plugin } from '../src/index.mjs'
const expect = chai.expect
const content = {
en: {
testString: 'This is a test string for the i18n plugin',

View file

@ -1,9 +1,7 @@
import chai from 'chai'
import { expect } from 'chai'
import { Design } from '@freesewing/core'
import { plugin } from '../src/index.mjs'
const expect = chai.expect
const measurements = {
seatBack: 60,
seat: 100,

View file

@ -1,9 +1,7 @@
import chai from 'chai'
import { expect } from 'chai'
import { Design } from '@freesewing/core'
import { plugin } from '../src/index.mjs'
const expect = chai.expect
describe('Mirror Plugin Tests', () => {
const part = {
name: 'test',

View file

@ -1,6 +1,4 @@
import chai from 'chai'
const expect = chai.expect
import { expect } from 'chai'
describe('Round Plugin Tests', () => {
it('FIXME: No plugin tests configured', () => {

View file

@ -1,8 +1,4 @@
import chai from 'chai'
//import freesewing from '@freesewing/core'
//import { plugin } from '../src/index.mjs'
const expect = chai.expect
import { expect } from 'chai'
describe('Sprinkle Plugin Tests', () => {
it('FIXME: No plugin tests defined', () => {

View file

@ -1,6 +1,4 @@
import chai from 'chai'
const expect = chai.expect
import { expect } from 'chai'
describe('SVG Attributed Plugin Tests', () => {
it('FIXME: No plugin tests defined', () => {

View file

@ -1,9 +1,7 @@
import chai from 'chai'
import { expect } from 'chai'
import { Design } from '@freesewing/core'
import { plugin } from '../src/index.mjs'
const expect = chai.expect
describe('Theme Plugin Tests', () => {
const Pattern = new Design()
const pattern = new Pattern({ paperless: true }).use(plugin)

View file

@ -1,9 +1,7 @@
import chai from 'chai'
import { expect } from 'chai'
import { Design } from '@freesewing/core'
import { plugin } from '../src/index.mjs'
const expect = chai.expect
describe('Versionfree Plugin Tests', () => {
const Pattern = new Design()
const pattern = new Pattern().use(plugin)

View file

@ -1,8 +1,6 @@
import { measurements, cisFemaleAdult28 } from '@freesewing/models'
import designs from '../../config/software/designs.json' assert { type: 'json' }
import chai from 'chai'
const expect = chai.expect
import { expect, assert } from 'chai'
export const getShortName = (name) => name.split('/').pop()
export const isUtilityDesign = (name) => typeof designs[name].tags === 'undefined'
@ -103,7 +101,7 @@ export const testPatternConfig = (Pattern) => {
const missWarnings = draft.setStores[0].logs.warn.filter((w, i, a) => {
return w.match(/tried to access `measurements/) && a.indexOf(w) === i
})
chai.assert(
assert(
missWarnings.length === 0,
`expected part to request all used measurements. \nThe following measurements were requested in the config: ${patternMeasies.join(
', '

View file

@ -1,9 +1,8 @@
import { adult, doll, giant } from '@freesewing/models'
import { getShortName, isUtilityDesign } from './config.mjs'
import chai from 'chai'
import { expect } from 'chai'
import { timingPlugin } from '@freesewing/plugin-timing'
const expect = chai.expect
const ciTimeout = 10000
/*

View file

@ -1,7 +1,5 @@
import { isUtilityDesign, getShortName } from './config.mjs'
import chai from 'chai'
const expect = chai.expect
import { expect } from 'chai'
/*
* This runs unit tests for the pattern translation files

View file

@ -1,8 +1,6 @@
import { adult, doll, giant } from '@freesewing/models'
import { getShortName, isUtilityDesign } from './config.mjs'
import chai from 'chai'
const expect = chai.expect
import { expect } from 'chai'
// Some patterns are deprecated and won't support more stringent doll/giant tests
const deprecated = ['theo']

View file

@ -1,31 +1,27 @@
import chai from 'chai'
import { expect } from 'chai'
/*
* This runs unit tests for the plugin configuration
* It expects the following:
*
* @param object plugin: The plugin object
*/
export const sharedPluginTests = plugin => {
export const sharedPluginTests = (plugin) => {
describe('Shared Plugin Tests', () => {
it('Should have a name property', () => {
chai.expect(typeof plugin.name).to.equal('string')
chai.expect(plugin.name.length).to.be.greaterThan(2)
expect(typeof plugin.name).to.equal('string')
expect(plugin.name.length).to.be.greaterThan(2)
})
it('Should have a version property', () => {
chai.expect(typeof plugin.version).to.equal('string')
chai.expect(plugin.version.length).to.be.greaterThan(2)
expect(typeof plugin.version).to.equal('string')
expect(plugin.version.length).to.be.greaterThan(2)
})
it('Version should be a proper semantic version', () => {
const chunks = plugin.version.split('.')
if (chunks.length > 3) {
chai.expect(plugin.version.split('.').length).to.equal(4)
chai.expect(chunks[2]).to.contain.oneOf(['-alpha', '-beta', '-rc'])
}
else chai.expect(plugin.version.split('.').length).to.equal(3)
expect(plugin.version.split('.').length).to.equal(4)
expect(chunks[2]).to.contain.oneOf(['-alpha', '-beta', '-rc'])
} else expect(plugin.version.split('.').length).to.equal(3)
})
})
}

View file

@ -1250,16 +1250,6 @@
resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.56.0.tgz#ef20350fec605a7f7035a01764731b2de0f3782b"
integrity sha512-gMsVel9D7f2HLkBma9VbtzZRehRogVRfbr++f06nL2vnCGCNlzOD+/MUov/F4p8myyAHspEhVobgjpX64q5m6A==
"@freesewing/models@3.0.0":
version "3.0.0"
resolved "https://registry.yarnpkg.com/@freesewing/models/-/models-3.0.0.tgz#9caafd2445f7be5aa283fbc1e2271b99b569acc3"
integrity sha512-ljMcKtFmvbarWfL0seaf70R63ZaDKj8DxuGGkOq+SjltbjgkhnBTKpAKsPnbYpKY5Szxt+7tpSnxfJqbx1+k5A==
"@freesewing/plugin-timing@3.0.0":
version "3.0.0"
resolved "https://registry.yarnpkg.com/@freesewing/plugin-timing/-/plugin-timing-3.0.0.tgz#21417b9f4a4b466d4ebca922c9b9d95dc51c977a"
integrity sha512-4W28JE0ABsKjvjgX8FLk8NS63DszfTh3sB+rJLA7MMVl6dJ6mqmBrm+tnqgbxVebU5ZXhU8oVe7VlblmRkigWw==
"@humanwhocodes/config-array@^0.11.13":
version "0.11.14"
resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.14.tgz#d78e481a039f7566ecc9660b4ea7fe6b1fec442b"
@ -3335,11 +3325,6 @@ asap@^2.0.0:
resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46"
integrity sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==
assertion-error@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-1.1.0.tgz#e60b6b0e8f301bd97e5375215bda406c85118c0b"
integrity sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==
assertion-error@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-2.0.1.tgz#f641a196b335690b1070bf00b6e7593fec190bf7"
@ -3766,19 +3751,6 @@ chai-string@1.5.0:
resolved "https://registry.yarnpkg.com/chai-string/-/chai-string-1.5.0.tgz#0bdb2d8a5f1dbe90bc78ec493c1c1c180dd4d3d2"
integrity sha512-sydDC3S3pNAQMYwJrs6dQX0oBQ6KfIPuOZ78n7rocW0eJJlsHPh2t3kwW7xfwYA/1Bf6/arGtSUo16rxR2JFlw==
chai@4.3.10:
version "4.3.10"
resolved "https://registry.yarnpkg.com/chai/-/chai-4.3.10.tgz#d784cec635e3b7e2ffb66446a63b4e33bd390384"
integrity sha512-0UXG04VuVbruMUYbJ6JctvH0YnC/4q3/AkT18q4NaITo91CUm0liMS9VqzT9vZhVQ/1eqPanMWjBM+Juhfb/9g==
dependencies:
assertion-error "^1.1.0"
check-error "^1.0.3"
deep-eql "^4.1.3"
get-func-name "^2.0.2"
loupe "^2.3.6"
pathval "^1.1.1"
type-detect "^4.0.8"
chai@5.0.3:
version "5.0.3"
resolved "https://registry.yarnpkg.com/chai/-/chai-5.0.3.tgz#db8e109373b86e7fb33d3ef0d0116f0fa8019066"
@ -3881,13 +3853,6 @@ charset@^1.0.1:
resolved "https://registry.yarnpkg.com/charset/-/charset-1.0.1.tgz#8d59546c355be61049a8fa9164747793319852bd"
integrity sha512-6dVyOOYjpfFcL1Y4qChrAoQLRHvj2ziyhcm0QJlhOcAhykL/k1kTUPbeo+87MNRTRdk2OIIsIXbuF3x2wi5EXg==
check-error@^1.0.3:
version "1.0.3"
resolved "https://registry.yarnpkg.com/check-error/-/check-error-1.0.3.tgz#a6502e4312a7ee969f646e83bb3ddd56281bd694"
integrity sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==
dependencies:
get-func-name "^2.0.2"
check-error@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/check-error/-/check-error-2.0.0.tgz#589a4f201b6256fd93a2d165089fe43d2676d8c6"
@ -4834,13 +4799,6 @@ dedent@0.7.0:
resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c"
integrity sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==
deep-eql@^4.1.3:
version "4.1.3"
resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-4.1.3.tgz#7c7775513092f7df98d8df9996dd085eb668cc6d"
integrity sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==
dependencies:
type-detect "^4.0.0"
deep-eql@^5.0.1:
version "5.0.1"
resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-5.0.1.tgz#21ea2c0d561a4d08cdd99c417ac584e0fb121385"
@ -6362,7 +6320,7 @@ get-east-asian-width@^1.0.0:
resolved "https://registry.yarnpkg.com/get-east-asian-width/-/get-east-asian-width-1.2.0.tgz#5e6ebd9baee6fb8b7b6bd505221065f0cd91f64e"
integrity sha512-2nk+7SIVb14QrgXFHcm84tD4bKQz0RxPuMT8Ag5KPOq7J5fEmAg0UbXdTOSHqNuHSU28k55qnceesxXRZGzKWA==
get-func-name@^2.0.1, get-func-name@^2.0.2:
get-func-name@^2.0.1:
version "2.0.2"
resolved "https://registry.yarnpkg.com/get-func-name/-/get-func-name-2.0.2.tgz#0d7cf20cd13fda808669ffa88f4ffc7a3943fc41"
integrity sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==
@ -8678,13 +8636,6 @@ loose-envify@^1.1.0, loose-envify@^1.4.0:
dependencies:
js-tokens "^3.0.0 || ^4.0.0"
loupe@^2.3.6:
version "2.3.7"
resolved "https://registry.yarnpkg.com/loupe/-/loupe-2.3.7.tgz#6e69b7d4db7d3ab436328013d37d1c8c3540c697"
integrity sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==
dependencies:
get-func-name "^2.0.1"
loupe@^3.1.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/loupe/-/loupe-3.1.0.tgz#46ef1a4ffee73145f5c0a627536d754787c1ea2a"
@ -11153,11 +11104,6 @@ path-type@^4.0.0:
resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b"
integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==
pathval@^1.1.1:
version "1.1.1"
resolved "https://registry.yarnpkg.com/pathval/-/pathval-1.1.1.tgz#8534e77a77ce7ac5a2512ea21e0fdb8fcf6c3d8d"
integrity sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==
pathval@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/pathval/-/pathval-2.0.0.tgz#7e2550b422601d4f6b8e26f1301bc8f15a741a25"
@ -13567,7 +13513,7 @@ type-component@0.0.1:
resolved "https://registry.yarnpkg.com/type-component/-/type-component-0.0.1.tgz#952a6c81c21efd24d13d811d0c8498cb860e1956"
integrity sha512-mDZRBQS2yZkwRQKfjJvQ8UIYJeBNNWCq+HBNstl9N5s9jZ4dkVYXEGkVPsSCEh5Ld4JM1kmrZTzjnrqSAIQ7dw==
type-detect@4.0.8, type-detect@^4.0.0, type-detect@^4.0.8:
type-detect@4.0.8, type-detect@^4.0.8:
version "4.0.8"
resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c"
integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==