donal
2018-04-22 3bd680802264ee3f6d8e8dede670efb4d8de9878
tests/unit/vue-components/NewTodo.spec.js
@@ -1,42 +1,41 @@
import { shallow, createLocalVue, mount } from "@vue/test-utils";
import Vuex from 'vuex';
/* eslint-disable */
import { shallow, createLocalVue } from "@vue/test-utils";
import Vuex from "vuex";
import NewTodo from "@/components/NewTodo.vue";
// import { expect } from 'chai'
import * as all from "../setup.js";
const localVue = createLocalVue()
const localVue = createLocalVue();
localVue.use(Vuex)
localVue.use(Vuex);
let methods;
let store;
describe("NewTodo.vue", () => {
  let methods;
  let store;
  beforeEach(() => {
    methods = {
      newTodoAdded: jest.fn()
    },
    };
    store = new Vuex.Store({
      state: {},
      methods
    })
    });
  });
  it("calls newTodoAdded() when keyup.enter hit.", () => {
    // time to try and test some vuex stuff and see if the methods are called when expected.
    const wrapper = shallow(NewTodo, { methods , localVue})
    const wrapper = shallow(NewTodo, { methods, localVue });
    const input = wrapper.find(".md-input");
    input.trigger('keyup.enter')
    expect(methods.newTodoAdded).toHaveBeenCalled()
    input.trigger("keyup.enter");
    expect(methods.newTodoAdded).toHaveBeenCalled();
  });
  it("does not call newTodoAdded() when keyup.space hit.", () => {
    // time to try and test some vuex stuff and see if the methods are called when expected.
    const wrapper = shallow(NewTodo, { methods , localVue})
    const wrapper = shallow(NewTodo, { methods, localVue });
    const input = wrapper.find(".md-input");
    input.trigger('keyup.space')
    expect(methods.newTodoAdded).not.toHaveBeenCalled()
    input.trigger("keyup.space");
    expect(methods.newTodoAdded).not.toHaveBeenCalled();
  });
  it("renders props.placeholderMsg when passed", () => {
@@ -56,16 +55,4 @@
    const wrapper = shallow(NewTodo);
    expect(wrapper.element).toMatchSnapshot();
  });
  // it("has the expected html structure", () => {
  //   const wrapper = mount(NewTodo);
  //   expect(wrapper.element).toMatchSnapshot();
  // });
  // it("renders newTodo as test string ", () => {
  //   const wrapper = shallow(NewTodo, {
  //     propsData: { newTodo: "test string" }
  //   });
  //   expect(wrapper.vm.newTodo).toMatch("test string");
  // });
});