Browse Source

SONARCLOUD-593 Display correctly when coverage is missing in homepage data

tags/7.8
Grégoire Aubert 5 years ago
parent
commit
d9275526f5

+ 22
- 18
server/sonar-web/src/main/js/apps/about/sonarcloud/components/FeaturedProjects.tsx View File

@@ -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>

+ 10
- 0
server/sonar-web/src/main/js/apps/about/sonarcloud/components/__tests__/FeaturedProjects-test.tsx View File

@@ -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();

+ 13
- 0
server/sonar-web/src/main/js/apps/about/sonarcloud/components/__tests__/__snapshots__/FeaturedProjects-test.tsx.snap View File

@@ -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>

+ 1
- 1
server/sonar-web/src/main/js/apps/about/sonarcloud/utils.ts View File

@@ -27,7 +27,7 @@ export interface FeaturedProject {
name: string;
bugs: number;
codeSmells: number;
coverage: number;
coverage?: number;
duplications: number;
gateStatus: string;
languages: string[];

Loading…
Cancel
Save