123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114 |
- import {mount} from 'enzyme';
- import React from 'react';
- import BookmarkStar from 'app/components/bookmarkStar';
- describe('BookmarkStar', function() {
- let wrapper, projectMock;
- beforeEach(function() {
- wrapper = mount(
- <BookmarkStar
- organization={TestStubs.Organization()}
- project={TestStubs.Project()}
- />,
- TestStubs.routerContext()
- );
- projectMock = MockApiClient.addMockResponse({
- url: '/projects/org-slug/project-slug/',
- method: 'PUT',
- data: TestStubs.Project({isBookmarked: false, platform: 'javascript'}),
- });
- });
- afterEach(function() {
- MockApiClient.clearMockResponses();
- });
- it('renders', function() {
- expect(wrapper).toMatchSnapshot();
- });
- it('can star', async function() {
- const star = wrapper.find('BookmarkStar');
- expect(
- star
- .find('Star')
- .first()
- .prop('isBookmarked')
- ).toBe(false);
- star.simulate('click');
- expect(projectMock).toHaveBeenCalledWith(
- '/projects/org-slug/project-slug/',
- expect.objectContaining({
- data: {
- isBookmarked: true,
- },
- })
- );
- });
- it('can unstar', async function() {
- wrapper = mount(
- <BookmarkStar
- organization={TestStubs.Organization()}
- project={TestStubs.Project({
- isBookmarked: true,
- })}
- />,
- TestStubs.routerContext()
- );
- const star = wrapper.find('BookmarkStar');
- expect(
- star
- .find('Star')
- .first()
- .prop('isBookmarked')
- ).toBe(true);
- star.simulate('click');
- expect(projectMock).toHaveBeenCalledWith(
- '/projects/org-slug/project-slug/',
- expect.objectContaining({
- data: {
- isBookmarked: false,
- },
- })
- );
- });
- it('takes a manual isBookmarked prop', function() {
- wrapper = mount(
- <BookmarkStar
- organization={TestStubs.Organization()}
- project={TestStubs.Project()}
- isBookmarked={true}
- />,
- TestStubs.routerContext()
- );
- const star = wrapper.find('BookmarkStar');
- expect(
- star
- .find('Star')
- .first()
- .prop('isBookmarked')
- ).toBe(true);
- star.simulate('click');
- expect(
- star
- .find('Star')
- .first()
- .prop('isBookmarked')
- ).toBe(true);
- });
- });
|