First commit
This commit is contained in:
@@ -0,0 +1,32 @@
|
||||
import { fireEvent, render } from "@testing-library/vue";
|
||||
import { describe, expect, it } from "vitest";
|
||||
import DsTabs from "../src/components/navigation/DsTabs.vue";
|
||||
|
||||
describe("DsTabs", () => {
|
||||
it("uses arrow, Home and End keys with automatic activation", async () => {
|
||||
const view = render(DsTabs, {
|
||||
props: {
|
||||
label: "Cuenta",
|
||||
modelValue: "profile",
|
||||
items: [
|
||||
{ id: "profile", label: "Perfil" },
|
||||
{ id: "security", label: "Seguridad" },
|
||||
{ id: "billing", label: "Facturación" },
|
||||
],
|
||||
},
|
||||
slots: {
|
||||
profile: "Perfil",
|
||||
security: "Seguridad",
|
||||
billing: "Facturación",
|
||||
},
|
||||
});
|
||||
const profile = view.getByRole("tab", { name: "Perfil" });
|
||||
await fireEvent.keyDown(profile, { key: "ArrowRight" });
|
||||
expect(view.emitted()["update:modelValue"]?.at(-1)).toEqual(["security"]);
|
||||
await view.rerender({ modelValue: "security" });
|
||||
await fireEvent.keyDown(view.getByRole("tab", { name: "Seguridad" }), {
|
||||
key: "End",
|
||||
});
|
||||
expect(view.emitted()["update:modelValue"]?.at(-1)).toEqual(["billing"]);
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user