describe('ExpPhotos Component', () => { // shallow snapshot testing it('should match snapshot', () => { const result = shallow(<PureExpPhotos dispatch={jest.fn()} />) expect(result).toMatchSnapshot() }) it('should hide spinner when loading=false', () => { const wrapper = shallow(<PureExpPhotos dispatch={jest.fn()} />) wrapper.setState({ loading: false }) expect(wrapper.find('IsLoading').prop('loading')).toEqual(false) }) })
describe('CreateGroupModal Component', () => { it('should match snapshot', () => { const tree = create(<CreateGroupModal back={jest.fn()} />).toJSON() expect(tree).toMatchSnapshot() }) it('should redirect to /group/34 when group created', () => { const wrapper = shallow(<CreateGroupModal back={jest.fn()} />) wrapper.setState({ created: true, groupId: 34, }) expect(wrapper.find('Redirect').exists()).toBe(true) }) })
describe('Gallery Component', () => { const props = { param: 'takkar', photos: Post.photos, ud: User.user_details, } // shallow snapshot testing it('should match snapshot', () => { const result = shallow(<PureGallery {...props} dispatch={jest.fn()} />) expect(result).toMatchSnapshot() }) it('should hide spinner when loading=false', () => { const wrapper = shallow(<PureGallery {...props} dispatch={jest.fn()} />) wrapper.setState({ loading: false }) expect(wrapper.find('IsLoading').prop('loading')).toEqual(false) }) })
describe('Favourite Component', () => { MockDataElement() it('should match snapshot with profile link', () => { const tree = create( <Provider store={mockStore}> <Favourite {...Follow.favourites[0]} user={24} /> </Provider> ).toJSON() expect(tree).toMatchSnapshot() }) it('should show <Follow/> when isFollowing == false', () => { const wrapper = shallow(<PureFavourite {...Follow.favourites[0]} id={24} />) wrapper.setState({ isFollowing: false }) expect(wrapper.find('Connect(Follow)').exists()).toBe(true) }) it('should show <Unfollow/> when isFollowing == true', () => { const wrapper = shallow(<PureFavourite {...Follow.favourites[0]} id={24} />) wrapper.setState({ isFollowing: true }) expect(wrapper.find('Connect(Unfollow)').exists()).toBe(true) }) })
describe('Home Component', () => { const comp = <PureHome dispatch={jest.fn()} /> // shallow snapshot it('should match snapshot', () => { const tree = shallow(comp) expect(tree).toMatchSnapshot() }) it('should show <Instagram/> loader when loading=true', () => { const wrapper = shallow(comp) wrapper.setState({ loading: true }) expect(wrapper.find('InstagramStyle').length).toBe(3) }) })
describe('DeactivateForm Component', () => { const comp = <DeactivateForm password="mypassword" change={jest.fn()} /> it('should match snapshot', () => { const tree = create(comp).toJSON() expect(tree).toMatchSnapshot() }) it('should show <Prompt/> when form is submitted', () => { const wrapper = shallow(comp) wrapper .find('form.dlt_acc_form') .simulate('submit', { preventDefault() {} }) expect(wrapper.find('Prompt').exists()).toBe(true) }) it("should mock deactivate action when clicked on Prompt's done button", () => { const wrapper = shallow(comp) wrapper.setState({ showPrompt: true }) wrapper.find('Prompt').prop('action')({ preventDefault() {}, }) }) })
describe('GroupMembers Component', () => { MockDataElement() it('should match snapshot', () => { const tree = create( <Provider store={mockStore}> <GroupMembers /> </Provider> ).toJSON() expect(tree).toMatchSnapshot() }) it('should hide spinner when loading == false', () => { const wrapper = shallow( <PureGroupMembers dispatch={jest.fn()} gd={Group.group_details} members={Group.members} /> ) wrapper.setState({ loading: false }) expect(wrapper.find('IsLoading').prop('loading')).toBe(false) }) })
describe('Suggested-List Component', () => { const comp = ( <Provider store={mockStore}> <SuggestedList {...mockExploreState.suggested[0]} when="home" /> </Provider> ) it('should match snapshot with AdvancedFollow comp', () => { const tree = create(comp).toJSON() expect(tree).toMatchSnapshot() }) it('should show AdvancedUnfollow comp when isFollowing state is false', () => { const wrapper = shallow( <SuggestedList {...suggestedMockArray[0]} when="home" /> ) wrapper.setState({ isFollowing: true }) expect(wrapper.find('Connect(AdvancedUnfollow)').exists()).toBe(true) }) })
describe('ProfileSettings Component', () => { it('should match snapshot', () => { const tree = create( <Provider store={mockStore}> <ProfileSettings /> </Provider> ).toJSON() expect(tree).toMatchSnapshot() }) it('should hide spinner when loading=false', () => { const wrapper = shallow( <PureProfileSettings session={User.session} dispatch={jest.fn()} /> ) wrapper.setState({ loading: false }) expect(wrapper.find('IsLoading').prop('loading')).toEqual(false) }) })
describe('GroupGallery Component', () => { const props = { param: 'takkar', photos: Post.photos, gd: Group.group_details, } const comp = <PureGroupGallery {...props} dispatch={jest.fn()} /> // shallow snapshot testing it('should match snapshot', () => { const result = shallow(comp) expect(result).toMatchSnapshot() }) it('should hide spinner when loading=false', () => { const wrapper = shallow(comp) wrapper.setState({ loading: false }) expect(wrapper.find('IsLoading').prop('loading')).toEqual(false) }) })
describe('PeopleYouKnowList Component', () => { MockDataElement() it('should match snapshot with profile link', () => { const tree = create( <Provider store={mockStore}> <PeopleYouKnowList {...User.mutualUsers[0]} user={24} /> </Provider> ).toJSON() expect(tree).toMatchSnapshot() }) it('should show <Follow/> when isFollowing == false', () => { const wrapper = shallow(<PurePeopleYouKnowList {...User.mutualUsers[0]} />) wrapper.setState({ isFollowing: false }) expect(wrapper.find('Connect(Follow)').exists()).toBe(true) }) it('should show <Unfollow/> when isFollowing == true', () => { const wrapper = shallow(<PurePeopleYouKnowList {...User.mutualUsers[0]} />) wrapper.setState({ isFollowing: true }) expect(wrapper.find('Connect(Unfollow)').exists()).toBe(true) }) })
describe('FollowersList Component', () => { MockDataElement() it('should match snapshot with profile link', () => { const tree = create( <Provider store={mockStore}> <FollowersList {...f[0]} /> </Provider> ).toJSON() expect(tree).toMatchSnapshot() }) it('should show <Follow/> when isFollowing == false', () => { const wrapper = shallow(<PureFollowersList {...f[0]} follow_by={7} />) wrapper.setState({ isFollowing: false }) expect(wrapper.find('Connect(Follow)').exists()).toBe(true) }) it('should show <Unfollow/> when isFollowing == true', () => { const wrapper = shallow(<PureFollowersList {...f[0]} follow_by={7} />) wrapper.setState({ isFollowing: true }) expect(wrapper.find('Connect(Unfollow)').exists()).toBe(true) }) })
describe('Invite Component', () => { const mockFn = jest.fn() const props = { group: 11, back: mockFn, } it('should match snapshot', () => { const tree = create( <Provider store={mockStore}> <Invite {...props} /> </Provider> ).toJSON() expect(tree).toMatchSnapshot() }) it('should match snapshot', () => { const wrapper = shallow( <PureInvite {...props} users={Group.usersToInvite} dispatch={mockFn} /> ) wrapper.setState({ loading: false }) expect(wrapper.find('IsLoading').prop('loading')).toBe(false) }) })
describe('Likes Component', () => { const mockFn = jest.fn() const props = { post: 44, back: mockFn, decrementLikes: mockFn, } it('should match snapshot', () => { const tree = create( <Provider store={mockStore}> <Likes {...props} /> </Provider> ).toJSON() expect(tree).toMatchSnapshot() }) it('should show spinner when loading == false', () => { const wrapper = shallow( <PureLikes {...props} likes={Post.likes} dispatch={mockFn} /> ) wrapper.setState({ loading: false }) expect(wrapper.find('IsLoading').prop('loading')).toEqual(false) }) })
describe('Sharers Component', () => { const mockFn = jest.fn() const props = { post: 44, back: mockFn, decrementSharers: mockFn, } it('should match snapshot', () => { const tree = create( <Provider store={mockStore}> <Sharers {...props} /> </Provider> ).toJSON() expect(tree).toMatchSnapshot() }) it('should hide spinner when loading == false', () => { const wrapper = shallow( <PureSharers {...props} sharers={Post.sharers} dispatch={mockFn} /> ) wrapper.setState({ loading: false }) expect(wrapper.find('IsLoading').prop('loading')).toBe(false) }) })