import { shallow } from "enzyme"; import * as React from "react"; import { UpVoteButton } from "./up_vote_button.component"; import VoteButton from "./vote_button.component"; import generateCommentsData from "../support/generate_comments_data"; import { UpVoteFragment } from "../support/schema"; describe("", () => { let comment: UpVoteFragment; const upVote = jasmine.createSpy("upVote"); beforeEach(() => { let commentsData = generateCommentsData(1); comment = commentsData[0]; }); it("should render a VoteButton component with the correct props", () => { const wrapper = shallow(); expect(wrapper.find(VoteButton).prop("buttonClassName")).toEqual("comment__votes--up"); expect(wrapper.find(VoteButton).prop("iconName")).toEqual("icon-chevron-top"); expect(wrapper.find(VoteButton).prop("votes")).toEqual(comment.upVotes); }); it("should pass disabled prop as true if comment upVoted is true", () => { comment.upVoted = true; const wrapper = shallow(); expect(wrapper.find(VoteButton).prop("disabled")).toBeTruthy(); }); it("should pass disabled prop as true if comment downVoted is true", () => { comment.downVoted = true; const wrapper = shallow(); expect(wrapper.find(VoteButton).prop("disabled")).toBeTruthy(); }); });