refactor(ui): mock matchMedia globally for unit tests (#6985)

* refactor(ui): mock matchMedia globally for unit tests

* remove unused tests
This commit is contained in:
Chirag Madlani 2022-08-27 16:00:38 +05:30 committed by GitHub
parent bcdb8891f8
commit 5cefe1bfbb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
14 changed files with 16 additions and 170 deletions

View File

@ -41,7 +41,7 @@ module.exports = {
// Test Environment
testEnvironment: 'jest-environment-jsdom-fourteen',
setupFilesAfterEnv: ['@testing-library/jest-dom/extend-expect'],
setupFilesAfterEnv: ['./src/setupTests.js'],
clearMocks: true,
moduleNameMapper: {
'\\.svg': '<rootDir>/src/test/unit/mocks/svg.mock.js', // Mock SVG imports

View File

@ -16,20 +16,6 @@ import React from 'react';
import { MemoryRouter } from 'react-router-dom';
import IngestionStepper from './IngestionStepper.component';
Object.defineProperty(window, 'matchMedia', {
writable: true,
value: jest.fn().mockImplementation((query) => ({
matches: false,
media: query,
onchange: null,
addListener: jest.fn(),
removeListener: jest.fn(),
addEventListener: jest.fn(),
removeEventListener: jest.fn(),
dispatchEvent: jest.fn(),
})),
});
describe('IngestionStepper Tests', () => {
it('Component should render properly', () => {
const { container } = render(

View File

@ -15,20 +15,6 @@ import { fireEvent, render, screen } from '@testing-library/react';
import React from 'react';
import AddAnnouncementModal from './AddAnnouncementModal';
Object.defineProperty(window, 'matchMedia', {
writable: true,
value: jest.fn().mockImplementation((query) => ({
matches: false,
media: query,
onchange: null,
addListener: jest.fn(),
removeListener: jest.fn(),
addEventListener: jest.fn(),
removeEventListener: jest.fn(),
dispatchEvent: jest.fn(),
})),
});
jest.mock('../../../AppState', () => ({
userDetails: {
name: '',

View File

@ -15,20 +15,6 @@ import { fireEvent, render, screen } from '@testing-library/react';
import React from 'react';
import EditAnnouncementModal from './EditAnnouncementModal';
Object.defineProperty(window, 'matchMedia', {
writable: true,
value: jest.fn().mockImplementation((query) => ({
matches: false,
media: query,
onchange: null,
addListener: jest.fn(),
removeListener: jest.fn(),
addEventListener: jest.fn(),
removeEventListener: jest.fn(),
dispatchEvent: jest.fn(),
})),
});
jest.mock('../../../utils/AnnouncementsUtils', () => ({
validateMessages: {
title: '',

View File

@ -16,20 +16,6 @@ import React from 'react';
import { MemoryRouter } from 'react-router-dom';
import AddPolicyPage from './AddPolicyPage';
Object.defineProperty(window, 'matchMedia', {
writable: true,
value: jest.fn().mockImplementation((query) => ({
matches: false,
media: query,
onchange: null,
addListener: jest.fn(),
removeListener: jest.fn(),
addEventListener: jest.fn(),
removeEventListener: jest.fn(),
dispatchEvent: jest.fn(),
})),
});
jest.mock('react-router-dom', () => ({
useHistory: jest.fn().mockReturnValue({
push: jest.fn(),

View File

@ -16,20 +16,6 @@ import React from 'react';
import { POLICY_DATA } from '../policies.mock';
import AddRulePage from './AddRulePage';
Object.defineProperty(window, 'matchMedia', {
writable: true,
value: jest.fn().mockImplementation((query) => ({
matches: false,
media: query,
onchange: null,
addListener: jest.fn(),
removeListener: jest.fn(),
addEventListener: jest.fn(),
removeEventListener: jest.fn(),
dispatchEvent: jest.fn(),
})),
});
jest.mock('react-router-dom', () => ({
useHistory: jest.fn().mockReturnValue({
push: jest.fn(),

View File

@ -16,20 +16,6 @@ import React from 'react';
import { POLICY_DATA } from '../policies.mock';
import EditRulePage from './EditRulePage';
Object.defineProperty(window, 'matchMedia', {
writable: true,
value: jest.fn().mockImplementation((query) => ({
matches: false,
media: query,
onchange: null,
addListener: jest.fn(),
removeListener: jest.fn(),
addEventListener: jest.fn(),
removeEventListener: jest.fn(),
dispatchEvent: jest.fn(),
})),
});
jest.mock('react-router-dom', () => ({
useHistory: jest.fn().mockReturnValue({
push: jest.fn(),

View File

@ -16,20 +16,6 @@ import React from 'react';
import { Rule } from '../../../generated/api/policies/createPolicy';
import RuleForm from './RuleForm';
Object.defineProperty(window, 'matchMedia', {
writable: true,
value: jest.fn().mockImplementation((query) => ({
matches: false,
media: query,
onchange: null,
addListener: jest.fn(),
removeListener: jest.fn(),
addEventListener: jest.fn(),
removeEventListener: jest.fn(),
dispatchEvent: jest.fn(),
})),
});
jest.mock('../../../axiosAPIs/rolesAPIV1', () => ({
getPolicyFunctions: jest.fn().mockImplementation(() => Promise.resolve()),
getPolicyResources: jest.fn().mockImplementation(() => Promise.resolve()),

View File

@ -17,20 +17,6 @@ import { EntityType } from '../../../enums/entity.enum';
import { POLICY_LIST_WITH_PAGING } from '../Roles.mock';
import AddAttributeModal from './AddAttributeModal';
Object.defineProperty(window, 'matchMedia', {
writable: true,
value: jest.fn().mockImplementation((query) => ({
matches: false,
media: query,
onchange: null,
addListener: jest.fn(),
removeListener: jest.fn(),
addEventListener: jest.fn(),
removeEventListener: jest.fn(),
dispatchEvent: jest.fn(),
})),
});
jest.mock('../../../axiosAPIs/rolesAPIV1', () => ({
getPolicies: jest
.fn()

View File

@ -16,20 +16,6 @@ import React from 'react';
import { MemoryRouter } from 'react-router-dom';
import AddRolePage from './AddRolePage';
Object.defineProperty(window, 'matchMedia', {
writable: true,
value: jest.fn().mockImplementation((query) => ({
matches: false,
media: query,
onchange: null,
addListener: jest.fn(),
removeListener: jest.fn(),
addEventListener: jest.fn(),
removeEventListener: jest.fn(),
dispatchEvent: jest.fn(),
})),
});
jest.mock('react-router-dom', () => ({
useHistory: jest.fn().mockReturnValue({
push: jest.fn(),

View File

@ -17,20 +17,6 @@ import { getRoleByName } from '../../../axiosAPIs/rolesAPIV1';
import { ROLE_DATA } from '../Roles.mock';
import RolesDetailPage from './RolesDetailPage';
Object.defineProperty(window, 'matchMedia', {
writable: true,
value: jest.fn().mockImplementation((query) => ({
matches: false,
media: query,
onchange: null,
addListener: jest.fn(),
removeListener: jest.fn(),
addEventListener: jest.fn(),
removeEventListener: jest.fn(),
dispatchEvent: jest.fn(),
})),
});
jest.mock('react-router-dom', () => ({
useHistory: jest.fn().mockReturnValue({
push: jest.fn(),

View File

@ -16,20 +16,6 @@ import React from 'react';
import { ROLES_LIST } from '../Roles.mock';
import RolesList from './RolesList';
Object.defineProperty(window, 'matchMedia', {
writable: true,
value: jest.fn().mockImplementation((query) => ({
matches: false,
media: query,
onchange: null,
addListener: jest.fn(),
removeListener: jest.fn(),
addEventListener: jest.fn(),
removeEventListener: jest.fn(),
dispatchEvent: jest.fn(),
})),
});
jest.mock('react-router-dom', () => ({
Link: jest.fn().mockImplementation(({ children, to, ...res }) => (
<a href={to} {...res}>

View File

@ -18,20 +18,6 @@ import RolesListPage from './RolesListPage';
const mockPush = jest.fn();
Object.defineProperty(window, 'matchMedia', {
writable: true,
value: jest.fn().mockImplementation((query) => ({
matches: false,
media: query,
onchange: null,
addListener: jest.fn(),
removeListener: jest.fn(),
addEventListener: jest.fn(),
removeEventListener: jest.fn(),
dispatchEvent: jest.fn(),
})),
});
jest.mock('react-router-dom', () => ({
useHistory: jest.fn().mockImplementation(() => ({
push: mockPush,

View File

@ -16,4 +16,18 @@
// expect(element).toHaveTextContent(/react/i)
// learn more: https://github.com/testing-library/jest-dom
import '@testing-library/jest-dom/extend-expect';
import './jest.overrides.js';
// Reference: https://github.com/ant-design/ant-design/issues/21096
Object.defineProperty(window, 'matchMedia', {
writable: true,
value: jest.fn().mockImplementation((query) => ({
matches: false,
media: query,
onchange: null,
addListener: jest.fn(), // deprecated
removeListener: jest.fn(), // deprecated
addEventListener: jest.fn(),
removeEventListener: jest.fn(),
dispatchEvent: jest.fn(),
})),
});