|
@@ -1,9 +1,9 @@
|
|
|
import "raf/polyfill";
|
|
|
import React from "react";
|
|
|
-import { App, appName, titleName } from "./App";
|
|
|
+import { App, appName, Link, titleName } from "./App";
|
|
|
import { configure, shallow, mount } from "enzyme";
|
|
|
import Adapter from "enzyme-adapter-react-16";
|
|
|
-import toJson from 'enzyme-to-json';
|
|
|
+import toJson from "enzyme-to-json";
|
|
|
|
|
|
|
|
|
|
|
@@ -47,3 +47,46 @@ describe("<App />>", () => {
|
|
|
expect(toJson(tree)).toMatchSnapshot();
|
|
|
});
|
|
|
});
|
|
|
+
|
|
|
+describe("<Link>", () => {
|
|
|
+ const expected = "www.google.com";
|
|
|
+
|
|
|
+ it("link component accepts address prop", () => {
|
|
|
+ const wrapper = shallow(<Link address={expected} />);
|
|
|
+
|
|
|
+ expect(wrapper.instance().props.address).toBe(expected);
|
|
|
+ });
|
|
|
+
|
|
|
+
|
|
|
+ it("tag node renders href correctly", () => {
|
|
|
+ const wrapper = shallow(<Link address={expected} />);
|
|
|
+
|
|
|
+
|
|
|
+ expect(wrapper.prop("href")).toBe(expected);
|
|
|
+
|
|
|
+ expect(wrapper.props().href).toBe(expected);
|
|
|
+ });
|
|
|
+
|
|
|
+ it("returns null with true hide prop", () => {
|
|
|
+ const wrapper = shallow(<Link address={expected} hide={false} />);
|
|
|
+ expect(wrapper.find("a").length).toBe(1);
|
|
|
+ expect(wrapper.props().href).toBe(expected);
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ wrapper.setProps({ hide: true });
|
|
|
+
|
|
|
+ expect(wrapper.find("a").length).toBe(0);
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ expect(wrapper.getElement()).toBe(null);
|
|
|
+ expect(wrapper.getElement()).toBeNull();
|
|
|
+
|
|
|
+ expect(wrapper.get(0)).toBeNull();
|
|
|
+ });
|
|
|
+});
|