import { render, screen } from "@testing-library/react"; import { describe, it } from "vitest"; import { Language } from "."; describe("Language text", () => { const testLanguage: Language.Info = { code2: "en", name: "English", }; it("should show short text", () => { render(); expect(screen.getByText(testLanguage.code2)).toBeDefined(); }); it("should show long text", () => { render(); expect(screen.getByText(testLanguage.name)).toBeDefined(); }); const testLanguageWithHi: Language.Info = { ...testLanguage, hi: true }; it("should show short text with HI", () => { render(); const expectedText = `${testLanguageWithHi.code2}:HI`; expect(screen.getByText(expectedText)).toBeDefined(); }); it("should show long text with HI", () => { render(); const expectedText = `${testLanguageWithHi.name} HI`; expect(screen.getByText(expectedText)).toBeDefined(); }); const testLanguageWithForced: Language.Info = { ...testLanguage, forced: true, }; it("should show short text with Forced", () => { render(); const expectedText = `${testLanguageWithHi.code2}:Forced`; expect(screen.getByText(expectedText)).toBeDefined(); }); it("should show long text with Forced", () => { render(); const expectedText = `${testLanguageWithHi.name} Forced`; expect(screen.getByText(expectedText)).toBeDefined(); }); }); describe("Language list", () => { const elements: Language.Info[] = [ { code2: "en", name: "English", }, { code2: "zh", name: "Chinese", }, ]; it("should show all languages", () => { render(); elements.forEach((value) => { expect(screen.getByText(value.name)).toBeDefined(); }); }); });