@@ -209,8 +209,13 @@ describe('toPlainTextReport', () => {
209209 expect ( text ) . toContain ( 'package-199999' )
210210 } )
211211
212- it ( 'keeps package versions accurate across fold modes' , ( ) => {
213- const leaf = alert ( 'error' , 'envVars' , 'package.json' , '' )
212+ it ( 'keeps report fields aligned across formats and fold modes' , ( ) => {
213+ const leaf = alert (
214+ 'error' ,
215+ 'envVars' ,
216+ 'package.json' ,
217+ 'https://socket.dev/npm/package/demo-transitive' ,
218+ )
214219 const versionFoldAlerts : ScanReport [ 'alerts' ] = new Map ( [
215220 [ 'npm' , new Map ( [ [ 'demo-transitive' , new Map ( [ [ '2.3.4' , leaf ] ] ) ] ] ) ] ,
216221 ] )
@@ -227,7 +232,12 @@ describe('toPlainTextReport', () => {
227232 [ 'package.json' , leaf ] ,
228233 [
229234 'src/index.js' ,
230- alert ( 'warn' , 'telemetry' , 'package-lock.json' , '' ) ,
235+ alert (
236+ 'warn' ,
237+ 'telemetry' ,
238+ 'package-lock.json' ,
239+ 'https://socket.dev/npm/package/demo-transitive' ,
240+ ) ,
231241 ] ,
232242 ] ) ,
233243 ] ,
@@ -247,7 +257,15 @@ describe('toPlainTextReport', () => {
247257 'demo-transitive' ,
248258 new Map ( [
249259 [ '2.3.4' , leaf ] ,
250- [ '2.3.5' , alert ( 'warn' , 'telemetry' , 'package.json' , '' ) ] ,
260+ [
261+ '2.3.5' ,
262+ alert (
263+ 'warn' ,
264+ 'telemetry' ,
265+ 'package.json' ,
266+ 'https://socket.dev/npm/package/demo-transitive' ,
267+ ) ,
268+ ] ,
251269 ] ) ,
252270 ] ,
253271 ] ) ,
@@ -268,6 +286,11 @@ describe('toPlainTextReport', () => {
268286 fold : FOLD_SETTING_PKG ,
269287 healthy : false ,
270288 } )
289+ const defaultFoldReport = buildReport ( { alerts : buildAlerts ( ) } )
290+ const twoVersionReport = buildReport ( {
291+ alerts : twoVersionAlerts ,
292+ fold : 'version' ,
293+ } )
271294
272295 expect ( flattenReportAlerts ( versionFoldReport ) [ 0 ] ?. packageVersion ) . toBe (
273296 '2.3.4' ,
@@ -291,11 +314,38 @@ describe('toPlainTextReport', () => {
291314 '<unknown>' ,
292315 )
293316 expect ( toPlainTextReport ( packageFoldReport ) ) . toContain ( '<unknown>' )
294- expect (
295- flattenReportAlerts (
296- buildReport ( { alerts : twoVersionAlerts , fold : 'version' } ) ,
297- ) . map ( row => row . packageVersion ) ,
298- ) . toEqual ( [ '2.3.4' , '2.3.5' ] )
317+ expect ( flattenReportAlerts ( twoVersionReport ) . map ( row => row . packageVersion ) )
318+ . toEqual ( [ '2.3.4' , '2.3.5' ] )
319+ const reports = [
320+ defaultFoldReport ,
321+ versionFoldReport ,
322+ fileFoldReport ,
323+ packageFoldReport ,
324+ twoVersionReport ,
325+ ]
326+
327+ for ( const report of reports ) {
328+ const rows = flattenReportAlerts ( report )
329+ const text = toPlainTextReport ( report )
330+ const markdown = toMarkdownReport ( report )
331+ const markdownHeader = markdown
332+ . split ( '\n' )
333+ . find ( line => line . includes ( '| Policy |' ) )
334+
335+ expect ( text ) . toContain ( 'VERSION' )
336+ expect ( markdownHeader ) . toContain ( 'Version' )
337+ expect ( markdownHeader ) . toContain ( 'URL' )
338+ for ( const row of rows ) {
339+ expect ( text ) . toContain ( row . packageVersion )
340+ expect ( markdown ) . toContain ( row . packageVersion )
341+ expect ( text ) . toContain ( row . manifest )
342+ expect ( markdown ) . toContain ( row . manifest )
343+ if ( row . url ) {
344+ expect ( text ) . toContain ( row . url )
345+ expect ( markdown ) . toContain ( row . url )
346+ }
347+ }
348+ }
299349 } )
300350} )
301351
0 commit comments