WIP: summary test
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
import {expect, jest, test} from '@jest/globals'
|
import {expect, jest, test} from '@jest/globals'
|
||||||
import {Changes, ConfigurationOptions, Scorecard} from '../src/schemas'
|
import {Change, Changes, ConfigurationOptions, Scorecard} from '../src/schemas'
|
||||||
import * as summary from '../src/summary'
|
import * as summary from '../src/summary'
|
||||||
import * as core from '@actions/core'
|
import * as core from '@actions/core'
|
||||||
import {createTestChange} from './fixtures/create-test-change'
|
import {createTestChange} from './fixtures/create-test-change'
|
||||||
@@ -109,6 +109,38 @@ test('prints headline as h1', () => {
|
|||||||
expect(text).toContain('<h1>Dependency Review</h1>')
|
expect(text).toContain('<h1>Dependency Review</h1>')
|
||||||
})
|
})
|
||||||
|
|
||||||
|
test('returns minimal summary in case the core.summary is too large for a PR comment', () => {
|
||||||
|
let changes: Changes = [
|
||||||
|
createTestChange({name: 'lodash', version: '1.2.3'}),
|
||||||
|
createTestChange({name: 'colors', version: '2.3.4'}),
|
||||||
|
createTestChange({name: '@foo/bar', version: '*'}),
|
||||||
|
]
|
||||||
|
|
||||||
|
let minSummary: string = summary.addSummaryToSummary(
|
||||||
|
changes,
|
||||||
|
emptyInvalidLicenseChanges,
|
||||||
|
emptyChanges,
|
||||||
|
scorecard,
|
||||||
|
defaultConfig
|
||||||
|
)
|
||||||
|
|
||||||
|
// side effect DR report into core.summary as happens in main.ts
|
||||||
|
summary.addScannedDependencies(changes)
|
||||||
|
const text = core.summary.stringify()
|
||||||
|
|
||||||
|
expect(text).toContain('<h1>Dependency Review</h1>')
|
||||||
|
expect(minSummary).toContain('# Dependency Review')
|
||||||
|
|
||||||
|
expect(text).toContain('lodash')
|
||||||
|
expect(text).toContain('colors')
|
||||||
|
expect(text).toContain('@foo/bar')
|
||||||
|
expect(minSummary).not.toContain('lodash')
|
||||||
|
expect(minSummary).not.toContain('colors')
|
||||||
|
expect(minSummary).not.toContain('@foo/bar')
|
||||||
|
|
||||||
|
expect(text.length).toBeGreaterThan(minSummary.length)
|
||||||
|
})
|
||||||
|
|
||||||
test('only includes "No vulnerabilities or license issues found"-message if both are configured and nothing was found', () => {
|
test('only includes "No vulnerabilities or license issues found"-message if both are configured and nothing was found', () => {
|
||||||
summary.addSummaryToSummary(
|
summary.addSummaryToSummary(
|
||||||
emptyChanges,
|
emptyChanges,
|
||||||
|
|||||||
+3
-3
@@ -10,9 +10,9 @@ const icons = {
|
|||||||
warning: '⚠️'
|
warning: '⚠️'
|
||||||
}
|
}
|
||||||
|
|
||||||
// generates the initial DR summmary and applies to the Action's core.summary
|
// generates the DR report summmary and caches it to the Action's core.summary.
|
||||||
// returns a string array of all the formatted values in the event we need
|
// returns the DR summary string, ready to be posted as a PR comment if the
|
||||||
// to replace them in the PR comment due to length restrictions
|
// final DR report is too large
|
||||||
export function addSummaryToSummary(
|
export function addSummaryToSummary(
|
||||||
vulnerableChanges: Changes,
|
vulnerableChanges: Changes,
|
||||||
invalidLicenseChanges: InvalidLicenseChanges,
|
invalidLicenseChanges: InvalidLicenseChanges,
|
||||||
|
|||||||
Reference in New Issue
Block a user