35 lines
1.0 KiB
JavaScript
35 lines
1.0 KiB
JavaScript
// The Lucia project.
|
|
// Copyright 2026-2026 DSP, inc. All rights reserved.
|
|
// Authors:
|
|
// imacat.yang@dsp.im (imacat), 2026/03/05
|
|
|
|
import { describe, it, expect } from "vitest";
|
|
import { mount } from "@vue/test-utils";
|
|
import ButtonFilled from "@/components/ButtonFilled.vue";
|
|
|
|
describe("ButtonFilled", () => {
|
|
it("renders button text", () => {
|
|
const wrapper = mount(ButtonFilled, {
|
|
props: { buttonText: "Save" },
|
|
});
|
|
expect(wrapper.text()).toBe("Save");
|
|
});
|
|
|
|
it("has filled background class", () => {
|
|
const wrapper = mount(ButtonFilled, {
|
|
props: { buttonText: "Save" },
|
|
});
|
|
expect(wrapper.find("button").exists()).toBe(true);
|
|
});
|
|
|
|
it("adds ring on mousedown and removes on mouseup", async () => {
|
|
const wrapper = mount(ButtonFilled, {
|
|
props: { buttonText: "Test" },
|
|
});
|
|
await wrapper.trigger("mousedown");
|
|
expect(wrapper.classes()).toContain("ring");
|
|
await wrapper.trigger("mouseup");
|
|
expect(wrapper.classes()).not.toContain("ring");
|
|
});
|
|
});
|