* flare tag line height * . * init * widgets * widgets lists * new tabs on home * instantclick * . * rethinking css * . * . * empty space * campaign widget * . * merge * . * update layout * fix sidebars on home page * . * fix onboarding x * spec * test * test * better handling ads * . * spec * card styling * . * i dont know what have i broken
50 lines
1.1 KiB
JavaScript
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);
|
|
});
|
|
});
|