import { render } from "@opensea/testing-utils/render"
import { act, screen, waitFor } from "@testing-library/react"
import { userEvent } from "@testing-library/user-event"
import React from "react"
import { beforeEach, describe, expect, test, vi } from "vitest"
import { AppRouter } from "../../tests/AppRouter"
import { Item } from "./Item"
describe(" ", () => {
beforeEach(() => {
Object.defineProperty(window, "location", {
writable: true,
value: { ...window.location, assign: vi.fn() },
})
})
test("onNavigationCompleted", async () => {
const onNavigationCompleted = vi.fn()
render(
-
-
Click me
,
{ wrapper: ({ children }) => {children} },
)
const [_, innerLink] = screen.getAllByRole("link", {
name: "Click me",
})
await act(async () => {
await userEvent.click(innerLink)
})
await waitFor(() => {
const args = onNavigationCompleted.mock.calls[0]
expect(args[0]).toBeTypeOf("number")
expect(args[0]).toBeGreaterThan(0)
expect(args[1]).toBeTypeOf("number")
expect(args[1]).toBeGreaterThan(0)
})
})
})