Skip to content

Commit 1627a60

Browse files
committed
(refactor/test): export fixtures as objects named <prefix>F
- better organization to combine related fixture data as one object - naming as <prefix>F makes it more clear that we're referencing a fixture in the code, similar to e.g. TypeScript I<suffix>
1 parent 13e172c commit 1627a60

File tree

2 files changed

+31
-29
lines changed

2 files changed

+31
-29
lines changed

src/index.spec.js

+24-24
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import { mount } from 'enzyme'
33
import React from 'react'
44

55
import SignatureCanvas from './index.js'
6-
import { props, sigPadOptions, dotData, canvasProps, trimmedSize } from '../test-utils/fixtures.js'
6+
import { propsF, dotF } from '../test-utils/fixtures.js'
77

88
test('mounts canvas and instance properly', () => {
99
const wrapper = mount(<SignatureCanvas />)
@@ -19,11 +19,11 @@ describe('props are set and updated correctly', () => {
1919
})
2020

2121
test('mounted initial props and options should match', () => {
22-
const instance = mount(<SignatureCanvas {...props} />).instance()
22+
const instance = mount(<SignatureCanvas {...propsF.all} />).instance()
2323
const sigPad = instance.getSignaturePad()
2424

25-
expect(instance.props).toMatchObject(props)
26-
expect(sigPad).toMatchObject(sigPadOptions)
25+
expect(instance.props).toMatchObject(propsF.all)
26+
expect(sigPad).toMatchObject(propsF.sigPadOptions)
2727
})
2828

2929
test('updated props and options should match', () => {
@@ -32,13 +32,13 @@ describe('props are set and updated correctly', () => {
3232
const sigPad = instance.getSignaturePad()
3333

3434
// default props and options should not match new ones
35-
expect(instance.props).not.toMatchObject(props)
36-
expect(sigPad).not.toMatchObject(sigPadOptions)
35+
expect(instance.props).not.toMatchObject(propsF.all)
36+
expect(sigPad).not.toMatchObject(propsF.sigPadOptions)
3737

3838
// should match when updated
39-
wrapper.setProps(props)
40-
expect(instance.props).toMatchObject(props)
41-
expect(sigPad).toMatchObject(sigPadOptions)
39+
wrapper.setProps(propsF.all)
40+
expect(instance.props).toMatchObject(propsF.all)
41+
expect(sigPad).toMatchObject(propsF.sigPadOptions)
4242
})
4343
})
4444

@@ -53,20 +53,20 @@ describe('SigCanvas wrapper methods return equivalent to SigPad', () => {
5353
})
5454

5555
test('fromData should be equivalent', () => {
56-
rSigPad.fromData(dotData)
56+
rSigPad.fromData(dotF.data)
5757
const rData = rSigPad.toData()
58-
expect(rData).toBe(dotData)
58+
expect(rData).toBe(dotF.data)
5959
expect(rData).toBe(sigPad.toData())
6060

6161
// test reverse as both froms should be equivalent
62-
sigPad.fromData(dotData)
62+
sigPad.fromData(dotF.data)
6363
const data = sigPad.toData()
6464
expect(rData).toBe(data)
6565
expect(rSigPad.toData()).toBe(data)
6666
})
6767

6868
test('toDataURL should be equivalent', () => {
69-
rSigPad.fromData(dotData)
69+
rSigPad.fromData(dotF.data)
7070
expect(rSigPad.toDataURL()).toBe(sigPad.toDataURL())
7171
expect(rSigPad.toDataURL('image/jpg')).toBe(sigPad.toDataURL('image/jpg'))
7272
expect(rSigPad.toDataURL('image/jpg', 0.7)).toBe(sigPad.toDataURL('image/jpg', 0.7))
@@ -75,23 +75,23 @@ describe('SigCanvas wrapper methods return equivalent to SigPad', () => {
7575

7676
test('fromDataURL should be equivalent', () => {
7777
// convert data fixture to dataURL
78-
rSigPad.fromData(dotData)
79-
const dotDataURL = rSigPad.toDataURL()
78+
rSigPad.fromData(dotF.data)
79+
const dotFDataURL = rSigPad.toDataURL()
8080

81-
rSigPad.fromDataURL(dotDataURL)
81+
rSigPad.fromDataURL(dotFDataURL)
8282
const rDataURL = rSigPad.toDataURL()
83-
expect(rDataURL).toBe(dotDataURL)
83+
expect(rDataURL).toBe(dotFDataURL)
8484
expect(rDataURL).toBe(sigPad.toDataURL())
8585

8686
// test reverse as both froms should be equivalent
87-
sigPad.fromDataURL(dotDataURL)
87+
sigPad.fromDataURL(dotFDataURL)
8888
const dataURL = sigPad.toDataURL()
8989
expect(rDataURL).toBe(dataURL)
9090
expect(rSigPad.toDataURL()).toBe(dataURL)
9191
})
9292

9393
test('isEmpty & clear should be equivalent', () => {
94-
rSigPad.fromData(dotData)
94+
rSigPad.fromData(dotF.data)
9595
let isEmpty = rSigPad.isEmpty()
9696
expect(isEmpty).toBe(false)
9797
expect(isEmpty).toBe(sigPad.isEmpty())
@@ -103,7 +103,7 @@ describe('SigCanvas wrapper methods return equivalent to SigPad', () => {
103103
expect(isEmpty).toBe(sigPad.isEmpty())
104104

105105
// test reverse
106-
sigPad.fromData(dotData)
106+
sigPad.fromData(dotF.data)
107107
isEmpty = rSigPad.isEmpty()
108108
expect(isEmpty).toBe(false)
109109
expect(isEmpty).toBe(sigPad.isEmpty())
@@ -118,9 +118,9 @@ describe('SigCanvas wrapper methods return equivalent to SigPad', () => {
118118

119119
describe('get methods return correct canvases', () => {
120120
const instance = mount(
121-
<SignatureCanvas canvasProps={canvasProps} />
121+
<SignatureCanvas canvasProps={dotF.canvasProps} />
122122
).instance()
123-
instance.fromData(dotData)
123+
instance.fromData(dotF.data)
124124

125125
test('getCanvas should return the same underlying canvas', () => {
126126
const canvas = instance.getCanvas()
@@ -129,7 +129,7 @@ describe('get methods return correct canvases', () => {
129129

130130
test('getTrimmedCanvas should return a trimmed canvas', () => {
131131
const trimmed = instance.getTrimmedCanvas()
132-
expect(trimmed.width).toBe(trimmedSize.width)
133-
expect(trimmed.height).toBe(trimmedSize.height)
132+
expect(trimmed.width).toBe(dotF.trimmedSize.width)
133+
expect(trimmed.height).toBe(dotF.trimmedSize.height)
134134
})
135135
})

test-utils/fixtures.js

+7-5
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// signature_pad options
2-
export const sigPadOptions = {
2+
const sigPadOptions = {
33
velocityFilterWeight: 0.8,
44
minWidth: 0.6,
55
maxWidth: 2.6,
@@ -16,10 +16,12 @@ const rSCProps = {
1616
clearOnResize: false
1717
}
1818
// should all be different from the defaults
19-
export const props = { ...sigPadOptions, ...rSCProps }
19+
const props = { ...sigPadOptions, ...rSCProps }
20+
export const propsF = { sigPadOptions, all: props }
2021

21-
export const dotData = [
22+
const dotData = [
2223
[{ x: 466.59375, y: 189, time: 1564339579755, color: 'black' }]
2324
]
24-
export const canvasProps = { width: 1011, height: 326 }
25-
export const trimmedSize = { width: 4, height: 4 }
25+
const canvasProps = { width: 1011, height: 326 }
26+
const trimmedSize = { width: 4, height: 4 }
27+
export const dotF = { data: dotData, canvasProps, trimmedSize }

0 commit comments

Comments
 (0)