docbrown/app/javascript/sidebar-widget/__tests__/sidebarUser.test.jsx
ludwiczakpawel 6d2c63026c
Homepage Improvements, round II (#6202) [deploy]
* remove border from ad and fix cut-off

* improving ellipsis for tags

* improving ellipsis for tags

* fixing underline between each tag on hover

* user avatars alignment in left sidebar

* test commit

* reverting test

* test commit

* reverting test

* index unassigned

* user suggestions in right sidebar on tag page, fixes

* improving widgets a little

* line height for category

* Update tests

Co-authored-by: Ben Halpern <bendhalpern@gmail.com>
2020-02-20 17:12:56 -05:00

50 lines
1.1 KiB
JavaScript

import { h } from 'preact';
import { shallow } from 'preact-render-spy';
import render from 'preact-render-to-json';
import SidebarUser from '../sidebarUser';
const user = {
id: 1234,
};
const followUser = jest.fn();
const renderedSideBar = props =>
shallow(
<SidebarUser
key={user.id}
user={user}
followUser={followUser}
index={0}
{...props}
/>,
);
describe('<SidebarUser />', () => {
it('renders properly', () => {
const tree = render(
<SidebarUser
key={user.id}
user={user}
followUser={followUser}
index={0}
/>,
);
expect(tree).toMatchSnapshot();
});
it('triggers the onClick', () => {
renderedSideBar()
.find('.widget-list-item__follow-button')
.simulate('click');
expect(followUser).toHaveBeenCalled();
});
it('shows if the user is followed or not', () => {
expect(
renderedSideBar({ user: { following: true } }).contains('✓ FOLLOWING'),
).toBe(true);
expect(
renderedSideBar({ user: { following: false } }).contains('+ FOLLOW'),
).toBe(true);
});
});