@@ -215,24 +215,28 @@ export function ProjectCard({ project, order, viewable }: ProjectCardProps) { | |||
/> | |||
<li> | |||
<span>{getMetricName('coverage')}</span> | |||
<div> | |||
{viewable && ( | |||
<CountUp | |||
decimal="." | |||
decimals={1} | |||
delay={0} | |||
duration={4} | |||
end={project.coverage} | |||
suffix="%"> | |||
{(data: { countUpRef?: React.RefObject<HTMLHeadingElement> }) => ( | |||
<h6 className="display-inline-block big-spacer-right" ref={data.countUpRef}> | |||
0 | |||
</h6> | |||
)} | |||
</CountUp> | |||
)} | |||
<CoverageRating value={project.coverage} /> | |||
</div> | |||
{project.coverage !== undefined ? ( | |||
<div> | |||
{viewable && ( | |||
<CountUp | |||
decimal="." | |||
decimals={1} | |||
delay={0} | |||
duration={4} | |||
end={project.coverage} | |||
suffix="%"> | |||
{(data: { countUpRef?: React.RefObject<HTMLHeadingElement> }) => ( | |||
<h6 className="display-inline-block big-spacer-right" ref={data.countUpRef}> | |||
0 | |||
</h6> | |||
)} | |||
</CountUp> | |||
)} | |||
<CoverageRating value={project.coverage} /> | |||
</div> | |||
) : ( | |||
<span className="huge little-spacer-right">—</span> | |||
)} | |||
</li> | |||
<li> | |||
<span>{getMetricName('duplications')}</span> |
@@ -130,6 +130,16 @@ it('should render ProjectCard correctly', () => { | |||
).toMatchSnapshot(); | |||
}); | |||
it('should render ProjectCard correctly when there is no coverage', () => { | |||
expect( | |||
shallow( | |||
<ProjectCard order={1} project={{ ...PROJECTS[0], coverage: undefined }} viewable={true} /> | |||
) | |||
.find('li') | |||
.first() | |||
).toMatchSnapshot(); | |||
}); | |||
it('should render correctly', () => { | |||
const wrapper = shallow(<FeaturedProjects projects={PROJECTS} />); | |||
expect(wrapper).toMatchSnapshot(); |
@@ -115,6 +115,19 @@ exports[`should render ProjectCard correctly 1`] = ` | |||
</div> | |||
`; | |||
exports[`should render ProjectCard correctly when there is no coverage 1`] = ` | |||
<li> | |||
<span> | |||
overview.metric.coverage | |||
</span> | |||
<span | |||
className="huge little-spacer-right" | |||
> | |||
— | |||
</span> | |||
</li> | |||
`; | |||
exports[`should render ProjectIssues correctly 1`] = ` | |||
<li> | |||
<span> |
@@ -27,7 +27,7 @@ export interface FeaturedProject { | |||
name: string; | |||
bugs: number; | |||
codeSmells: number; | |||
coverage: number; | |||
coverage?: number; | |||
duplications: number; | |||
gateStatus: string; | |||
languages: string[]; |