diff --git a/src/Components/Blueprints/ImportBlueprintModal.test.tsx b/src/Components/Blueprints/ImportBlueprintModal.test.tsx index e374898c..8c1aaed5 100644 --- a/src/Components/Blueprints/ImportBlueprintModal.test.tsx +++ b/src/Components/Blueprints/ImportBlueprintModal.test.tsx @@ -1,12 +1,14 @@ +import '@testing-library/jest-dom'; + import { screen, waitFor } from '@testing-library/react'; import userEvent from '@testing-library/user-event'; +import nodeFetch, { Request, Response } from 'node-fetch'; -import '@testing-library/jest-dom'; - -import '@testing-library/jest-dom'; import { renderWithReduxRouter } from '../../test/testUtils'; -jest.mock('@redhat-cloud-services/frontend-components/useChrome', () => ({ +Object.assign(global, { fetch: nodeFetch, Request, Response }); + +vi.mock('@redhat-cloud-services/frontend-components/useChrome', () => ({ useChrome: () => ({ isBeta: () => true, isProd: () => true, @@ -16,9 +18,9 @@ jest.mock('@redhat-cloud-services/frontend-components/useChrome', () => ({ window.HTMLElement.prototype.scrollTo = function () {}; -jest.mock('@unleash/proxy-client-react', () => ({ - useUnleashContext: () => jest.fn(), - useFlag: jest.fn((flag) => { +vi.mock('@unleash/proxy-client-react', () => ({ + useUnleashContext: () => vi.fn(), + useFlag: vi.fn((flag) => { switch (flag) { case 'image-builder.import.enabled': return true; diff --git a/src/test/Components/Blueprints/Blueprints.test.tsx b/src/test/Components/Blueprints/Blueprints.test.tsx index 40484ca3..5cfec31c 100644 --- a/src/test/Components/Blueprints/Blueprints.test.tsx +++ b/src/test/Components/Blueprints/Blueprints.test.tsx @@ -1,8 +1,10 @@ import React from 'react'; +import '@testing-library/jest-dom'; import { screen, waitFor, within } from '@testing-library/react'; import userEvent from '@testing-library/user-event'; import { rest } from 'msw'; +import nodeFetch, { Request, Response } from 'node-fetch'; import CreateImageWizard from '../../../Components/CreateImageWizardV2'; import LandingPage from '../../../Components/LandingPage/LandingPage'; @@ -13,11 +15,10 @@ import { renderCustomRoutesWithReduxRouter, renderWithReduxRouter, } from '../../testUtils'; -import '@testing-library/jest-dom'; -import '@testing-library/jest-dom'; +Object.assign(global, { fetch: nodeFetch, Request, Response }); -jest.mock('@redhat-cloud-services/frontend-components/useChrome', () => ({ +vi.mock('@redhat-cloud-services/frontend-components/useChrome', () => ({ useChrome: () => ({ isBeta: () => true, isProd: () => true, @@ -25,9 +26,9 @@ jest.mock('@redhat-cloud-services/frontend-components/useChrome', () => ({ }), })); -jest.mock('@unleash/proxy-client-react', () => ({ - useUnleashContext: () => jest.fn(), - useFlag: jest.fn((flag) => +vi.mock('@unleash/proxy-client-react', () => ({ + useUnleashContext: () => vi.fn(), + useFlag: vi.fn((flag) => flag === 'image-builder.new-wizard.enabled' ? true : false ), })); diff --git a/src/test/Components/CreateImageWizardV2/CreateImageWizard.azure.test.tsx b/src/test/Components/CreateImageWizardV2/CreateImageWizard.azure.test.tsx index cb6f60e4..52494804 100644 --- a/src/test/Components/CreateImageWizardV2/CreateImageWizard.azure.test.tsx +++ b/src/test/Components/CreateImageWizardV2/CreateImageWizard.azure.test.tsx @@ -5,6 +5,7 @@ import type { Router as RemixRouter } from '@remix-run/router'; import { screen, waitFor } from '@testing-library/react'; import userEvent from '@testing-library/user-event'; import { rest } from 'msw'; +import nodeFetch, { Request, Response } from 'node-fetch'; import CreateImageWizard from '../../../Components/CreateImageWizardV2/CreateImageWizard'; import ShareImageModal from '../../../Components/ShareImageModal/ShareImageModal'; @@ -18,6 +19,8 @@ import { verifyCancelButton, } from '../../testUtils'; +Object.assign(global, { fetch: nodeFetch, Request, Response }); + const routes = [ { path: 'insights/image-builder/*', @@ -32,7 +35,7 @@ const routes = [ element: , }, ]; -jest.mock('@redhat-cloud-services/frontend-components/useChrome', () => ({ +vi.mock('@redhat-cloud-services/frontend-components/useChrome', () => ({ useChrome: () => ({ auth: { getUser: () => { @@ -51,6 +54,11 @@ jest.mock('@redhat-cloud-services/frontend-components/useChrome', () => ({ }), })); +vi.mock('@unleash/proxy-client-react', () => ({ + useUnleashContext: () => vi.fn(), + useFlag: vi.fn(() => false), +})); + // The router is just initiliazed here, it's assigned a value in the tests let router: RemixRouter | undefined = undefined; @@ -60,7 +68,7 @@ beforeAll(() => { }); afterEach(() => { - jest.clearAllMocks(); + vi.clearAllMocks(); router = undefined; server.resetHandlers(); }); diff --git a/src/test/Components/CreateImageWizardV2/CreateImageWizard.compliance.test.tsx b/src/test/Components/CreateImageWizardV2/CreateImageWizard.compliance.test.tsx index 2e109a23..268349ce 100644 --- a/src/test/Components/CreateImageWizardV2/CreateImageWizard.compliance.test.tsx +++ b/src/test/Components/CreateImageWizardV2/CreateImageWizard.compliance.test.tsx @@ -4,11 +4,14 @@ import '@testing-library/jest-dom'; import { screen } from '@testing-library/react'; import userEvent from '@testing-library/user-event'; +import nodeFetch, { Request, Response } from 'node-fetch'; import CreateImageWizard from '../../../Components/CreateImageWizardV2/CreateImageWizard'; import ShareImageModal from '../../../Components/ShareImageModal/ShareImageModal'; import { clickNext, renderCustomRoutesWithReduxRouter } from '../../testUtils'; +Object.assign(global, { fetch: nodeFetch, Request, Response }); + const routes = [ { path: 'insights/image-builder/*', @@ -24,7 +27,7 @@ const routes = [ }, ]; -jest.mock('@redhat-cloud-services/frontend-components/useChrome', () => ({ +vi.mock('@redhat-cloud-services/frontend-components/useChrome', () => ({ useChrome: () => ({ auth: { getUser: () => { @@ -43,9 +46,9 @@ jest.mock('@redhat-cloud-services/frontend-components/useChrome', () => ({ }), })); -jest.mock('@unleash/proxy-client-react', () => ({ - useUnleashContext: () => jest.fn(), - useFlag: jest.fn((flag) => +vi.mock('@unleash/proxy-client-react', () => ({ + useUnleashContext: () => vi.fn(), + useFlag: vi.fn((flag) => flag === 'image-builder.wizard.oscap.enabled' ? true : false ), })); @@ -56,7 +59,7 @@ beforeAll(() => { }); afterEach(() => { - jest.clearAllMocks(); + vi.clearAllMocks(); }); const selectRhel8 = async () => { diff --git a/src/test/Components/CreateImageWizardV2/CreateImageWizard.content.test.tsx b/src/test/Components/CreateImageWizardV2/CreateImageWizard.content.test.tsx index a43eb4ea..ee7a3000 100644 --- a/src/test/Components/CreateImageWizardV2/CreateImageWizard.content.test.tsx +++ b/src/test/Components/CreateImageWizardV2/CreateImageWizard.content.test.tsx @@ -5,6 +5,7 @@ import '@testing-library/jest-dom'; import type { Router as RemixRouter } from '@remix-run/router'; import { screen, waitFor, within } from '@testing-library/react'; import userEvent from '@testing-library/user-event'; +import nodeFetch, { Request, Response } from 'node-fetch'; import CreateImageWizard from '../../../Components/CreateImageWizardV2/CreateImageWizard'; import { @@ -14,6 +15,8 @@ import { verifyCancelButton, } from '../../testUtils'; +Object.assign(global, { fetch: nodeFetch, Request, Response }); + const routes = [ { path: 'insights/image-builder/*', @@ -28,7 +31,7 @@ const routes = [ // The router is just initiliazed here, it's assigned a value in the tests let router: RemixRouter | undefined = undefined; -jest.mock('@redhat-cloud-services/frontend-components/useChrome', () => ({ +vi.mock('@redhat-cloud-services/frontend-components/useChrome', () => ({ useChrome: () => ({ auth: { getUser: () => { @@ -48,9 +51,10 @@ jest.mock('@redhat-cloud-services/frontend-components/useChrome', () => ({ })); let mockContentSourcesEnabled: boolean; -jest.mock('@unleash/proxy-client-react', () => ({ - useUnleashContext: () => jest.fn(), - useFlag: jest.fn((flag) => { + +vi.mock('@unleash/proxy-client-react', () => ({ + useUnleashContext: () => vi.fn(), + useFlag: vi.fn((flag) => { switch (flag) { case 'image-builder.enable-content-sources': return mockContentSourcesEnabled; @@ -69,7 +73,7 @@ beforeAll(() => { }); afterEach(() => { - jest.clearAllMocks(); + vi.clearAllMocks(); mockContentSourcesEnabled = true; }); diff --git a/src/test/Components/CreateImageWizardV2/CreateImageWizard.test.tsx b/src/test/Components/CreateImageWizardV2/CreateImageWizard.test.tsx index 55a9e7db..c3e90be8 100644 --- a/src/test/Components/CreateImageWizardV2/CreateImageWizard.test.tsx +++ b/src/test/Components/CreateImageWizardV2/CreateImageWizard.test.tsx @@ -11,6 +11,7 @@ import { } from '@testing-library/react'; import userEvent from '@testing-library/user-event'; import { rest } from 'msw'; +import nodeFetch, { Request, Response } from 'node-fetch'; import { enterBlueprintName, @@ -29,6 +30,8 @@ import { verifyCancelButton, } from '../../testUtils'; +Object.assign(global, { fetch: nodeFetch, Request, Response }); + const routes = [ { path: 'insights/image-builder/*', @@ -46,7 +49,7 @@ const routes = [ let router: RemixRouter | undefined = undefined; -jest.mock('@redhat-cloud-services/frontend-components/useChrome', () => ({ +vi.mock('@redhat-cloud-services/frontend-components/useChrome', () => ({ useChrome: () => ({ auth: { getUser: () => { @@ -65,6 +68,11 @@ jest.mock('@redhat-cloud-services/frontend-components/useChrome', () => ({ }), })); +vi.mock('@unleash/proxy-client-react', () => ({ + useUnleashContext: () => vi.fn(), + useFlag: vi.fn(() => false), +})); + const switchToAWSManual = async () => { const user = userEvent.setup(); const manualRadio = await screen.findByRole('radio', { @@ -96,7 +104,7 @@ beforeAll(() => { }); afterEach(() => { - jest.clearAllMocks(); + vi.clearAllMocks(); router = undefined; server.resetHandlers(); }); diff --git a/src/test/Components/CreateImageWizardV2/steps/Details/Details.test.tsx b/src/test/Components/CreateImageWizardV2/steps/Details/Details.test.tsx index ff037508..ca6b7164 100644 --- a/src/test/Components/CreateImageWizardV2/steps/Details/Details.test.tsx +++ b/src/test/Components/CreateImageWizardV2/steps/Details/Details.test.tsx @@ -1,6 +1,7 @@ import { screen, waitFor } from '@testing-library/react'; import '@testing-library/jest-dom'; import { userEvent } from '@testing-library/user-event'; +import nodeFetch, { Request, Response } from 'node-fetch'; import { CREATE_BLUEPRINT, EDIT_BLUEPRINT } from '../../../../../constants'; import { mockBlueprintIds } from '../../../../fixtures/blueprints'; @@ -18,7 +19,9 @@ import { renderEditMode, } from '../../wizardTestUtils'; -jest.mock('@redhat-cloud-services/frontend-components/useChrome', () => ({ +Object.assign(global, { fetch: nodeFetch, Request, Response }); + +vi.mock('@redhat-cloud-services/frontend-components/useChrome', () => ({ useChrome: () => ({ auth: { getUser: () => { @@ -37,6 +40,11 @@ jest.mock('@redhat-cloud-services/frontend-components/useChrome', () => ({ }), })); +vi.mock('@unleash/proxy-client-react', () => ({ + useUnleashContext: () => vi.fn(), + useFlag: vi.fn(() => false), +})); + const goToDetailsStep = async () => { await clickNext(); await clickNext(); diff --git a/src/test/Components/CreateImageWizardV2/steps/FileSystemConfiguration/FileSystemConfiguration.test.tsx b/src/test/Components/CreateImageWizardV2/steps/FileSystemConfiguration/FileSystemConfiguration.test.tsx index 70c9e7a5..2ecd90b5 100644 --- a/src/test/Components/CreateImageWizardV2/steps/FileSystemConfiguration/FileSystemConfiguration.test.tsx +++ b/src/test/Components/CreateImageWizardV2/steps/FileSystemConfiguration/FileSystemConfiguration.test.tsx @@ -1,5 +1,6 @@ import { screen, waitFor, within } from '@testing-library/react'; import { userEvent } from '@testing-library/user-event'; +import nodeFetch, { Request, Response } from 'node-fetch'; import { CREATE_BLUEPRINT, @@ -22,7 +23,9 @@ import { renderEditMode, } from '../../wizardTestUtils'; -jest.mock('@redhat-cloud-services/frontend-components/useChrome', () => ({ +Object.assign(global, { fetch: nodeFetch, Request, Response }); + +vi.mock('@redhat-cloud-services/frontend-components/useChrome', () => ({ useChrome: () => ({ auth: { getUser: () => { @@ -41,6 +44,11 @@ jest.mock('@redhat-cloud-services/frontend-components/useChrome', () => ({ }), })); +vi.mock('@unleash/proxy-client-react', () => ({ + useUnleashContext: () => vi.fn(), + useFlag: vi.fn(() => false), +})); + const goToFileSystemConfigurationStep = async () => { const guestImageCheckBox = await screen.findByRole('checkbox', { name: /virtualization guest image checkbox/i, diff --git a/src/test/Components/CreateImageWizardV2/steps/FirstBoot/Firstboot.test.tsx b/src/test/Components/CreateImageWizardV2/steps/FirstBoot/Firstboot.test.tsx index 09f83acf..9512d403 100644 --- a/src/test/Components/CreateImageWizardV2/steps/FirstBoot/Firstboot.test.tsx +++ b/src/test/Components/CreateImageWizardV2/steps/FirstBoot/Firstboot.test.tsx @@ -1,5 +1,7 @@ +import '@testing-library/jest-dom'; import { screen, waitFor } from '@testing-library/react'; import { userEvent } from '@testing-library/user-event'; +import nodeFetch, { Request, Response } from 'node-fetch'; import { CREATE_BLUEPRINT, @@ -23,9 +25,10 @@ import { renderCreateMode, renderEditMode, } from '../../wizardTestUtils'; -import '@testing-library/jest-dom'; -jest.mock('@redhat-cloud-services/frontend-components/useChrome', () => ({ +Object.assign(global, { fetch: nodeFetch, Request, Response }); + +vi.mock('@redhat-cloud-services/frontend-components/useChrome', () => ({ useChrome: () => ({ auth: { getUser: () => { @@ -39,11 +42,18 @@ jest.mock('@redhat-cloud-services/frontend-components/useChrome', () => ({ }, }, isBeta: () => true, - isProd: () => true, - getEnvironment: () => 'prod', + isProd: () => false, + getEnvironment: () => 'stage', }), })); +vi.mock('@unleash/proxy-client-react', () => ({ + useUnleashContext: () => vi.fn(), + useFlag: vi.fn((flag) => + flag === 'image-builder.firstboot.enabled' ? true : false + ), +})); + const goToFirstBootStep = async (): Promise => { const guestImageCheckBox = await screen.findByRole('checkbox', { name: /virtualization guest image checkbox/i, diff --git a/src/test/Components/CreateImageWizardV2/steps/ImageOutput/TargetEnvironment.test.tsx b/src/test/Components/CreateImageWizardV2/steps/ImageOutput/TargetEnvironment.test.tsx index eaaf8414..52a35ef6 100644 --- a/src/test/Components/CreateImageWizardV2/steps/ImageOutput/TargetEnvironment.test.tsx +++ b/src/test/Components/CreateImageWizardV2/steps/ImageOutput/TargetEnvironment.test.tsx @@ -3,6 +3,7 @@ import '@testing-library/jest-dom'; import { screen, waitFor } from '@testing-library/react'; import userEvent from '@testing-library/user-event'; +import nodeFetch, { Request, Response } from 'node-fetch'; import CreateImageWizard from '../../../../../Components/CreateImageWizardV2/CreateImageWizard'; import { @@ -45,13 +46,16 @@ import { renderEditMode, } from '../../wizardTestUtils'; +Object.assign(global, { fetch: nodeFetch, Request, Response }); + const routes = [ { path: 'insights/image-builder/imagewizard/:composeId?', element: , }, ]; -jest.mock('@redhat-cloud-services/frontend-components/useChrome', () => ({ + +vi.mock('@redhat-cloud-services/frontend-components/useChrome', () => ({ useChrome: () => ({ auth: { getUser: () => { @@ -70,13 +74,18 @@ jest.mock('@redhat-cloud-services/frontend-components/useChrome', () => ({ }), })); +vi.mock('@unleash/proxy-client-react', () => ({ + useUnleashContext: () => vi.fn(), + useFlag: vi.fn(() => false), +})); + beforeAll(() => { // scrollTo is not defined in jsdom window.HTMLElement.prototype.scrollTo = function () {}; }); afterEach(() => { - jest.clearAllMocks(); + vi.clearAllMocks(); server.resetHandlers(); }); diff --git a/src/test/Components/CreateImageWizardV2/steps/Oscap/Oscap.test.tsx b/src/test/Components/CreateImageWizardV2/steps/Oscap/Oscap.test.tsx index d82dd2ad..17b56f3d 100644 --- a/src/test/Components/CreateImageWizardV2/steps/Oscap/Oscap.test.tsx +++ b/src/test/Components/CreateImageWizardV2/steps/Oscap/Oscap.test.tsx @@ -1,5 +1,6 @@ import { screen, waitFor } from '@testing-library/react'; import { userEvent } from '@testing-library/user-event'; +import nodeFetch, { Request, Response } from 'node-fetch'; import { CREATE_BLUEPRINT, EDIT_BLUEPRINT } from '../../../../../constants'; import { CreateBlueprintRequest } from '../../../../../store/imageBuilderApi'; @@ -19,7 +20,9 @@ import { renderEditMode, } from '../../wizardTestUtils'; -jest.mock('@redhat-cloud-services/frontend-components/useChrome', () => ({ +Object.assign(global, { fetch: nodeFetch, Request, Response }); + +vi.mock('@redhat-cloud-services/frontend-components/useChrome', () => ({ useChrome: () => ({ auth: { getUser: () => { @@ -38,6 +41,11 @@ jest.mock('@redhat-cloud-services/frontend-components/useChrome', () => ({ }), })); +vi.mock('@unleash/proxy-client-react', () => ({ + useUnleashContext: () => vi.fn(), + useFlag: vi.fn(() => false), +})); + const goToOscapStep = async () => { const guestImageCheckBox = await screen.findByRole('checkbox', { name: /virtualization guest image checkbox/i, diff --git a/src/test/Components/CreateImageWizardV2/steps/Packages/Packages.test.tsx b/src/test/Components/CreateImageWizardV2/steps/Packages/Packages.test.tsx index bc5480f6..9b147d01 100644 --- a/src/test/Components/CreateImageWizardV2/steps/Packages/Packages.test.tsx +++ b/src/test/Components/CreateImageWizardV2/steps/Packages/Packages.test.tsx @@ -1,5 +1,7 @@ +import '@testing-library/jest-dom'; import { screen, waitFor, within } from '@testing-library/react'; import { userEvent } from '@testing-library/user-event'; +import nodeFetch, { Request, Response } from 'node-fetch'; import { CREATE_BLUEPRINT, EDIT_BLUEPRINT } from '../../../../../constants'; import { CreateBlueprintRequest } from '../../../../../store/imageBuilderApi'; @@ -24,7 +26,9 @@ import { renderEditMode, } from '../../wizardTestUtils'; -jest.mock('@redhat-cloud-services/frontend-components/useChrome', () => ({ +Object.assign(global, { fetch: nodeFetch, Request, Response }); + +vi.mock('@redhat-cloud-services/frontend-components/useChrome', () => ({ useChrome: () => ({ auth: { getUser: () => { @@ -43,9 +47,9 @@ jest.mock('@redhat-cloud-services/frontend-components/useChrome', () => ({ }), })); -jest.mock('@unleash/proxy-client-react', () => ({ - useUnleashContext: () => jest.fn(), - useFlag: jest.fn((flag) => +vi.mock('@unleash/proxy-client-react', () => ({ + useUnleashContext: () => vi.fn(), + useFlag: vi.fn((flag) => flag === 'image-builder.pkgrecs.enabled' ? true : false ), })); diff --git a/src/test/Components/CreateImageWizardV2/steps/Registration/Registration.test.tsx b/src/test/Components/CreateImageWizardV2/steps/Registration/Registration.test.tsx index 5fff1002..db388af8 100644 --- a/src/test/Components/CreateImageWizardV2/steps/Registration/Registration.test.tsx +++ b/src/test/Components/CreateImageWizardV2/steps/Registration/Registration.test.tsx @@ -1,5 +1,6 @@ import { screen, waitFor } from '@testing-library/react'; import { userEvent } from '@testing-library/user-event'; +import nodeFetch, { Request, Response } from 'node-fetch'; import { CREATE_BLUEPRINT, @@ -24,7 +25,9 @@ import { interceptEditBlueprintRequest, } from '../../wizardTestUtils'; -jest.mock('@redhat-cloud-services/frontend-components/useChrome', () => ({ +Object.assign(global, { fetch: nodeFetch, Request, Response }); + +vi.mock('@redhat-cloud-services/frontend-components/useChrome', () => ({ useChrome: () => ({ auth: { getUser: () => { @@ -43,6 +46,11 @@ jest.mock('@redhat-cloud-services/frontend-components/useChrome', () => ({ }), })); +vi.mock('@unleash/proxy-client-react', () => ({ + useUnleashContext: () => vi.fn(), + useFlag: vi.fn(() => false), +})); + const selectActivationKey = async () => { const activationKeyDropdown = await screen.findByRole('textbox', { name: 'Select activation key', diff --git a/src/test/Components/CreateImageWizardV2/steps/Repositories/Repositories.test.tsx b/src/test/Components/CreateImageWizardV2/steps/Repositories/Repositories.test.tsx index dd21e4f8..162c5372 100644 --- a/src/test/Components/CreateImageWizardV2/steps/Repositories/Repositories.test.tsx +++ b/src/test/Components/CreateImageWizardV2/steps/Repositories/Repositories.test.tsx @@ -1,5 +1,7 @@ +import '@testing-library/jest-dom'; import { screen, waitFor } from '@testing-library/react'; import { userEvent } from '@testing-library/user-event'; +import nodeFetch, { Request, Response } from 'node-fetch'; import { CREATE_BLUEPRINT, EDIT_BLUEPRINT } from '../../../../../constants'; import { @@ -25,7 +27,9 @@ import { renderEditMode, } from '../../wizardTestUtils'; -jest.mock('@redhat-cloud-services/frontend-components/useChrome', () => ({ +Object.assign(global, { fetch: nodeFetch, Request, Response }); + +vi.mock('@redhat-cloud-services/frontend-components/useChrome', () => ({ useChrome: () => ({ auth: { getUser: () => { @@ -44,6 +48,11 @@ jest.mock('@redhat-cloud-services/frontend-components/useChrome', () => ({ }), })); +vi.mock('@unleash/proxy-client-react', () => ({ + useUnleashContext: () => vi.fn(), + useFlag: vi.fn(() => false), +})); + const goToRepositoriesStep = async () => { const guestImageCheckBox = await screen.findByRole('checkbox', { name: /virtualization guest image checkbox/i, diff --git a/src/test/Components/CreateImageWizardV2/steps/Snapshot/Snapshot.test.tsx b/src/test/Components/CreateImageWizardV2/steps/Snapshot/Snapshot.test.tsx index bc70f20b..cde257ed 100644 --- a/src/test/Components/CreateImageWizardV2/steps/Snapshot/Snapshot.test.tsx +++ b/src/test/Components/CreateImageWizardV2/steps/Snapshot/Snapshot.test.tsx @@ -1,5 +1,7 @@ +import '@testing-library/jest-dom'; import { screen, waitFor } from '@testing-library/react'; import { userEvent } from '@testing-library/user-event'; +import nodeFetch, { Request, Response } from 'node-fetch'; import { CREATE_BLUEPRINT, EDIT_BLUEPRINT } from '../../../../../constants'; import { CreateBlueprintRequest } from '../../../../../store/imageBuilderApi'; @@ -21,7 +23,9 @@ import { renderEditMode, } from '../../wizardTestUtils'; -jest.mock('@redhat-cloud-services/frontend-components/useChrome', () => ({ +Object.assign(global, { fetch: nodeFetch, Request, Response }); + +vi.mock('@redhat-cloud-services/frontend-components/useChrome', () => ({ useChrome: () => ({ auth: { getUser: () => { @@ -40,6 +44,11 @@ jest.mock('@redhat-cloud-services/frontend-components/useChrome', () => ({ }), })); +vi.mock('@unleash/proxy-client-react', () => ({ + useUnleashContext: () => vi.fn(), + useFlag: vi.fn(() => false), +})); + const goToSnapshotStep = async () => { const guestImageCheckBox = await screen.findByRole('checkbox', { name: /virtualization guest image checkbox/i, diff --git a/src/test/Components/CreateImageWizardV2/steps/TargetEnvironment/AwsTarget.test.tsx b/src/test/Components/CreateImageWizardV2/steps/TargetEnvironment/AwsTarget.test.tsx index d9743f00..0a78e166 100644 --- a/src/test/Components/CreateImageWizardV2/steps/TargetEnvironment/AwsTarget.test.tsx +++ b/src/test/Components/CreateImageWizardV2/steps/TargetEnvironment/AwsTarget.test.tsx @@ -1,5 +1,6 @@ import { screen, waitFor } from '@testing-library/react'; import { userEvent } from '@testing-library/user-event'; +import nodeFetch, { Request, Response } from 'node-fetch'; import { CREATE_BLUEPRINT, EDIT_BLUEPRINT } from '../../../../../constants'; import { @@ -20,7 +21,9 @@ import { renderEditMode, } from '../../wizardTestUtils'; -jest.mock('@redhat-cloud-services/frontend-components/useChrome', () => ({ +Object.assign(global, { fetch: nodeFetch, Request, Response }); + +vi.mock('@redhat-cloud-services/frontend-components/useChrome', () => ({ useChrome: () => ({ auth: { getUser: () => { @@ -39,6 +42,11 @@ jest.mock('@redhat-cloud-services/frontend-components/useChrome', () => ({ }), })); +vi.mock('@unleash/proxy-client-react', () => ({ + useUnleashContext: () => vi.fn(), + useFlag: vi.fn(() => false), +})); + const goToAwsStep = async () => { await clickNext(); }; diff --git a/src/test/Components/CreateImageWizardV2/steps/TargetEnvironment/AzureTarget.test.tsx b/src/test/Components/CreateImageWizardV2/steps/TargetEnvironment/AzureTarget.test.tsx index 5ae5fc5f..84da132f 100644 --- a/src/test/Components/CreateImageWizardV2/steps/TargetEnvironment/AzureTarget.test.tsx +++ b/src/test/Components/CreateImageWizardV2/steps/TargetEnvironment/AzureTarget.test.tsx @@ -1,5 +1,6 @@ import { screen, waitFor } from '@testing-library/react'; import { userEvent } from '@testing-library/user-event'; +import nodeFetch, { Request, Response } from 'node-fetch'; import { CREATE_BLUEPRINT, EDIT_BLUEPRINT } from '../../../../../constants'; import { @@ -20,7 +21,9 @@ import { renderEditMode, } from '../../wizardTestUtils'; -jest.mock('@redhat-cloud-services/frontend-components/useChrome', () => ({ +Object.assign(global, { fetch: nodeFetch, Request, Response }); + +vi.mock('@redhat-cloud-services/frontend-components/useChrome', () => ({ useChrome: () => ({ auth: { getUser: () => { @@ -39,6 +42,11 @@ jest.mock('@redhat-cloud-services/frontend-components/useChrome', () => ({ }), })); +vi.mock('@unleash/proxy-client-react', () => ({ + useUnleashContext: () => vi.fn(), + useFlag: vi.fn(() => false), +})); + const goToAzureStep = async () => { await clickNext(); }; diff --git a/src/test/Components/CreateImageWizardV2/steps/TargetEnvironment/GCPTarget.test.tsx b/src/test/Components/CreateImageWizardV2/steps/TargetEnvironment/GCPTarget.test.tsx index 9cd24384..c0d5edce 100644 --- a/src/test/Components/CreateImageWizardV2/steps/TargetEnvironment/GCPTarget.test.tsx +++ b/src/test/Components/CreateImageWizardV2/steps/TargetEnvironment/GCPTarget.test.tsx @@ -1,5 +1,6 @@ import { screen, waitFor } from '@testing-library/react'; import { userEvent } from '@testing-library/user-event'; +import nodeFetch, { Request, Response } from 'node-fetch'; import { CREATE_BLUEPRINT, EDIT_BLUEPRINT } from '../../../../../constants'; import { @@ -23,7 +24,9 @@ import { renderEditMode, } from '../../wizardTestUtils'; -jest.mock('@redhat-cloud-services/frontend-components/useChrome', () => ({ +Object.assign(global, { fetch: nodeFetch, Request, Response }); + +vi.mock('@redhat-cloud-services/frontend-components/useChrome', () => ({ useChrome: () => ({ auth: { getUser: () => { @@ -42,6 +45,11 @@ jest.mock('@redhat-cloud-services/frontend-components/useChrome', () => ({ }), })); +vi.mock('@unleash/proxy-client-react', () => ({ + useUnleashContext: () => vi.fn(), + useFlag: vi.fn(() => false), +})); + const GCP_ACCOUNT = 'test@gmail.com'; const goToReview = async () => { diff --git a/src/test/Components/ImagesTable/ImagesTable.test.tsx b/src/test/Components/ImagesTable/ImagesTable.test.tsx index f4af79b8..58dd55cd 100644 --- a/src/test/Components/ImagesTable/ImagesTable.test.tsx +++ b/src/test/Components/ImagesTable/ImagesTable.test.tsx @@ -1,7 +1,8 @@ +import '@testing-library/jest-dom'; import { screen, waitFor, within } from '@testing-library/react'; import userEvent from '@testing-library/user-event'; +import nodeFetch, { Request, Response } from 'node-fetch'; -import '@testing-library/jest-dom'; import { mockComposes, mockClones, @@ -9,7 +10,9 @@ import { } from '../../fixtures/composes'; import { renderWithReduxRouter } from '../../testUtils'; -jest.mock('@redhat-cloud-services/frontend-components/useChrome', () => ({ +Object.assign(global, { fetch: nodeFetch, Request, Response }); + +vi.mock('@redhat-cloud-services/frontend-components/useChrome', () => ({ useChrome: () => ({ isBeta: () => false, isProd: () => true, @@ -17,9 +20,9 @@ jest.mock('@redhat-cloud-services/frontend-components/useChrome', () => ({ }), })); -jest.mock('@unleash/proxy-client-react', () => ({ - useUnleashContext: () => jest.fn(), - useFlag: jest.fn((flag) => { +vi.mock('@unleash/proxy-client-react', () => ({ + useUnleashContext: () => vi.fn(), + useFlag: vi.fn((flag) => { switch (flag) { case 'edgeParity.image-list': return false; diff --git a/src/test/Components/LandingPage/LandingPage.test.tsx b/src/test/Components/LandingPage/LandingPage.test.tsx index 08a20403..aa65b28f 100644 --- a/src/test/Components/LandingPage/LandingPage.test.tsx +++ b/src/test/Components/LandingPage/LandingPage.test.tsx @@ -1,12 +1,16 @@ +import '@testing-library/jest-dom'; import { screen } from '@testing-library/react'; import { rest } from 'msw'; +import nodeFetch, { Request, Response } from 'node-fetch'; import { IMAGE_BUILDER_API } from '../../../constants'; import { mockComposesEmpty } from '../../fixtures/composes'; import { server } from '../../mocks/server'; import { renderWithReduxRouter } from '../../testUtils'; -jest.mock('@redhat-cloud-services/frontend-components/useChrome', () => ({ +Object.assign(global, { fetch: nodeFetch, Request, Response }); + +vi.mock('@redhat-cloud-services/frontend-components/useChrome', () => ({ useChrome: () => ({ isBeta: () => false, isProd: () => true, @@ -14,9 +18,9 @@ jest.mock('@redhat-cloud-services/frontend-components/useChrome', () => ({ }), })); -jest.mock('@unleash/proxy-client-react', () => ({ - useUnleashContext: () => jest.fn(), - useFlag: jest.fn((flag) => { +vi.mock('@unleash/proxy-client-react', () => ({ + useUnleashContext: () => vi.fn(), + useFlag: vi.fn((flag) => { switch (flag) { case 'edgeParity.image-list': return false; diff --git a/src/test/Components/ShareImageModal/ShareImageModal.test.tsx b/src/test/Components/ShareImageModal/ShareImageModal.test.tsx index 496fd1aa..555aaca4 100644 --- a/src/test/Components/ShareImageModal/ShareImageModal.test.tsx +++ b/src/test/Components/ShareImageModal/ShareImageModal.test.tsx @@ -3,11 +3,14 @@ import React from 'react'; import '@testing-library/jest-dom'; import { screen, waitFor } from '@testing-library/react'; import userEvent from '@testing-library/user-event'; +import nodeFetch, { Request, Response } from 'node-fetch'; import ShareImageModal from '../../../Components/ShareImageModal/ShareImageModal'; import { renderCustomRoutesWithReduxRouter } from '../../testUtils'; -jest.mock('@redhat-cloud-services/frontend-components/useChrome', () => ({ +Object.assign(global, { fetch: nodeFetch, Request, Response }); + +vi.mock('@redhat-cloud-services/frontend-components/useChrome', () => ({ useChrome: () => ({ isBeta: () => false, isProd: () => true, @@ -97,7 +100,7 @@ describe('Create Share To Regions Modal', () => { }); test('select options disabled correctly based on status and region', async () => { - renderCustomRoutesWithReduxRouter(`share/${composeId}`, {}, routes); + await renderCustomRoutesWithReduxRouter(`share/${composeId}`, {}, routes); const selectToggle = await screen.findByRole('button', { name: /menu toggle/i, diff --git a/src/test/Components/edge/EdgeImagesTable.test.tsx b/src/test/Components/edge/EdgeImagesTable.test.tsx index abac6aa4..044b70c3 100644 --- a/src/test/Components/edge/EdgeImagesTable.test.tsx +++ b/src/test/Components/edge/EdgeImagesTable.test.tsx @@ -2,9 +2,9 @@ import '@testing-library/jest-dom'; import { useFlag } from '@unleash/proxy-client-react'; -jest.mock('@unleash/proxy-client-react', () => ({ - useUnleashContext: () => jest.fn(), - useFlag: jest.fn((flag) => +vi.mock('@unleash/proxy-client-react', () => ({ + useUnleashContext: () => vi.fn(), + useFlag: vi.fn((flag) => flag === 'image-builder.edge.local-image-table' ? true : false ), })); diff --git a/src/test/Components/edge/ImageDetails.test.tsx b/src/test/Components/edge/ImageDetails.test.tsx index abac6aa4..044b70c3 100644 --- a/src/test/Components/edge/ImageDetails.test.tsx +++ b/src/test/Components/edge/ImageDetails.test.tsx @@ -2,9 +2,9 @@ import '@testing-library/jest-dom'; import { useFlag } from '@unleash/proxy-client-react'; -jest.mock('@unleash/proxy-client-react', () => ({ - useUnleashContext: () => jest.fn(), - useFlag: jest.fn((flag) => +vi.mock('@unleash/proxy-client-react', () => ({ + useUnleashContext: () => vi.fn(), + useFlag: vi.fn((flag) => flag === 'image-builder.edge.local-image-table' ? true : false ), }));