From 982bd6d06b396a2fe894daac02539f37404907d6 Mon Sep 17 00:00:00 2001 From: Robin Date: Fri, 6 Sep 2024 18:31:07 -0400 Subject: [PATCH] Test SpotlightTile --- src/tile/SpotlightTile.test.tsx | 57 +++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 src/tile/SpotlightTile.test.tsx diff --git a/src/tile/SpotlightTile.test.tsx b/src/tile/SpotlightTile.test.tsx new file mode 100644 index 00000000..0303f401 --- /dev/null +++ b/src/tile/SpotlightTile.test.tsx @@ -0,0 +1,57 @@ +/* +Copyright 2024 New Vector Ltd + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +import { RemoteTrackPublication } from "livekit-client"; +import { test, expect } from "vitest"; +import { render, screen } from "@testing-library/react"; +import { axe } from "vitest-axe"; + +import { SpotlightTile } from "./SpotlightTile"; +import { withRemoteMedia } from "../utils/test"; + +global.IntersectionObserver = class MockIntersectionObserver { + public observe(): void {} + public unobserve(): void {} +} as unknown as typeof IntersectionObserver; + +test("SpotlightTile is accessible", async () => { + await withRemoteMedia( + { + rawDisplayName: "Alice", + getMxcAvatarUrl: () => "mxc://adfsg", + }, + { + getTrackPublication: () => + ({}) as Partial as RemoteTrackPublication, + }, + async (vm) => { + const { container } = render( + {}} + showIndicators + />, + ); + expect(await axe(container)).toHaveNoViolations(); + // Name should be visible + screen.getByText("Alice"); + }, + ); +});