Adds d3-* in moduleNameMapper option on jest.js

Signed-off-by: Leonardo Maier <leonarmaier@gmail.com>
This commit is contained in:
Leonardo Maier
2022-09-06 17:38:28 -03:00
committed by Fredrik Adelöw
parent 43afded227
commit 96c550945f
8 changed files with 98 additions and 2 deletions
+1
View File
@@ -132,6 +132,7 @@ async function getProjectConfig(targetPath, displayName) {
collectCoverageFrom: ['**/*.{js,jsx,ts,tsx,mjs,cjs}', '!**/*.d.ts'],
moduleNameMapper: {
'\\.(css|less|scss|sss|styl)$': require.resolve('jest-css-modules'),
'^d3-(.*)$': 'd3-$1/dist/d3-$1',
},
transform: {
@@ -69,6 +69,23 @@ class CustomProjectGrowthAlert extends ProjectGrowthAlert {
}
describe('ProjectGrowthAlert', () => {
const { ResizeObserver } = window;
beforeEach(() => {
// @ts-expect-error
delete window.ResizeObserver;
window.ResizeObserver = jest.fn().mockImplementation(() => ({
observe: jest.fn(),
unobserve: jest.fn(),
disconnect: jest.fn(),
}));
});
afterEach(() => {
window.ResizeObserver = ResizeObserver;
jest.restoreAllMocks();
});
describe('constructor', () => {
it('should create a project growth alert', async () => {
const alert = new ProjectGrowthAlert(mockData);
@@ -66,6 +66,22 @@ class CustomUnlabeledDataflowAlert extends UnlabeledDataflowAlert {
}
describe('UnlabeledDataflowAlert', () => {
const { ResizeObserver } = window;
beforeEach(() => {
// @ts-expect-error
delete window.ResizeObserver;
window.ResizeObserver = jest.fn().mockImplementation(() => ({
observe: jest.fn(),
unobserve: jest.fn(),
disconnect: jest.fn(),
}));
});
afterEach(() => {
window.ResizeObserver = ResizeObserver;
jest.restoreAllMocks();
});
describe('constructor', () => {
it('should create an unlabeled dataflow alert', async () => {
const alert = new UnlabeledDataflowAlert(mockData);
@@ -55,6 +55,22 @@ const renderWithProps = ({
};
describe('<BarChart />', () => {
const { ResizeObserver } = window;
beforeEach(() => {
// @ts-expect-error
delete window.ResizeObserver;
window.ResizeObserver = jest.fn().mockImplementation(() => ({
observe: jest.fn(),
unobserve: jest.fn(),
disconnect: jest.fn(),
}));
});
afterEach(() => {
window.ResizeObserver = ResizeObserver;
jest.restoreAllMocks();
});
it('Renders without exploding', async () => {
const rendered = await renderWithProps({} as BarChartProps);
expect(rendered.getByText('test-id-10')).toBeInTheDocument();
@@ -74,6 +74,22 @@ const renderProductInsightsCardInTestApp = async (
);
describe('<ProductInsightsCard/>', () => {
const { ResizeObserver } = window;
beforeEach(() => {
// @ts-expect-error
delete window.ResizeObserver;
window.ResizeObserver = jest.fn().mockImplementation(() => ({
observe: jest.fn(),
unobserve: jest.fn(),
disconnect: jest.fn(),
}));
});
afterEach(() => {
window.ResizeObserver = ResizeObserver;
jest.restoreAllMocks();
});
it('Should render the right subheader for products with cost data', async () => {
const entity = {
...mockProductCost,
@@ -45,6 +45,22 @@ const MockProjectGrowthAlert = createMockProjectGrowthData(data => ({
}));
describe('<ProjectGrowthAlertCard />', () => {
const { ResizeObserver } = window;
beforeEach(() => {
// @ts-expect-error
delete window.ResizeObserver;
window.ResizeObserver = jest.fn().mockImplementation(() => ({
observe: jest.fn(),
unobserve: jest.fn(),
disconnect: jest.fn(),
}));
});
afterEach(() => {
window.ResizeObserver = ResizeObserver;
jest.restoreAllMocks();
});
it('renders the correct title and subheader for multiple services', async () => {
const subheader = new RegExp(
`${MockAlertCosts.length} products, sorted by cost`,
@@ -40,6 +40,21 @@ const MockUnlabeledDataflowAlertSingleProject = createMockUnlabeledDataflowData(
);
describe('<UnlabeledDataflowAlertCard />', () => {
const { ResizeObserver } = window;
beforeEach(() => {
// @ts-expect-error
delete window.ResizeObserver;
window.ResizeObserver = jest.fn().mockImplementation(() => ({
observe: jest.fn(),
unobserve: jest.fn(),
disconnect: jest.fn(),
}));
});
afterEach(() => {
window.ResizeObserver = ResizeObserver;
jest.restoreAllMocks();
});
it('renders the correct subheader for multiple projects', async () => {
const subheader = new RegExp(
`Showing costs from ${MockUnlabeledDataflowAlertMultipleProjects.projects.length} ` +
@@ -24,8 +24,7 @@ describe('BuildTimeline', () => {
const { ResizeObserver } = window;
beforeEach(() => {
// @ts-expect-error: Since we have strictNullChecks enabled, this will throw an error as window.ResizeObserver
// it's not an optional operand
// @ts-expect-error
delete window.ResizeObserver;
window.ResizeObserver = jest.fn().mockImplementation(() => ({
observe: jest.fn(),