[React Testing] Reusing test boilerplate
Setting up a shallow renderer for each test can be redundant, especially when trying to write similar tests that have slight tweaks. In this lesson, we go over how you can reduce some of the overlapping code so that each test only contains the unique pieces of the test.
describe('active class', ()=>{ function renderLikeCounter(isActive){ const renderer = TestUtils.createRenderer(); renderer.render(<LikeCounter count={5} isActive={isActive}/>); return renderer.getRenderOutput().props.className.includes('LikeCounter--active'); } it('should have active class based on isActive props: true', ()=>{ expect(renderLikeCounter(true)).toEqual(true); }); it('should have active class based on isActive props: false', ()=>{ expect(renderLikeCounter(false)).toEqual(false); }); });