86 lines
1.7 KiB
JavaScript
86 lines
1.7 KiB
JavaScript
import { mount } from "@vue/test-utils"
|
|
import tab from "../Tab"
|
|
|
|
const factory = (props, data) => {
|
|
if (data) {
|
|
return mount(tab, {
|
|
propsData: props,
|
|
data: () => data,
|
|
slots: {
|
|
default: '<div id="testdiv"></div>',
|
|
},
|
|
})
|
|
} else {
|
|
return mount(tab, {
|
|
propsData: props,
|
|
slots: {
|
|
default: '<div id="testdiv"></div>',
|
|
},
|
|
})
|
|
}
|
|
}
|
|
|
|
describe("tab", () => {
|
|
test("mounts properly when needed props are passed in", () => {
|
|
const wrapper = factory({
|
|
label: "TestLabel",
|
|
icon: "TestIcon",
|
|
id: "testid",
|
|
selected: true,
|
|
})
|
|
|
|
expect(wrapper).toBeTruthy()
|
|
})
|
|
|
|
test("mounts properly when selected prop is not passed", () => {
|
|
const wrapper = factory({
|
|
label: "TestLabel",
|
|
icon: "TestIcon",
|
|
id: "testid",
|
|
})
|
|
|
|
expect(wrapper).toBeTruthy()
|
|
})
|
|
|
|
test("if 'selected' prop is not passed, it is set to false by default", () => {
|
|
const wrapper = factory({
|
|
label: "TestLabel",
|
|
icon: "TestIcon",
|
|
id: "testid",
|
|
})
|
|
|
|
expect(wrapper.props("selected")).toEqual(false)
|
|
})
|
|
|
|
test("if set active, the slot is shown", () => {
|
|
const wrapper = factory(
|
|
{
|
|
label: "TestLabel",
|
|
icon: "TestIcon",
|
|
id: "testid",
|
|
selected: true,
|
|
},
|
|
{
|
|
active: true,
|
|
}
|
|
)
|
|
|
|
expect(wrapper.find("#testdiv").isVisible()).toEqual(true)
|
|
})
|
|
|
|
test("if not set active, the slot is not rendered", () => {
|
|
const wrapper = factory(
|
|
{
|
|
label: "TestLabel",
|
|
icon: "TestIcon",
|
|
id: "testid",
|
|
},
|
|
{
|
|
active: false,
|
|
}
|
|
)
|
|
|
|
expect(wrapper.find("#testdiv").isVisible()).toEqual(false)
|
|
})
|
|
})
|