66 lines
1.8 KiB
JavaScript
66 lines
1.8 KiB
JavaScript
import { mount } from "@vue/test-utils";
|
|
import checkbox from "./checkbox";
|
|
import { getMountOptions } from "@/helpers/unit-test-helper.js";
|
|
import inputButtonWrapperMixin from "@/mixins/input-button-wrapper-mixin";
|
|
|
|
describe("checkbox.vue", () => {
|
|
it("Should have correct group name", async () => {
|
|
// Arrange
|
|
let { wrapper } = setupMocks({
|
|
mountOptionsMockData: {
|
|
propsData: {
|
|
groupName: "checkbox-button-test",
|
|
value: "test value",
|
|
},
|
|
},
|
|
});
|
|
|
|
// Act
|
|
const input = wrapper.find("input");
|
|
|
|
// Assert
|
|
expect(input.attributes().name).toEqual("checkbox-button-test");
|
|
});
|
|
|
|
it("Should have correct label text", async () => {
|
|
// Act
|
|
let { wrapper } = setupMocks({
|
|
mountOptionsMockData: {
|
|
propsData: {
|
|
buttonLabel: "label text",
|
|
value: "test value",
|
|
},
|
|
},
|
|
});
|
|
|
|
// Arrange
|
|
const paragraph = wrapper.find("p");
|
|
|
|
// Assert
|
|
expect(paragraph.text()).toEqual("label text");
|
|
});
|
|
|
|
it("Should have correct screenreader-only text", async () => {
|
|
// Act
|
|
let { wrapper } = setupMocks({});
|
|
|
|
// Arrange
|
|
await wrapper.setProps({
|
|
screenReaderOnlyText: "screenreader text",
|
|
value: "test value",
|
|
});
|
|
const paragraph = wrapper.find(".sr-only");
|
|
|
|
// Assert
|
|
expect(paragraph.text()).toEqual("screenreader text");
|
|
});
|
|
});
|
|
|
|
function setupMocks({ mountOptionsMockData = {} }) {
|
|
const wrapper = mount(checkbox, {
|
|
...mountOptionsMockData,
|
|
mixins: [inputButtonWrapperMixin],
|
|
});
|
|
|
|
return { wrapper };
|
|
}
|