import { shallow } from "@vue/test-utils"; import TodoItem from "@/components/TodoItem.vue"; // import { expect } from 'chai' import * as all from "../setup.js"; describe("TodoItem.vue", () => { it("has the expected html structure", () => { const todoItem = {}; const wrapper = shallow(TodoItem, { propsData: { todoItem } }); expect(wrapper.element).toMatchSnapshot(); }); it("Renders title as 'TestTitle'", () => { const todoItem = { title: "TestTitle" }; const wrapper = shallow(TodoItem, { propsData: { todoItem } }); expect(wrapper.vm.todoItem.title).toMatch("TestTitle"); }); it("Renders completed as true", () => { const todoItem = { completed : true }; const wrapper = shallow(TodoItem, { propsData: { todoItem } }); expect(wrapper.vm.todoItem.completed).toEqual(true); }); // it("won't render additional props", () => { // const biscuits = "digestives" // const wrapper = shallow(TodoItem, { // propsData: { biscuits } // }); // expect(wrapper.vm.todoItem).toBe("undefined"); // }); it("Renders important as false", () => { const todoItem = { important : false }; const wrapper = shallow(TodoItem, { propsData: { todoItem } }); expect(wrapper.vm.todoItem.important).toEqual(false); }); // it("renders props.placeholderMsg when passed", () => { // const msg = "Add a Todo"; // const wrapper = shallow(NewTodo, { // propsData: { placeholderMsg: msg } // }); // expect(wrapper.vm._props.placeholderMsg).toMatch(msg); // }); // it("renders newTodo as empty string", () => { // const wrapper = shallow(NewTodo, {}); // expect(wrapper.vm.newTodo).toMatch(""); // }); });