Skip to content

Commit 5812dad

Browse files
Improving tests
1 parent bf72e6a commit 5812dad

File tree

1 file changed

+34
-2
lines changed

1 file changed

+34
-2
lines changed

tests/unit/vuedraggable.spec.js

Lines changed: 34 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,28 @@ import draggable from "@/vuedraggable";
44
let wrapper;
55
let vm;
66
let props;
7+
let items;
8+
let html;
79

810
describe("draggable.vue", () => {
911
beforeEach(() => {
10-
wrapper = shallowMount(draggable);
12+
items= ["a", "b", "c"];
13+
wrapper = shallowMount(draggable,{
14+
propsData:{
15+
list: items
16+
},
17+
slots:{
18+
default: items.map(item => `<div>${item}</div>`),
19+
header: "<h1/>",
20+
footer: "<footer/>"
21+
}
22+
});
1123
vm = wrapper.vm;
1224
props = vm.$options.props;
25+
html = wrapper.element;
1326
});
1427

15-
it("should instanciate without error", () => {
28+
it("should instantiate without error", () => {
1629
expect(wrapper).not.toBeUndefined();
1730
});
1831

@@ -63,4 +76,23 @@ describe("draggable.vue", () => {
6376
expect(clone.type).toBe(Function);
6477
expect(clone.default(expected)).toBe(expected);
6578
})
79+
80+
it("renders correctly", () => {
81+
expect(wrapper.html()).toMatch(/^<div>.*<\/div>$/);
82+
})
83+
84+
test.each([
85+
"ul",
86+
"span",
87+
"div"
88+
])(
89+
"renders tag %s as root element",
90+
(tag) => {
91+
wrapper = shallowMount(draggable, {
92+
propsData: { tag }
93+
});
94+
const expectedRegex = new RegExp(`^<${tag}>.*<\/${tag}>$`);
95+
expect(wrapper.html()).toMatch(expectedRegex);
96+
}
97+
)
6698
});

0 commit comments

Comments
 (0)