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: '
', }, }) } else { return mount(tab, { propsData: props, slots: { default: '
', }, }) } } 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) }) })