1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- import { cancelRunningRequest, sendNetworkRequest } from "../network"
- import AxiosStrategy, {
- cancelRunningAxiosRequest,
- } from "../strategies/AxiosStrategy"
- import ExtensionStrategy, {
- cancelRunningExtensionRequest,
- hasExtensionInstalled,
- } from "../strategies/ExtensionStrategy"
- jest.mock("../strategies/AxiosStrategy", () => ({
- __esModule: true,
- default: jest.fn(() => Promise.resolve()),
- cancelRunningAxiosRequest: jest.fn(() => Promise.resolve()),
- }))
- jest.mock("../strategies/ExtensionStrategy", () => ({
- __esModule: true,
- default: jest.fn(() => Promise.resolve()),
- cancelRunningExtensionRequest: jest.fn(() => Promise.resolve()),
- hasExtensionInstalled: jest.fn(),
- }))
- jest.mock("~/newstore/settings", () => {
- return {
- settingsStore: {
- value: {
- EXTENSIONS_ENABLED: true,
- },
- },
- }
- })
- global.$nuxt = {
- $loading: {
- finish: jest.fn(() => Promise.resolve()),
- },
- }
- beforeEach(() => {
- jest.clearAllMocks() // Reset the call count for the mock functions
- })
- describe("cancelRunningRequest", () => {
- test("cancels only extension request if extension allowed in settings and is installed", () => {
- hasExtensionInstalled.mockReturnValue(true)
- cancelRunningRequest()
- expect(cancelRunningAxiosRequest).not.toHaveBeenCalled()
- expect(cancelRunningExtensionRequest).toHaveBeenCalled()
- })
- test("cancels only axios request if extension is allowed but not installed", () => {
- hasExtensionInstalled.mockReturnValue(false)
- cancelRunningRequest()
- expect(cancelRunningExtensionRequest).not.toHaveBeenCalled()
- expect(cancelRunningAxiosRequest).toHaveBeenCalled()
- })
- })
- describe("sendNetworkRequest", () => {
- test("runs only extension request if extension allowed in settings and is installed and clears the progress bar", async () => {
- hasExtensionInstalled.mockReturnValue(true)
- await sendNetworkRequest({})
- expect(AxiosStrategy).not.toHaveBeenCalled()
- expect(ExtensionStrategy).toHaveBeenCalled()
- expect(global.$nuxt.$loading.finish).toHaveBeenCalled()
- })
- test("runs only axios request if extension is allowed but not installed and clears the progress bar", async () => {
- hasExtensionInstalled.mockReturnValue(false)
- await sendNetworkRequest({})
- expect(ExtensionStrategy).not.toHaveBeenCalled()
- expect(AxiosStrategy).toHaveBeenCalled()
- expect(global.$nuxt.$loading.finish).toHaveBeenCalled()
- })
- })
|