diff --git a/__tests__/message.test.ts b/__tests__/message.test.ts
index b551fe1..db7ebdc 100644
--- a/__tests__/message.test.ts
+++ b/__tests__/message.test.ts
@@ -16,7 +16,7 @@ describe('buildMessage', () => {
coverage: [],
coverageBefore: [],
coverageFile: 'packages/project_a/coverage/lcov.info'
- }
+ } as CoveredProject
const projectB = {
name: 'project_b',
@@ -25,7 +25,7 @@ describe('buildMessage', () => {
coverage: [],
coverageBefore: [],
coverageFile: 'packages/project_b/coverage/lcov.info'
- }
+ } as CoveredProject
it('returns the correct message when projects array has one project', () => {
const projects: CoveredProject[] = [projectA]
@@ -40,6 +40,16 @@ describe('buildMessage', () => {
const result = buildMessage(projects, sha)
expect(result).toEqual(expected2Projects)
})
+
+ it("returns correct message when projects don't have coverage before", () => {
+ const projects: CoveredProject[] = [
+ { ...projectA, coverageBefore: undefined },
+ { ...projectB, coverageBefore: undefined }
+ ]
+ const sha = 'abcdef1234567890'
+ const result = buildMessage(projects, sha)
+ expect(result).toEqual(expected2ProjectsNoBefore)
+ })
})
const expected1Project = `# Coverage Report
@@ -89,6 +99,44 @@ Description B
 ➡️ 0.00%
+
+Coverage Details for project_b
+
+| File | Line Percentage | Line Count |
+| --- | --- | --- |
+
+
+
+`
+
+const expected2ProjectsNoBefore = `# Coverage Report
+This is an automatic coverage report for abcdef12, proudly generated by [Dart Coverage Assistant](https://github.com/whynotmake-it/dart-coverage-assistant) 🎯🧪.
+
+## Monorepo coverage
+This repository contains 2 Dart projects. This is is the total coverage across all of them:
+
+
+
+## \`project_a\`
+Description A
+
+
+
+
+
+Coverage Details for project_a
+
+| File | Line Percentage | Line Count |
+| --- | --- | --- |
+
+
+
+## \`project_b\`
+Description B
+
+
+
+
Coverage Details for project_b
diff --git a/dist/index.js b/dist/index.js
index 049f167..b5caed0 100644
--- a/dist/index.js
+++ b/dist/index.js
@@ -20452,7 +20452,10 @@ function getTotalPercentage(projects) {
}
exports.getTotalPercentage = getTotalPercentage;
function getTotalPercentageBefore(projects) {
- return getLineCoverage(getSectionSummaries(projects, 'coverageBefore'));
+ if (projects.some(p => p.coverageBefore !== undefined)) {
+ return getLineCoverage(getSectionSummaries(projects, 'coverageBefore'));
+ }
+ return undefined;
}
exports.getTotalPercentageBefore = getTotalPercentageBefore;
function getSectionSummaries(projects, coverageKey) {
@@ -20711,7 +20714,7 @@ function buildBody(project) {
}
function buildDiffString(diff) {
if (diff === undefined) {
- return '-';
+ return '';
}
if (diff === 0) {
return `➡️ ${diff.toFixed(2)}%`;
diff --git a/src/lcov.ts b/src/lcov.ts
index d2c309e..e39fd68 100644
--- a/src/lcov.ts
+++ b/src/lcov.ts
@@ -119,8 +119,11 @@ export function getTotalPercentage(
export function getTotalPercentageBefore(
projects: CoveredProject[]
-): LineCoverage {
- return getLineCoverage(getSectionSummaries(projects, 'coverageBefore'))
+): LineCoverage | undefined {
+ if (projects.some(p => p.coverageBefore !== undefined)) {
+ return getLineCoverage(getSectionSummaries(projects, 'coverageBefore'))
+ }
+ return undefined
}
function getSectionSummaries(
diff --git a/src/message.ts b/src/message.ts
index 5fa2730..ea10b32 100644
--- a/src/message.ts
+++ b/src/message.ts
@@ -123,7 +123,7 @@ function buildBody(project: CoveredProject): string {
function buildDiffString(diff: number | undefined): string {
if (diff === undefined) {
- return '-'
+ return ''
}
if (diff === 0) {
return `➡️ ${diff.toFixed(2)}%`