chore(plugin-measurements): Changes for v3. See #2856
This commit is contained in:
parent
88e5339b37
commit
3212e5eedc
2 changed files with 46 additions and 61 deletions
|
@ -5,31 +5,31 @@ export const plugin = {
|
||||||
version,
|
version,
|
||||||
hooks: {
|
hooks: {
|
||||||
preDraft: function ({ settings }) {
|
preDraft: function ({ settings }) {
|
||||||
if (settings.measurements) {
|
for (const set of settings) {
|
||||||
if (
|
if (set.measurements) {
|
||||||
typeof settings.measurements.seatBack !== 'undefined' &&
|
if (
|
||||||
typeof settings.measurements.seat !== 'undefined'
|
typeof set.measurements.seatBack !== 'undefined' &&
|
||||||
) {
|
typeof set.measurements.seat !== 'undefined'
|
||||||
settings.measurements.seatFront =
|
) {
|
||||||
settings.measurements.seat - settings.measurements.seatBack
|
set.measurements.seatFront = set.measurements.seat - set.measurements.seatBack
|
||||||
settings.measurements.seatBackArc = settings.measurements.seatBack / 2
|
set.measurements.seatBackArc = set.measurements.seatBack / 2
|
||||||
settings.measurements.seatFrontArc = settings.measurements.seatFront / 2
|
set.measurements.seatFrontArc = set.measurements.seatFront / 2
|
||||||
}
|
}
|
||||||
if (
|
if (
|
||||||
typeof settings.measurements.waist !== 'undefined' &&
|
typeof set.measurements.waist !== 'undefined' &&
|
||||||
typeof settings.measurements.waistBack !== 'undefined'
|
typeof set.measurements.waistBack !== 'undefined'
|
||||||
) {
|
) {
|
||||||
settings.measurements.waistFront =
|
set.measurements.waistFront = set.measurements.waist - set.measurements.waistBack
|
||||||
settings.measurements.waist - settings.measurements.waistBack
|
set.measurements.waistBackArc = set.measurements.waistBack / 2
|
||||||
settings.measurements.waistBackArc = settings.measurements.waistBack / 2
|
set.measurements.waistFrontArc = set.measurements.waistFront / 2
|
||||||
settings.measurements.waistFrontArc = settings.measurements.waistFront / 2
|
}
|
||||||
}
|
if (
|
||||||
if (
|
typeof set.measurements.crossSeam !== 'undefined' &&
|
||||||
typeof settings.measurements.crossSeam !== 'undefined' &&
|
typeof set.measurements.crossSeamFront !== 'undefined'
|
||||||
typeof settings.measurements.crossSeamFront !== 'undefined'
|
) {
|
||||||
) {
|
set.measurements.crossSeamBack =
|
||||||
settings.measurements.crossSeamBack =
|
set.measurements.crossSeam - set.measurements.crossSeamFront
|
||||||
settings.measurements.crossSeam - settings.measurements.crossSeamFront
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
@ -12,62 +12,47 @@ const measurements = {
|
||||||
crossSeam: 100,
|
crossSeam: 100,
|
||||||
crossSeamFront: 42,
|
crossSeamFront: 42,
|
||||||
}
|
}
|
||||||
|
|
||||||
const part = {
|
const part = {
|
||||||
name: 'test',
|
name: 'test',
|
||||||
draft: ({ points, Point }) => {
|
draft: ({ points, Point, part }) => {
|
||||||
points.from = new Point(10, 20)
|
points.from = new Point(10, 20)
|
||||||
points.to = new Point(10, 230)
|
points.to = new Point(10, 230)
|
||||||
|
|
||||||
|
return part
|
||||||
},
|
},
|
||||||
|
measurements: Object.keys(measurements),
|
||||||
|
plugins: [plugin],
|
||||||
}
|
}
|
||||||
const Pattern = new Design({ plugins: [plugin], parts: [part] })
|
const Pattern = new Design({ parts: [part] })
|
||||||
const pattern = new Pattern({ measurements })
|
|
||||||
pattern.draft()
|
|
||||||
|
|
||||||
describe('Measurements Plugin Tests', () => {
|
describe('Measurements Plugin Tests', () => {
|
||||||
it('Should set the extra measurements', () => {
|
it('Should set the extra measurements', () => {
|
||||||
expect(pattern.settings.measurements.seatFront).to.equal(40)
|
const pattern = new Pattern({ measurements })
|
||||||
expect(pattern.settings.measurements.seatFrontArc).to.equal(20)
|
pattern.draft()
|
||||||
expect(pattern.settings.measurements.seatBackArc).to.equal(30)
|
expect(pattern.settings[0].measurements.seatFront).to.equal(40)
|
||||||
expect(pattern.settings.measurements.waistFront).to.equal(55)
|
expect(pattern.settings[0].measurements.seatFrontArc).to.equal(20)
|
||||||
expect(pattern.settings.measurements.waistFrontArc).to.equal(27.5)
|
expect(pattern.settings[0].measurements.seatBackArc).to.equal(30)
|
||||||
expect(pattern.settings.measurements.crossSeamBack).to.equal(58)
|
expect(pattern.settings[0].measurements.waistFront).to.equal(55)
|
||||||
|
expect(pattern.settings[0].measurements.waistFrontArc).to.equal(27.5)
|
||||||
|
expect(pattern.settings[0].measurements.crossSeamBack).to.equal(58)
|
||||||
})
|
})
|
||||||
|
|
||||||
it('Should calculate seatFront from seat and seatBack', function () {
|
it('Should calculate seatFront from seat and seatBack', function () {
|
||||||
const testPattern = new Design({
|
const pattern = new Pattern({ measurements: { seat: 50, seatBack: 20 } })
|
||||||
measurements: {},
|
|
||||||
plugins: [plugin],
|
|
||||||
})
|
|
||||||
const pattern = new testPattern()
|
|
||||||
const userMeasurements = { seat: 50, seatBack: 20 }
|
|
||||||
pattern.settings.measurements = userMeasurements
|
|
||||||
pattern.draft()
|
pattern.draft()
|
||||||
expect(pattern.settings.measurements.seatFront).to.equal(30)
|
expect(pattern.settings[0].measurements.seatFront).to.equal(30)
|
||||||
})
|
})
|
||||||
|
|
||||||
it('Should calculate waistFrontArc and waistBackArc from waist and waistBack', function () {
|
it('Should calculate waistFrontArc and waistBackArc from waist and waistBack', function () {
|
||||||
const testPattern = new Design({
|
const pattern = new Pattern({ measurements: { waist: 50, waistBack: 20 } })
|
||||||
measurements: {},
|
|
||||||
plugins: [plugin],
|
|
||||||
})
|
|
||||||
const pattern = new testPattern()
|
|
||||||
const userMeasurements = { waist: 50, waistBack: 20 }
|
|
||||||
pattern.settings.measurements = userMeasurements
|
|
||||||
pattern.draft()
|
pattern.draft()
|
||||||
expect(pattern.settings.measurements.waistFrontArc).to.equal(15)
|
expect(pattern.settings[0].measurements.waistFrontArc).to.equal(15)
|
||||||
expect(pattern.settings.measurements.waistBackArc).to.equal(10)
|
expect(pattern.settings[0].measurements.waistBackArc).to.equal(10)
|
||||||
})
|
})
|
||||||
|
|
||||||
it('Should calculate crossSeamBack from crossSeam and crossSeamFront', function () {
|
it('Should calculate crossSeamBack from crossSeam and crossSeamFront', function () {
|
||||||
const testPattern = new Design({
|
const pattern = new Pattern({ measurements: { crossSeam: 50, crossSeamFront: 20 } })
|
||||||
measurements: {},
|
|
||||||
plugins: [plugin],
|
|
||||||
})
|
|
||||||
const pattern = new testPattern()
|
|
||||||
const userMeasurements = { crossSeam: 50, crossSeamFront: 20 }
|
|
||||||
pattern.settings.measurements = userMeasurements
|
|
||||||
pattern.draft()
|
pattern.draft()
|
||||||
expect(pattern.settings.measurements.crossSeamBack).to.equal(30)
|
expect(pattern.settings[0].measurements.crossSeamBack).to.equal(30)
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue