import React from 'react' import { mount } from 'enzyme' import { Stars } from './Stars' const testStars = (nbStars: number, stars: any) => { stars.forEach((star: any, index: number) => { const filled = nbStars - index const result = filled > 0 ? Math.min(1, filled) : 0 expect(star.find('linearGradient').prop('id')).toBe(`gradient-${result}`) }) } it('Should display 5 stars', () => { const nbStars = 5 const stars = mount() const starsArray = stars.find('.star') expect(starsArray).toHaveLength(5) testStars(nbStars, starsArray) }) it('Should display 0 stars', () => { const nbStars = 0 const stars = mount() const starsArray = stars.find('.star') expect(starsArray).toHaveLength(5) testStars(nbStars, starsArray) }) it('Should display 2.5 stars', () => { const nbStars = 2.5 const stars = mount() const starsArray = stars.find('.star') expect(starsArray).toHaveLength(5) testStars(nbStars, starsArray) })