Skip to content

Commit 15c7ffb

Browse files
authored
Remove fishery (#1554)
1 parent b21552e commit 15c7ffb

File tree

10 files changed

+40
-96
lines changed

10 files changed

+40
-96
lines changed

package.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,6 @@
5252
"concurrently": "^9.2.1",
5353
"eslint": "^9.24.0",
5454
"eslint-plugin-react": "^7.33.2",
55-
"fishery": "^0.3.0",
5655
"globals": "17.0.0",
5756
"inquirer": "^13.2.0",
5857
"jest": "^29.7.0",

pnpm-lock.yaml

Lines changed: 0 additions & 10 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/server/factories/bannerDesign.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import { Factory } from 'fishery';
21
import type { BannerDesignFromTool, HexColour } from '../../shared/types';
32

43
const hexColourStringRegex = /^([0-9A-F]{2})([0-9A-F]{2})([0-9A-F]{2})$/i;
@@ -16,7 +15,7 @@ const stringToHexColour = (colourString: string): HexColour => {
1615
}
1716
};
1817

19-
export default Factory.define<BannerDesignFromTool>(() => ({
18+
export default (overrides?: Partial<BannerDesignFromTool>): BannerDesignFromTool => ({
2019
name: 'EXAMPLE_DESIGN',
2120
visual: {
2221
kind: 'Image',
@@ -73,4 +72,5 @@ export default Factory.define<BannerDesignFromTool>(() => ({
7372
goalColour: stringToHexColour('000000'),
7473
},
7574
},
76-
}));
75+
...overrides,
76+
});
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
import { Factory } from 'fishery';
21
import type { BannerVariant } from '../../shared/types';
32

4-
export default Factory.define<BannerVariant>(() => ({
3+
export default (overrides?: Partial<BannerVariant>): BannerVariant => ({
54
name: 'Example Banner Variant',
65
template: {
76
designName: 'TEST_DESIGN',
87
},
98
componentType: 'ACQUISITIONS_SUBSCRIPTIONS_BANNER',
10-
}));
9+
...overrides,
10+
});

src/server/factories/epicVariant.ts

Lines changed: 0 additions & 24 deletions
This file was deleted.

src/server/factories/index.ts

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,9 @@
1-
import { register } from 'fishery';
21
import bannerDesign from './bannerDesign';
32
import bannerVariant from './bannerVariant';
4-
import epicVariant from './epicVariant';
53
import targeting from './targeting';
6-
import test from './test';
74

8-
export const factories = register({
5+
export const factories = {
96
targeting,
10-
test,
11-
epicVariant,
127
bannerVariant,
138
bannerDesign,
14-
});
9+
};

src/server/factories/targeting.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
1-
import { Factory } from 'fishery';
21
import type { EpicTargeting } from '../../shared/types';
32

4-
export default Factory.define<EpicTargeting>(() => ({
3+
export default (overrides?: Partial<EpicTargeting>): EpicTargeting => ({
54
contentType: 'Article',
65
sectionId: 'culture',
76
shouldHideReaderRevenue: false,
@@ -10,4 +9,5 @@ export default Factory.define<EpicTargeting>(() => ({
109
tags: [],
1110
showSupportMessaging: true,
1211
hasOptedOutOfArticleCount: false,
13-
}));
12+
...overrides,
13+
});

src/server/factories/test.ts

Lines changed: 0 additions & 30 deletions
This file was deleted.

src/server/lib/targeting.test.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,13 @@ import {
1010

1111
describe('shouldNotRenderEpic', () => {
1212
it('returns true for blacklisted section', () => {
13-
const data = factories.targeting.build({ sectionId: 'careers' });
13+
const data = factories.targeting({ sectionId: 'careers' });
1414
const got = shouldNotRenderEpic(data);
1515
expect(got).toBe(true);
1616
});
1717

1818
it('returns false for valid data', () => {
19-
const data = factories.targeting.build();
19+
const data = factories.targeting();
2020
const got = shouldNotRenderEpic(data);
2121
expect(got).toBe(false);
2222
});

src/server/tests/banners/channelBannerTests.test.ts

Lines changed: 27 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,38 @@
1-
import type { BannerDesignFromTool } from '../../../shared/types';
1+
import type { BannerDesignFromTool, BannerDesignImage } from '../../../shared/types';
22
import { BannerTemplate } from '../../../shared/types';
33
import { factories } from '../../factories/';
44
import { getDesignForVariant } from './channelBannerTests';
55

66
describe('getDesignForVariant', () => {
77
it('returns undefined if the variant specifies a template', () => {
8-
const variantWithTemplate = factories.bannerVariant.build({
8+
const variantWithTemplate = factories.bannerVariant({
99
template: BannerTemplate.SignInPromptBanner,
1010
});
11-
const designs: BannerDesignFromTool[] = [factories.bannerDesign.build()];
11+
const designs: BannerDesignFromTool[] = [factories.bannerDesign()];
1212

1313
const design = getDesignForVariant(variantWithTemplate, designs);
1414

1515
expect(design).toBeUndefined();
1616
});
1717

1818
it('returns a matching design if the variant specifies a design', () => {
19-
const variantWithDesign = factories.bannerVariant.build({
19+
const variantWithDesign = factories.bannerVariant({
2020
template: { designName: 'BAR' },
2121
});
22-
const fooDesign = factories.bannerDesign.build({
22+
const defaultVisual = factories.bannerDesign().visual as BannerDesignImage;
23+
const fooDesign = factories.bannerDesign({
2324
name: 'FOO',
24-
visual: { kind: 'Image', altText: 'Foo Alt' },
25+
visual: {
26+
...defaultVisual,
27+
altText: 'Foo Alt',
28+
},
2529
});
26-
const barDesign = factories.bannerDesign.build({
30+
const barDesign = factories.bannerDesign({
2731
name: 'BAR',
28-
visual: { kind: 'Image', altText: 'Bar Alt' },
32+
visual: {
33+
...defaultVisual,
34+
altText: 'Bar Alt',
35+
},
2936
});
3037
const designs: BannerDesignFromTool[] = [fooDesign, barDesign];
3138

@@ -39,16 +46,23 @@ describe('getDesignForVariant', () => {
3946
});
4047

4148
it('returns undefined if the variant specifies a design that does not exist', () => {
42-
const variantWithDesign = factories.bannerVariant.build({
49+
const variantWithDesign = factories.bannerVariant({
4350
template: { designName: 'BAZ' },
4451
});
45-
const fooDesign = factories.bannerDesign.build({
52+
const defaultVisual = factories.bannerDesign().visual as BannerDesignImage;
53+
const fooDesign = factories.bannerDesign({
4654
name: 'FOO',
47-
visual: { kind: 'Image', altText: 'Foo Alt' },
55+
visual: {
56+
...defaultVisual,
57+
altText: 'Foo Alt',
58+
},
4859
});
49-
const barDesign = factories.bannerDesign.build({
60+
const barDesign = factories.bannerDesign({
5061
name: 'BAR',
51-
visual: { kind: 'Image', altText: 'Bar Alt' },
62+
visual: {
63+
...defaultVisual,
64+
altText: 'Bar Alt',
65+
},
5266
});
5367
const designs: BannerDesignFromTool[] = [fooDesign, barDesign];
5468

0 commit comments

Comments
 (0)