@@ -315,6 +315,7 @@ public void RenderInstallationOverview_DisplaysDnnPlatformVersionDependency(LogL
315315 {
316316 new ( ) { PackageName = "09.01.02" , DependencyVersion = string . Empty , IsPackageDependency = false , } ,
317317 } ,
318+ CanInstall = true ,
318319 } ,
319320 } ,
320321 } ;
@@ -341,6 +342,7 @@ public void RenderInstallationOverview_WhenDependencyHasNoVersion_DisplaysDepend
341342 {
342343 new ( ) { PackageName = "DNNJWT" , DependencyVersion = string . Empty , IsPackageDependency = true , } ,
343344 } ,
345+ CanInstall = true ,
344346 } ,
345347 } ,
346348 } ;
@@ -367,6 +369,8 @@ public void RenderInstallationOverview_LogLevelAboveInformation_DoesNotRender(Lo
367369 {
368370 new ( ) { PackageName = "DNNJWT" , DependencyVersion = string . Empty , IsPackageDependency = true , } ,
369371 } ,
372+ CanInstall = true ,
373+
370374 } ,
371375 } ,
372376 } ;
@@ -387,13 +391,15 @@ public void RenderInstallationStatus_OnlyOutputsAttemptedSessionResponses(LogLev
387391 Name = "Jimmy" ,
388392 Attempted = true ,
389393 Success = true ,
394+ CanInstall = true ,
390395 } ;
391396
392397 var james = new SessionResponse
393398 {
394399 Name = "James" ,
395400 Attempted = false ,
396401 Success = false ,
402+ CanInstall = true ,
397403 } ;
398404
399405 renderer . RenderInstallationStatus ( logLevel , new SortedList < int , SessionResponse ? > { { 1 , jimmy } , { 2 , james } , } ) ;
@@ -413,19 +419,54 @@ public void RenderInstallationStatus_OutputsMultipleResponsesOnDifferentLines(Lo
413419 Name = "Jimmy" ,
414420 Attempted = true ,
415421 Success = true ,
422+ CanInstall = true ,
416423 } ;
417424
418425 var james = new SessionResponse
419426 {
420427 Name = "James" ,
421428 Attempted = true ,
422429 Success = true ,
430+ CanInstall = true ,
423431 } ;
424432
425433 renderer . RenderInstallationStatus ( logLevel , new SortedList < int , SessionResponse ? > { { 1 , jimmy } , { 2 , james } , } ) ;
426434 console . Output . ShouldContainStringsInOrder ( "✅" , "Jimmy" , "Succeeded" , "\n " , "✅" , "James" , "Succeeded" , "\n " ) ;
427435 }
428436
437+ [ MemberData ( nameof ( LogLevelsLessThanOrEqualTo ) , LogLevel . Information ) ]
438+ [ Theory ]
439+ public void RenderInstallationStatus_WhenNotSuccessfulButNoFailures_ShowsThatPackageFailed ( LogLevel logLevel )
440+ {
441+ var packages = new SortedList < int , SessionResponse ? >
442+ {
443+ {
444+ 0 ,
445+ new SessionResponse
446+ {
447+ CanInstall = false ,
448+ Name = "Jamestown.zip" ,
449+ Failures = new List < string ? > ( 0 ) ,
450+ Attempted = true ,
451+ Success = false ,
452+ Packages = new List < PackageResponse ? >
453+ {
454+ new PackageResponse { Name = "James: Town" , CanInstall = false , VersionStr = "1.2.3" , Dependencies = new List < DependencyResponse ? > ( 1 ) { new DependencyResponse { DependencyVersion = string . Empty , IsPackageDependency = true , PackageName = "Miss Sing" } , } , } ,
455+ } ,
456+ }
457+ } ,
458+ } ;
459+
460+ var console = new TestConsole ( ) . Interactive ( ) ;
461+ var renderer = new Renderer ( console ) ;
462+ renderer . RenderInstallationStatus ( logLevel , packages ) ;
463+
464+ console . Output . ShouldContainStringsInOrder (
465+ "❌" ,
466+ "Jamestown.zip" ,
467+ "Failed" ) ;
468+ }
469+
429470 [ MemberData ( nameof ( LogLevelsGreaterThanOrEqualTo ) , LogLevel . Warning ) ]
430471 [ Theory ]
431472 public void RenderInstallationStatus_ShouldNotRenderWarningOrHigher ( LogLevel logLevel )
@@ -438,13 +479,15 @@ public void RenderInstallationStatus_ShouldNotRenderWarningOrHigher(LogLevel log
438479 Name = "Jimmy" ,
439480 Attempted = true ,
440481 Success = true ,
482+ CanInstall = true ,
441483 } ;
442484
443485 var james = new SessionResponse
444486 {
445487 Name = "James" ,
446488 Attempted = true ,
447489 Success = true ,
490+ CanInstall = true ,
448491 } ;
449492
450493 renderer . RenderInstallationStatus ( logLevel , new SortedList < int , SessionResponse ? > { { 1 , jimmy } , { 2 , james } , } ) ;
@@ -463,13 +506,15 @@ public void RenderInstallationStatus_DoesNotOutputDuplicateInformation(LogLevel
463506 Name = "James" ,
464507 Attempted = true ,
465508 Success = true ,
509+ CanInstall = true ,
466510 } ;
467511
468512 var george = new SessionResponse
469513 {
470514 Name = "George" ,
471515 Attempted = false ,
472516 Success = false ,
517+ CanInstall = true ,
473518 } ;
474519
475520 renderer . RenderInstallationStatus ( logLevel , new SortedList < int , SessionResponse ? > { { 2 , james } , { 3 , george } , } ) ;
@@ -492,13 +537,15 @@ public void RenderInstallationStatus_WhenErrorLevel_DoesNotOutputInformationLeve
492537 Name = "James" ,
493538 Attempted = true ,
494539 Success = true ,
540+ CanInstall = true ,
495541 } ;
496542
497543 var george = new SessionResponse
498544 {
499545 Name = "George" ,
500546 Attempted = false ,
501547 Success = false ,
548+ CanInstall = true ,
502549 } ;
503550
504551 renderer . RenderInstallationStatus ( logLevel , new SortedList < int , SessionResponse ? > { { 2 , james } , { 3 , george } , } ) ;
@@ -521,6 +568,7 @@ public void RenderInstallationStatus_OutputsMessageWhenPackageIsSuccessful(LogLe
521568 Name = "James" ,
522569 Attempted = false ,
523570 Success = false ,
571+ CanInstall = true ,
524572 } ;
525573
526574 renderer . RenderInstallationStatus ( logLevel , new SortedList < int , SessionResponse ? > { { 2 , james } , } ) ;
@@ -542,13 +590,15 @@ public void RenderInstallationStatus_RendersFailures(LogLevel logLevel)
542590 Name = "Jimmy" ,
543591 Attempted = true ,
544592 Failures = new List < string ? > { "BAD ZIP" , "REALLY FAILED" , } ,
593+ CanInstall = true ,
545594 } ;
546595
547596 var james = new SessionResponse
548597 {
549598 Name = "James" ,
550599 Attempted = true ,
551600 Success = false ,
601+ CanInstall = true ,
552602 } ;
553603
554604 renderer . RenderInstallationStatus ( logLevel , new SortedList < int , SessionResponse ? > { { 1 , jimmy } , { 2 , james } , } ) ;
@@ -568,6 +618,7 @@ public void RenderInstallationStatus_FailuresHaveSpectreMarkup_RendersFailures(L
568618 Name = "Jimmy" ,
569619 Attempted = true ,
570620 Failures = new List < string ? > { "Failed SQL Query" , "SELECT [Name] FROM Place" , } ,
621+ CanInstall = true ,
571622 } ;
572623
573624 renderer . RenderInstallationStatus ( logLevel , new SortedList < int , SessionResponse ? > { { 1 , jimmy } , } ) ;
0 commit comments