Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(sql): 🐛 Fixes a bug where Warning components weren't display text #521

Merged
merged 2 commits into from
Feb 20, 2024

fix: missing marks and data

3261612
Select commit
Loading
Failed to load commit list.
Sign in for the full log view
Merged

fix(sql): 🐛 Fixes a bug where Warning components weren't display text #521

fix: missing marks and data
3261612
Select commit
Loading
Failed to load commit list.
GitHub Actions / DotNET Tests succeeded Feb 19, 2024 in 1s

396 passed, 0 failed and 0 skipped

Tests passed successfully

Report Passed Failed Skipped Time
tests/Dfe.PlanTech.Application.UnitTests/TestResults/test-results.trx 98✅ 4s
tests/Dfe.PlanTech.AzureFunctions.UnitTests/TestResults/test-results.trx 47✅ 3s
tests/Dfe.PlanTech.Infrastructure.Contentful.UnitTests/TestResults/test-results.trx 52✅ 2s
tests/Dfe.PlanTech.Infrastructure.SignIn.UnitTests/TestResults/test-results.trx 18✅ 3s
tests/Dfe.PlanTech.UnitTests.Shared/TestResults/test-results.trx 542ms
tests/Dfe.PlanTech.Web.UnitTests/TestResults/test-results.trx 181✅ 3s

✅ tests/Dfe.PlanTech.Application.UnitTests/TestResults/test-results.trx

98 tests were completed in 4s with 98 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
Dfe.PlanTech.Application.UnitTests.Content.Queries.GetButtonWithEntryReferencesQueryTests 2✅ 35ms
Dfe.PlanTech.Application.UnitTests.Content.Queries.GetCategorySectionsQueryTests 2✅ 77ms
Dfe.PlanTech.Application.UnitTests.Content.Queries.GetNavigationQueryTests 4✅ 81ms
Dfe.PlanTech.Application.UnitTests.Content.Queries.GetPageFromContentfulQueryTests 3✅ 33ms
Dfe.PlanTech.Application.UnitTests.Content.Queries.GetPageFromDbQueryTests 1✅ 41ms
Dfe.PlanTech.Application.UnitTests.Content.Queries.GetPageQueryTests 2✅ 81ms
Dfe.PlanTech.Application.UnitTests.Content.Queries.GetRichTextsQueryTests 2✅ 53ms
Dfe.PlanTech.Application.UnitTests.Cookie.Service.CookieServiceTests 7✅ 231ms
Dfe.PlanTech.Application.UnitTests.Core.UrlHistoryTests 2✅ 49ms
Dfe.PlanTech.Application.UnitTests.Establishments.Commands.CreateEstablishmentCommandTests 3✅ 14ms
Dfe.PlanTech.Application.UnitTests.Establishments.EstablishmentTests 11✅ 387ms
Dfe.PlanTech.Application.UnitTests.Establishments.Queries.GetEstablishmentIdQueryTests 3✅ 226ms
Dfe.PlanTech.Application.UnitTests.GetEntitiesOptionsTests 3✅ 36ms
Dfe.PlanTech.Application.UnitTests.Questionnaire.Queries.GetNextUnansweredQuestionQueryTests 3✅ 20ms
Dfe.PlanTech.Application.UnitTests.Questionnaire.Queries.GetSectionQueryTests 3✅ 293ms
Dfe.PlanTech.Application.UnitTests.QuestionnaireCacherTests 2✅ 14ms
Dfe.PlanTech.Application.UnitTests.Responses.Commands.ProcessCheckAnswerDtoCommandTests 2✅ 207ms
Dfe.PlanTech.Application.UnitTests.Responses.Queries.GetLatestResponsesQueryTests 4✅ 653ms
Dfe.PlanTech.Application.UnitTests.Submissions.CalculateMaturityCommandTests 2✅ 11ms
Dfe.PlanTech.Application.UnitTests.Submissions.Commands.SubmitAnswerCommandTests 4✅ 111ms
Dfe.PlanTech.Application.UnitTests.Submissions.Queries.CheckAnswersOrNextQuestionCheckerTests 5✅ 92ms
Dfe.PlanTech.Application.UnitTests.Submissions.Queries.GetSubmissionStatusesQueryTests 5✅ 307ms
Dfe.PlanTech.Application.UnitTests.Submissions.Queries.SectionCompleteStatusCheckerTests 4✅ 17ms
Dfe.PlanTech.Application.UnitTests.Submissions.Queries.SectionNotStartedStatusCheckerTests 4✅ 7ms
Dfe.PlanTech.Application.UnitTests.Submissions.Queries.SubmissionStatusProcessorTests 3✅ 46ms
Dfe.PlanTech.Application.UnitTests.TemplateTest 1✅ 14ms
Dfe.PlanTech.Application.UnitTests.Users.Commands.CreateUserCommandTests 3✅ 10ms
Dfe.PlanTech.Application.UnitTests.Users.Commands.RecordUserSigninCommandTests 5✅ 69ms
Dfe.PlanTech.Application.UnitTests.Users.Queries.GetUserIdQueryTests 3✅ 21ms

✅ Dfe.PlanTech.Application.UnitTests.Content.Queries.GetButtonWithEntryReferencesQueryTests

✅ Should_Not_Retrieve_ButtonWithEntryReferences_For_Page_When_NoButtons
✅ Should_Retrieve_ButtonWithEntryReferences_For_Page_When_Existing

✅ Dfe.PlanTech.Application.UnitTests.Content.Queries.GetCategorySectionsQueryTests

✅ Should_Not_Retrieve_ButtonWithEntryReferences_For_Page_When_NoButtons
✅ Should_Retrieve_Sections_When_Page_Has_Category

✅ Dfe.PlanTech.Application.UnitTests.Content.Queries.GetNavigationQueryTests

✅ Should_LogError_When_Contentful_Exception
✅ Should_LogError_When_DbException
✅ Should_Retrieve_Nav_Links_From_Contentful_When_No_Db_Results
✅ Should_Retrieve_Nav_Links_From_Database

✅ Dfe.PlanTech.Application.UnitTests.Content.Queries.GetPageFromContentfulQueryTests

✅ ContentfulDataUnavailable_Exception_Is_Thrown_When_There_Is_An_Issue_Retrieving_Data
✅ Should_Retrieve_Page_By_Slug_From_Contentful
✅ Should_ThrowException_When_SlugNotFound

✅ Dfe.PlanTech.Application.UnitTests.Content.Queries.GetPageFromDbQueryTests

✅ Should_Retrieve_Page_By_Slug_From_Db

✅ Dfe.PlanTech.Application.UnitTests.Content.Queries.GetPageQueryTests

✅ Should_Retrieve_Page_By_Slug_From_Contentful_When_Db_Page_Not_Found
✅ Should_Retrieve_Page_By_Slug_From_Db

✅ Dfe.PlanTech.Application.UnitTests.Content.Queries.GetRichTextsQueryTests

✅ Should_Retrieve_RichTextContents_When_Matching
✅ Should_Retrieve_RichTextContents_When_Not_Matching

✅ Dfe.PlanTech.Application.UnitTests.Cookie.Service.CookieServiceTests

✅ GetCookie_Returns_Cookie_When_Cookie_Exists
✅ RejectCookies_Sets_Cookie_To_Rejected(isRejected: False)
✅ RejectCookies_Sets_Cookie_To_Rejected(isRejected: True)
✅ SetPreference_Sets_Cookie_Accepted(preference: False)
✅ SetPreference_Sets_Cookie_Accepted(preference: True)
✅ SetVisibility_Sets_Cookie_Visbility(visibility: False)
✅ SetVisibility_Sets_Cookie_Visbility(visibility: True)

✅ Dfe.PlanTech.Application.UnitTests.Core.UrlHistoryTests

✅ Should_Add_Url_ToStack
✅ Should_Remove_Url_FromStack

✅ Dfe.PlanTech.Application.UnitTests.Establishments.Commands.CreateEstablishmentCommandTests

✅ CreateEstablishmentDoesThrowsExceptionWhenUrnAndUkprnAreNotPresent
✅ CreateEstablishmentReturnsIdOfNewlyCreateEstablishmentWithUkprn
✅ CreateEstablishmentReturnsIdOfNewlyCreateEstablishmentWithUrn

✅ Dfe.PlanTech.Application.UnitTests.Establishments.EstablishmentTests

✅ Should_Not_Trim_Values_When_Max_Length
✅ Should_Not_Trim_Values_When_Under_Length
✅ Should_Trim_EstablishmentRef_When_Over_Length(extraCharacters: 1)
✅ Should_Trim_EstablishmentRef_When_Over_Length(extraCharacters: 10)
✅ Should_Trim_EstablishmentRef_When_Over_Length(extraCharacters: 50)
✅ Should_Trim_EstablishmentType_When_Over_Length(extraCharacters: 1)
✅ Should_Trim_EstablishmentType_When_Over_Length(extraCharacters: 10)
✅ Should_Trim_EstablishmentType_When_Over_Length(extraCharacters: 50)
✅ Should_Trim_OrgName_When_Over_Length(extraCharacters: 1)
✅ Should_Trim_OrgName_When_Over_Length(extraCharacters: 10)
✅ Should_Trim_OrgName_When_Over_Length(extraCharacters: 50)

✅ Dfe.PlanTech.Application.UnitTests.Establishments.Queries.GetEstablishmentIdQueryTests

✅ GetEstablishmentId_Returns_TheCorrectEstablishmentId(establishmentId: 1)
✅ GetEstablishmentId_Returns_TheCorrectEstablishmentId(establishmentId: 2)
✅ GetEstablishmentId_Returns_TheCorrectEstablishmentId(establishmentId: 3)

✅ Dfe.PlanTech.Application.UnitTests.GetEntitiesOptionsTests

✅ Should_Have_Default_Values
✅ Should_Set_Include
✅ Should_Set_Queries

✅ Dfe.PlanTech.Application.UnitTests.Questionnaire.Queries.GetNextUnansweredQuestionQueryTests

✅ Should_Return_FirstQuestion_When_No_Responses
✅ Should_Return_Next_Unanswered_Question
✅ Should_Throw_DatabaseException_When_No_Responses_In_OngoingSubmission

✅ Dfe.PlanTech.Application.UnitTests.Questionnaire.Queries.GetSectionQueryTests

✅ GetSectionBySlug_Returns_Section_From_Db
✅ GetSectionBySlug_Returns_Section_From_Repository_When_Db_Returns_Nothing
✅ GetSectionBySlug_ThrowsExceptionOnRepositoryError

✅ Dfe.PlanTech.Application.UnitTests.QuestionnaireCacherTests

✅ Should_Create_New_Cache_When_Not_Cached_Yet
✅ Should_Save_Cache

✅ Dfe.PlanTech.Application.UnitTests.Responses.Commands.ProcessCheckAnswerDtoCommandTests

✅ Should_Remove_Detached_Questions
✅ Should_Return_Null_When_No_Responses

✅ Dfe.PlanTech.Application.UnitTests.Responses.Queries.GetLatestResponsesQueryTests

✅ GetLatestResponseForQuestion_Should_Return_Latest_Response_For_QuestionId_In_Incomplete_Submission
✅ GetLatestResponseForQuestion_Should_Return_Null_For_Complete_Submission
✅ GetLatestResponses_Should_Return_LatestResponses_For_Incomplete_Submission
✅ GetLatestResponses_Should_Return_Null_For_Completed_Submission

✅ Dfe.PlanTech.Application.UnitTests.Submissions.CalculateMaturityCommandTests

✅ CalculateMaturityReturnsEffectedRows_LargerThanOne
✅ CalculateMaturityReturnsEffectedRows_LessThanOne

✅ Dfe.PlanTech.Application.UnitTests.Submissions.Commands.SubmitAnswerCommandTests

✅ Should_Call_ExecuteRaw_With_Params
✅ Should_Throw_Exception_If_ChosenAnswer_Null
✅ Should_Throw_Exception_If_Dto_Null
✅ Should_Throw_Exception_If_UserId_Null

✅ Dfe.PlanTech.Application.UnitTests.Submissions.Queries.CheckAnswersOrNextQuestionCheckerTests

✅ Should_Match_InProgress_Status
✅ Should_Not_Match_Completed_Status
✅ Should_Not_Match_NotStarted_Status
✅ Should_SetStatus_To_CheckAnswers_When_NextQuestion
✅ Should_SetStatus_To_CheckAnswers_When_No_NextQuestion

✅ Dfe.PlanTech.Application.UnitTests.Submissions.Queries.GetSubmissionStatusesQueryTests

✅ GetSectionSubmissionStatusAsync_Returns_Status_Completed_When_Found_With_Responses
✅ GetSectionSubmissionStatusAsync_Returns_Status_InProgress_When_Found_Incomplete_With_Responses
✅ GetSectionSubmissionStatusAsync_Returns_Status_NotStarted_When_Found_With_No_Responses
✅ GetSectionSubmissionStatusAsync_Returns_Status_NotStarted_When_Not_Found
✅ GetSectionSubmissionStatuses_ReturnsListOfStatuses

✅ Dfe.PlanTech.Application.UnitTests.Submissions.Queries.SectionCompleteStatusCheckerTests

✅ Should_Match_Completed_Status
✅ Should_Not_Match_AnyOtherStatus(status: InProgress)
✅ Should_Not_Match_AnyOtherStatus(status: NotStarted)
✅ Should_Set_SubmissionStatus_And_FirstQuestion

✅ Dfe.PlanTech.Application.UnitTests.Submissions.Queries.SectionNotStartedStatusCheckerTests

✅ Should_Match_NotStarted_Status
✅ Should_Not_Match_AnyOtherStatus(status: Completed)
✅ Should_Not_Match_AnyOtherStatus(status: InProgress)
✅ Should_Set_SubmissionStatus_And_FirstQuestion

✅ Dfe.PlanTech.Application.UnitTests.Submissions.Queries.SubmissionStatusProcessorTests

✅ Should_Throw_Exception_When_NoStatusChecker_Matches
✅ Should_ThrowException_When_Section_NotFound
✅ Should_Use_StatusCheckers

✅ Dfe.PlanTech.Application.UnitTests.TemplateTest

✅ Should_Do_Something_When_True

✅ Dfe.PlanTech.Application.UnitTests.Users.Commands.CreateUserCommandTests

✅ CreateUserReturnsIdOfNewlyCreatedUser(expectedUserId: 3)
✅ CreateUserReturnsIdOfNewlyCreatedUser(expectedUserId: 30)
✅ CreateUserReturnsIdOfNewlyCreatedUser(expectedUserId: 4)

✅ Dfe.PlanTech.Application.UnitTests.Users.Commands.RecordUserSigninCommandTests

✅ RecordSignIn_ThrowsException_WhenUserIsNull
✅ RecordSignInForExistingUser_UpdatesSignInDetailsAnd_ReturnsId
✅ RecordSignInForNewUser_AddsUser_UpdatesSignInDetailsAnd_ReturnsId(userId: 1)
✅ RecordSignInForNewUser_AddsUser_UpdatesSignInDetailsAnd_ReturnsId(userId: 2402)
✅ RecordSignInForNewUser_AddsUser_UpdatesSignInDetailsAnd_ReturnsId(userId: 50)

✅ Dfe.PlanTech.Application.UnitTests.Users.Queries.GetUserIdQueryTests

✅ GetUserId_Returns_TheCorrectUserId(userRef: "One", expectedUserId: 1)
✅ GetUserId_Returns_TheCorrectUserId(userRef: "Three", expectedUserId: 3)
✅ GetUserId_Returns_TheCorrectUserId(userRef: "Two", expectedUserId: 2)

✅ tests/Dfe.PlanTech.AzureFunctions.UnitTests/TestResults/test-results.trx

47 tests were completed in 3s with 47 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
Dfe.PlanTech.AzureFunctions.UnitTests.AnswerMapperTests 1✅ 242ms
Dfe.PlanTech.AzureFunctions.UnitTests.BaseFunctionTests 3✅ 7ms
Dfe.PlanTech.AzureFunctions.UnitTests.ButtonMapperTests 4✅ 60ms
Dfe.PlanTech.AzureFunctions.UnitTests.ButtonWithEntryReferenceMapperTests 1✅ 8ms
Dfe.PlanTech.AzureFunctions.UnitTests.ButtonWithLinkMapperTests 1✅ 14ms
Dfe.PlanTech.AzureFunctions.UnitTests.CategoryMapperTests 1✅ 56ms
Dfe.PlanTech.AzureFunctions.UnitTests.ComponentDropDownMapperTests 1✅ 246ms
Dfe.PlanTech.AzureFunctions.UnitTests.ContentfulWebHookTests 4✅ 206ms
Dfe.PlanTech.AzureFunctions.UnitTests.HeaderMapperTests 1✅ 26ms
Dfe.PlanTech.AzureFunctions.UnitTests.InsetTextMapperTests 1✅ 10ms
Dfe.PlanTech.AzureFunctions.UnitTests.Mappers.JsonToDbMapperUnitTests 4✅ 79ms
Dfe.PlanTech.AzureFunctions.UnitTests.NavigationLinkMapperTests 2✅ 14ms
Dfe.PlanTech.AzureFunctions.UnitTests.PageMapperTests 1✅ 112ms
Dfe.PlanTech.AzureFunctions.UnitTests.QuestionMapperTests 1✅ 38ms
Dfe.PlanTech.AzureFunctions.UnitTests.QueueReceiverTests 14✅ 723ms
Dfe.PlanTech.AzureFunctions.UnitTests.RecommendationPageMapperTests 1✅ 14ms
Dfe.PlanTech.AzureFunctions.UnitTests.RichTextContentMapperTests 2✅ 201ms
Dfe.PlanTech.AzureFunctions.UnitTests.SectionMapperTests 1✅ 418ms
Dfe.PlanTech.AzureFunctions.UnitTests.TextBodyMapperTests 1✅ 283ms
Dfe.PlanTech.AzureFunctions.UnitTests.TitleMapperUnitTests 1✅ 6ms
Dfe.PlanTech.AzureFunctions.UnitTests.WarningComponentMapperTests 1✅ 25ms

✅ Dfe.PlanTech.AzureFunctions.UnitTests.AnswerMapperTests

✅ Mapper_Should_Map_Relationship

✅ Dfe.PlanTech.AzureFunctions.UnitTests.BaseFunctionTests

✅ ReturnEmptyBodyError_Should_ReturnBadResponse_And_LogMessage
✅ ReturnOkResponse_Should_ReturnOkResponse
✅ ReturnServerErrorResponse_Should_LogError

✅ Dfe.PlanTech.AzureFunctions.UnitTests.ButtonMapperTests

✅ Mapper_Should_Map_Button(buttonValue: "", isStartButton: False)
✅ Mapper_Should_Map_Button(buttonValue: "", isStartButton: True)
✅ Mapper_Should_Map_Button(buttonValue: "Button value", isStartButton: False)
✅ Mapper_Should_Map_Button(buttonValue: "Button value", isStartButton: True)

✅ Dfe.PlanTech.AzureFunctions.UnitTests.ButtonWithEntryReferenceMapperTests

✅ Mapper_Should_Map_ButtonWithEntryReference

✅ Dfe.PlanTech.AzureFunctions.UnitTests.ButtonWithLinkMapperTests

✅ Mapper_Should_Map_ButtonWithEntryReference

✅ Dfe.PlanTech.AzureFunctions.UnitTests.CategoryMapperTests

✅ Mapper_Should_Map_Category

✅ Dfe.PlanTech.AzureFunctions.UnitTests.ComponentDropDownMapperTests

✅ Mapper_Should_Map_Relationship

✅ Dfe.PlanTech.AzureFunctions.UnitTests.ContentfulWebHookTests

✅ WebhookReceiver_Should_Error_If_NullOrEmptyBody
✅ WebhookReceiver_Should_ReturnError_When_ExceptionThrown
✅ WebhookReceiver_Should_ReturnError_When_NullOrEmptyHeader
✅ WebhookReceiver_Should_ReturnOk_When_BodyNotNull

✅ Dfe.PlanTech.AzureFunctions.UnitTests.HeaderMapperTests

✅ Mapper_Should_Map_Relationship

✅ Dfe.PlanTech.AzureFunctions.UnitTests.InsetTextMapperTests

✅ Mapper_Should_Map_Relationship

✅ Dfe.PlanTech.AzureFunctions.UnitTests.Mappers.JsonToDbMapperUnitTests

✅ AcceptsContentType_Should_Return_Correct_Output(typeName: "Button", expectedResult: False)
✅ AcceptsContentType_Should_Return_Correct_Output(typeName: "ButtonWithEntryReference", expectedResult: False)
✅ AcceptsContentType_Should_Return_Correct_Output(typeName: "ButtonWithLink", expectedResult: True)
✅ Should_Flatten_Payload_And_Return_ContentComponentDbEntity_When_Valid_Payload

✅ Dfe.PlanTech.AzureFunctions.UnitTests.NavigationLinkMapperTests

✅ Mapper_Should_Map_NavigationLink(openInNewTab: False)
✅ Mapper_Should_Map_NavigationLink(openInNewTab: True)

✅ Dfe.PlanTech.AzureFunctions.UnitTests.PageMapperTests

✅ Mapper_Should_Map_Page

✅ Dfe.PlanTech.AzureFunctions.UnitTests.QuestionMapperTests

✅ Mapper_Should_Map_Relationship

✅ Dfe.PlanTech.AzureFunctions.UnitTests.QueueReceiverTests

✅ QueueReceiverDbWriter_Should_DeadLetter_Failed_Operation
✅ QueueReceiverDbWriter_Should_Execute_Successfully
✅ QueueReceiverDbWriter_Should_MapExistingDbEntity_To_Message
✅ QueueRecieverDbWriter_Should_CompleteSuccessfully_After_Archive
✅ QueueRecieverDbWriter_Should_CompleteSuccessfully_After_Delete
✅ QueueRecieverDbWriter_Should_CompleteSuccessfully_After_Existing_Unpublish
✅ QueueRecieverDbWriter_Should_CompleteSuccessfully_After_Publish
✅ QueueRecieverDbWriter_Should_CompleteSuccessfully_After_Unarchive
✅ QueueRecieverDbWriter_Should_DeadLetterQueue_After_New_Unpublish
✅ QueueRecieverDbWriter_Should_DeadLetterQueue_If_ActionIsInvalid
✅ QueueRecieverDbWriter_Should_ExitEarly_When_CmsEvent_Is_Create
✅ QueueRecieverDbWriter_Should_ExitEarly_When_Component_IsInvalid
✅ QueueRecieverDbWriter_Should_ExitEarly_When_Event_Is_AutoSave_And_UsePreview_Is_False
✅ QueueRecieverDbWriter_Should_ExitEarly_When_Event_Is_Save_And_UsePreview_Is_False

✅ Dfe.PlanTech.AzureFunctions.UnitTests.RecommendationPageMapperTests

✅ Mapper_Should_Map_Relationship

✅ Dfe.PlanTech.AzureFunctions.UnitTests.RichTextContentMapperTests

✅ Mapper_Should_Map_ToContent_FromDb
✅ Mapper_Should_Map_ToDbEntity_FromContent

✅ Dfe.PlanTech.AzureFunctions.UnitTests.SectionMapperTests

✅ Mapper_Should_Map_Relationship

✅ Dfe.PlanTech.AzureFunctions.UnitTests.TextBodyMapperTests

✅ Mapper_Should_Map_ToDbEntity

✅ Dfe.PlanTech.AzureFunctions.UnitTests.TitleMapperUnitTests

✅ Mapper_Should_Map_NavigationLink

✅ Dfe.PlanTech.AzureFunctions.UnitTests.WarningComponentMapperTests

✅ Mapper_Should_Map_WarningComponent

✅ tests/Dfe.PlanTech.Infrastructure.Contentful.UnitTests/TestResults/test-results.trx

52 tests were completed in 2s with 52 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
Dfe.PlanTech.Infrastructure.Contentful.UnitTests.Content.Renderers.Models.PartRenderers.HyperlinkRendererTests 5✅ 16ms
Dfe.PlanTech.Infrastructure.Contentful.UnitTests.Content.Renderers.Models.PartRenderers.ListItemRendererTests 3✅ 9ms
Dfe.PlanTech.Infrastructure.Contentful.UnitTests.Content.Renderers.Models.PartRenderers.OrderedListRendererTests 3✅ 8ms
Dfe.PlanTech.Infrastructure.Contentful.UnitTests.Content.Renderers.Models.PartRenderers.ParagraphRendererTests 4✅ 9ms
Dfe.PlanTech.Infrastructure.Contentful.UnitTests.Content.Renderers.Models.PartRenderers.TableRendererTests 2✅ 9ms
Dfe.PlanTech.Infrastructure.Contentful.UnitTests.Content.Renderers.Models.PartRenderers.TextRendererTests 5✅ 10ms
Dfe.PlanTech.Infrastructure.Contentful.UnitTests.Content.Renderers.Models.PartRenderers.UnorderedListRendererTests 3✅ 18ms
Dfe.PlanTech.Infrastructure.Contentful.UnitTests.Content.Renderers.Models.RichTextRendererTests 2✅ 127ms
Dfe.PlanTech.Infrastructure.Contentful.UnitTests.Persistence.ContentfulRepositoryTests 10✅ 159ms
Dfe.PlanTech.Infrastructure.Contentful.UnitTests.Persistence.EntityResolverTests 3✅ 26ms
Dfe.PlanTech.Infrastructure.Contentful.UnitTests.QueryBuilderByContentTypeTests 4✅ 3ms
Dfe.PlanTech.Infrastructure.Contentful.UnitTests.QueryBuilderSelectTests 2✅ 13ms
Dfe.PlanTech.Infrastructure.Contentful.UnitTests.QueryBuilderWithQueryTests 4✅ 15ms
Dfe.PlanTech.Infrastructure.Contentful.UnitTests.Serializers.DependencyInjectionContractResolverTests 2✅ 149ms

✅ Dfe.PlanTech.Infrastructure.Contentful.UnitTests.Content.Renderers.Models.PartRenderers.HyperlinkRendererTests

✅ Should_Accept_When_ContentIsHyperLink
✅ Should_AddClasses_When_OptionsContainsClasses
✅ Should_CreateLink_When_PassedValidData
✅ Should_NotAddLink_When_MissingURI
✅ Should_Reject_When_NotHyperlink

✅ Dfe.PlanTech.Infrastructure.Contentful.UnitTests.Content.Renderers.Models.PartRenderers.ListItemRendererTests

✅ Should_Accept_When_ContentIsListItem
✅ Should_CreateListItem_When_PassedValidData
✅ Should_Reject_When_Not_ListItem

✅ Dfe.PlanTech.Infrastructure.Contentful.UnitTests.Content.Renderers.Models.PartRenderers.OrderedListRendererTests

✅ Should_Accept_When_ContentIs_OrderedList
✅ Should_CreateOrderedList_When_PassedValidData
✅ Should_Reject_When_NotHyperlink

✅ Dfe.PlanTech.Infrastructure.Contentful.UnitTests.Content.Renderers.Models.PartRenderers.ParagraphRendererTests

✅ Should_Accept_When_ContentIs_Paragraph
✅ Should_Create_Paragraph_When_PassedValidData
✅ Should_Create_Paragraph_WithClass__When_PassedValidData
✅ Should_Reject_When_Not_Paragraph

✅ Dfe.PlanTech.Infrastructure.Contentful.UnitTests.Content.Renderers.Models.PartRenderers.TableRendererTests

✅ Renders_Table_Content_As_Expected
✅ Should_Accept_When_ContentIs_Table

✅ Dfe.PlanTech.Infrastructure.Contentful.UnitTests.Content.Renderers.Models.PartRenderers.TextRendererTests

✅ Should_Accept_When_ContentIs_Text
✅ Should_AddClasses_When_MarkOptionHasClasses
✅ Should_Create_Strong_When_Has_BoldMark
✅ Should_Reject_When_Not_Text
✅ Should_RenderText_When_HasNoMarks

✅ Dfe.PlanTech.Infrastructure.Contentful.UnitTests.Content.Renderers.Models.PartRenderers.UnorderedListRendererTests

✅ Should_Accept_When_ContentIs_UnorderedList
✅ Should_CreateUnorderedList_When_PassedValidData
✅ Should_Reject_When_Not_UnorderedList

✅ Dfe.PlanTech.Infrastructure.Contentful.UnitTests.Content.Renderers.Models.RichTextRendererTests

✅ Should_CreateHtml_When_PassedContent
✅ Should_RetrieveCorrectRenderer_WhenParagraph

✅ Dfe.PlanTech.Infrastructure.Contentful.UnitTests.Persistence.ContentfulRepositoryTests

✅ GetEntities_Should_ReturnEmptyIEnumerable_When_NoDataFound
✅ GetEntities_Should_ReturnItems_When_ClassMatches
✅ GetEntityById_Should_FindMatchingItem_When_IdMatches
✅ GetEntityById_Should_Throw_GetEntitiesIDException_When_DuplicateIds
✅ GetEntityById_Should_Throw_GetEntitiesIDException_With_Correct_Exception_Message_When_DuplicateIds
✅ GetEntityById_Should_ThrowException_When_IdIsEmpty
✅ GetEntityById_Should_ThrowException_When_IdIsNull
✅ Should_Call_Client_Method_When_Using_GetEntities
✅ Should_CallClientMethod_When_Using_GetEntityById
✅ Should_ReturnNull_When_IdNotFound

✅ Dfe.PlanTech.Infrastructure.Contentful.UnitTests.Persistence.EntityResolverTests

✅ Should_Find_Type_When_Given_Correct_Id
✅ Should_Find_Types
✅ Should_Return_MissingComponent_When_NotFound

✅ Dfe.PlanTech.Infrastructure.Contentful.UnitTests.QueryBuilderByContentTypeTests

✅ Should_Create_Have_ContentType_Fulter_When_String
✅ Should_Create_When_String
✅ Should_Error_When_String_Is_Empty
✅ Should_Error_When_String_Is_Null

✅ Dfe.PlanTech.Infrastructure.Contentful.UnitTests.QueryBuilderSelectTests

✅ Should_Add_Select_Properties
✅ Should_DoNothing_When_Select_Null

✅ Dfe.PlanTech.Infrastructure.Contentful.UnitTests.QueryBuilderWithQueryTests

✅ Should_Add_Multiple_Queries
✅ Should_Call_ContentQueryEquals_When_ClassIs_ContentQueryEquals
✅ Should_Call_ContentQueryIncludes_When_ClassIs_ContentQueryIncludes
✅ Should_Throw_When_Not_Concrete_Type

✅ Dfe.PlanTech.Infrastructure.Contentful.UnitTests.Serializers.DependencyInjectionContractResolverTests

✅ CreateObjectContract_ModelFound
✅ CreateObjectContract_ModelNotFound

✅ tests/Dfe.PlanTech.Infrastructure.SignIn.UnitTests/TestResults/test-results.trx

18 tests were completed in 3s with 18 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
Dfe.PlanTech.Infrastructure.SignIns.UnitTests.DfeOpenIdConnectEventsTests 7✅ 307ms
Dfe.PlanTech.Infrastructure.SignIns.UnitTests.DfePublicApiServiceTests 3✅ 154ms
Dfe.PlanTech.Infrastructure.SignIns.UnitTests.UserClaimsExtensionsTests 8✅ 133ms

✅ Dfe.PlanTech.Infrastructure.SignIns.UnitTests.DfeOpenIdConnectEventsTests

✅ OnRedirectToIdentityProvider_Should_Rewrite_Url_Always
✅ OnRedirectToIdentityProviderForSignOut_Should_Rewrite_Url_When_ProtocolMessage_Is_NotNull
✅ OnTokenValidated_Should_AddRoles_OnTokenValidated_When_DiscoverRolesWithPublicApi_Is_False
✅ OnTokenValidated_Should_AddRoles_OnTokenValidated_When_DiscoverRolesWithPublicApi_Is_True
✅ OnTokenValidated_Should_TryAddRoles_OnTokenValidated_When_DiscoverRolesWithPublicApi_Is_True
✅ The_Correct_Role_Does_Not_Exist
✅ The_Users_Organisation_Does_Not_Exist

✅ Dfe.PlanTech.Infrastructure.SignIns.UnitTests.DfePublicApiServiceTests

✅ DfeApiService_Throw_Exception_If_Call_To_Dfe_UserAccessApi_Unsuccessful
✅ Token_Returned_When_Generate_Token_Is_Called
✅ User_Access_Object_Contains_The_Correct_Role_Code_When_Calling_GetUserAccessToService

✅ Dfe.PlanTech.Infrastructure.SignIns.UnitTests.UserClaimsExtensionsTests

✅ GetOrganisation_Should_Return_Organisation_When_Exists
✅ GetOrganisation_Should_ReturnNull_When_Org_Claim_Is_Missing
✅ GetOrganisation_Should_ReturnNull_When_Organisation_Has_No_Id
✅ GetOrganisation_Should_Throw_When_ClaimsPrincipal_Is_Null
✅ GetOrganisation_Should_Throw_When_OrgClaim_Is_NotJson
✅ GetUserId_Should_Return_UserId_When_ClaimsPrincipal_Exists
✅ GetUserId_Should_Throw_When_Claim_Is_Missing
✅ GetUserId_Should_Throw_When_ClaimsPrincipal_Is_Null

✅ tests/Dfe.PlanTech.UnitTests.Shared/TestResults/test-results.trx

No tests found

✅ tests/Dfe.PlanTech.Web.UnitTests/TestResults/test-results.trx

181 tests were completed in 3s with 181 passed, 0 failed and 0 skipped.

Test suite Passed Failed Skipped Time
Dfe.PlanTech.Web.Authorisation.PageModelAuthorisationPolicyTests 6✅ 104ms
Dfe.PlanTech.Web.UnitTests.BaseTaskListTagHelperTests 1✅ 0ms
Dfe.PlanTech.Web.UnitTests.Binders.PageModelBinderTests 3✅ 55ms
Dfe.PlanTech.Web.UnitTests.Controllers.AuthControllerTests 1✅ 6ms
Dfe.PlanTech.Web.UnitTests.Controllers.CheckAnswersControllerTests 11✅ 83ms
Dfe.PlanTech.Web.UnitTests.Controllers.CookieControllerTests 10✅ 377ms
Dfe.PlanTech.Web.UnitTests.Controllers.PagesControllerTests 5✅ 93ms
Dfe.PlanTech.Web.UnitTests.Controllers.QuestionsControllerTests 10✅ 109ms
Dfe.PlanTech.Web.UnitTests.Controllers.RecommendationsControllerTests 5✅ 178ms
Dfe.PlanTech.Web.UnitTests.GetQuestionBySlugRouterTests 15✅ 290ms
Dfe.PlanTech.Web.UnitTests.Helpers.CacherTests 9✅ 17ms
Dfe.PlanTech.Web.UnitTests.Helpers.ComponentViewsFactoryTests 2✅ 22ms
Dfe.PlanTech.Web.UnitTests.Helpers.CustomTelemetryInitializerTests 2✅ 13ms
Dfe.PlanTech.Web.UnitTests.Helpers.GtmConfigurationTests 4✅ 46ms
Dfe.PlanTech.Web.UnitTests.Helpers.HeaderExtensionsTests 4✅ 1ms
Dfe.PlanTech.Web.UnitTests.Helpers.RichTextMarkExtensionsTests 3✅ 3ms
Dfe.PlanTech.Web.UnitTests.Helpers.RouteDataExtensionsTests 4✅ 14ms
Dfe.PlanTech.Web.UnitTests.Helpers.UserHelperTests 3✅ 162ms
Dfe.PlanTech.Web.UnitTests.Middleware.SecurityHeadersMiddlewareTests 1✅ 16ms
Dfe.PlanTech.Web.UnitTests.Middleware.ServiceExceptionHandlerMiddlewareTests 7✅ 12ms
Dfe.PlanTech.Web.UnitTests.Models.ComponentModelTests 11✅ 26ms
Dfe.PlanTech.Web.UnitTests.Models.EstablishmentDtoTests 8✅ 8ms
Dfe.PlanTech.Web.UnitTests.Routing.CheckAnswersRouterTests 6✅ 55ms
Dfe.PlanTech.Web.UnitTests.Routing.GetRecommendationRouterTests 12✅ 26ms
Dfe.PlanTech.Web.UnitTests.TagHelpers.FooterLinkTagHelperTests 3✅ 97ms
Dfe.PlanTech.Web.UnitTests.TagHelpers.HeaderComponentTagHelperTests 9✅ 38ms
Dfe.PlanTech.Web.UnitTests.TagHelpers.RichTextTagHelperTests 2✅ 26ms
Dfe.PlanTech.Web.UnitTests.TagHelpers.TaskListTagTagHelperTests 5✅ 4ms
Dfe.PlanTech.Web.UnitTests.TagHelpers.WarningComponentTagHelperTests 1✅ 25ms
Dfe.PlanTech.Web.UnitTests.TaskListItemNameTagHelperTests 1✅ 2ms
Dfe.PlanTech.Web.UnitTests.TaskListItemTagHelperTests 1✅ 0ms
Dfe.PlanTech.Web.UnitTests.TaskListTagHelperTests 1✅ 0ms
Dfe.PlanTech.Web.UnitTests.ViewComponents.CategorySectionViewComponentTests 7✅ 31ms
Dfe.PlanTech.Web.UnitTests.ViewComponents.FooterLinksComponentTests 2✅ 25ms
Dfe.PlanTech.Web.UnitTests.ViewComponents.RecommendationsViewComponentTests 6✅ 130ms

✅ Dfe.PlanTech.Web.Authorisation.PageModelAuthorisationPolicyTests

✅ Should_Fail_If_Page_Requires_Authorisation_And_User_Not_Authenticated
✅ Should_LogError_When_Resource_Not_HttpContext
✅ Should_Set_HttpContext_Item_For_Page
✅ Should_Set_Route_Value_When_Null
✅ Should_Succeed_If_Page_Requires_Authorisation_And_User_Authenticated
✅ Should_Success_If_Page_Does_Not_Require_Authorisation

✅ Dfe.PlanTech.Web.UnitTests.BaseTaskListTagHelperTests

✅ Should_Create_Classes_Attribute

✅ Dfe.PlanTech.Web.UnitTests.Binders.PageModelBinderTests

✅ Should_Get_Page_From_Items
✅ Should_LogError_When_Page_Not_Expected_Type
✅ Should_LogError_When_Page_Not_Present

✅ Dfe.PlanTech.Web.UnitTests.Controllers.AuthControllerTests

✅ SignOut_Should_Return_SignOut_Result

✅ Dfe.PlanTech.Web.UnitTests.Controllers.CheckAnswersControllerTests

✅ CheckAnswersPage_Should_Call_CheckAnswersRouter_When_Args_Valid
✅ CheckAnswersPage_Should_ThrowException_When_SectionSlug_NullOrEmpty(section: "")
✅ CheckAnswersPage_Should_ThrowException_When_SectionSlug_NullOrEmpty(section: null)
✅ ConfirmAnswers_Should_CalculateMaturity_When_ArgsValid
✅ ConfirmAnswers_Should_Redirect_To_CheckAnswers
✅ ConfirmAnswers_Should_Redirect_To_SelfAssessmentPage
✅ ConfirmAnswers_Should_ThrowException_When_SectionName_NullOrEmpty(sectionName: "")
✅ ConfirmAnswers_Should_ThrowException_When_SectionName_NullOrEmpty(sectionName: null)
✅ ConfirmAnswers_Should_ThrowException_When_SubmissionId_OutOfRange(submissionId: -1)
✅ ConfirmAnswers_Should_ThrowException_When_SubmissionId_OutOfRange(submissionId: -100)
✅ ConfirmAnswers_Should_ThrowException_When_SubmissionId_OutOfRange(submissionId: 0)

✅ Dfe.PlanTech.Web.UnitTests.Controllers.CookieControllerTests

✅ Accept_Redirects_BackToPlaceOfOrigin(url: "https://localhost:8080/self-assessment")
✅ Accept_Redirects_BackToPlaceOfOrigin(url: "https://www.dfe.gov.uk/self-assessment")
✅ CookiesPageDisplays
✅ HideBanner_Redirects_BackToPlaceOfOrigin(url: "https://localhost:8080/self-assessment")
✅ HideBanner_Redirects_BackToPlaceOfOrigin(url: "https://www.dfe.gov.uk/self-assessment")
✅ Reject_Redirects_BackToPlaceOfOrigin(url: "https://localhost:8080/self-assessment")
✅ Reject_Redirects_BackToPlaceOfOrigin(url: "https://www.dfe.gov.uk/self-assessment")
✅ settingCookiePreferenceBasedOnInputAsNullThrowsException
✅ settingCookiePreferenceBasedOnInputRedirectsToCookiePage(userPreference: "false")
✅ settingCookiePreferenceBasedOnInputRedirectsToCookiePage(userPreference: "true")

✅ Dfe.PlanTech.Web.UnitTests.Controllers.PagesControllerTests

✅ Should_Not_OrganisationName_When_DisplayOrganisationName_Is_False
✅ Should_Render_Service_Unavailable_Page
✅ Should_Retrieve_ErrorPage
✅ Should_ReturnLandingPage_When_IndexRouteLoaded
✅ Should_SetOrganisationName_When_DisplayOrganisationNameIsTrue

✅ Dfe.PlanTech.Web.UnitTests.Controllers.QuestionsControllerTests

✅ GetNextUnansweredQuestion_Should_Error_When_SectionSlug_NotFound
✅ GetNextUnansweredQuestion_Should_Error_When_SectionSlug_Null
✅ GetNextUnansweredQuestion_Should_Redirect_To_CheckAnswersPage_When_No_Question_Returned
✅ GetNextUnansweredQuestion_Should_Redirect_To_GetQuestionBySlug_When_NextQuestion_Exsts
✅ GetQuestionBySlug_Should_Call_Router_When_Args_Valid
✅ GetQuestionBySlug_Should_Error_When_Missing_QuestionId
✅ GetQuestionBySlug_Should_Error_When_Missing_SectionId
✅ SubmitAnswer_Should_Handle_Exception_And_Return_InLine_Error_Message
✅ SubmitAnswer_Should_Redirect_To_NextUnansweredQuestion_When_Success
✅ SubmitAnswer_Should_Return_To_Question_When_Invalid_ModelState

✅ Dfe.PlanTech.Web.UnitTests.Controllers.RecommendationsControllerTests

✅ RecommendationsPagePage_Should_Call_RecommendationsRouter_When_Args_Valid
✅ RecommendationsPagePage_Should_ThrowException_When_RecommendationSlug_NullOrEmpty(recommendation: "")
✅ RecommendationsPagePage_Should_ThrowException_When_RecommendationSlug_NullOrEmpty(recommendation: null)
✅ RecommendationsPagePage_Should_ThrowException_When_SectionSlug_NullOrEmpty(section: "")
✅ RecommendationsPagePage_Should_ThrowException_When_SectionSlug_NullOrEmpty(section: null)

✅ Dfe.PlanTech.Web.UnitTests.GetQuestionBySlugRouterTests

✅ Should_Redirect_To_CheckAnswers_When_Status_Is_CheckAnswers_And_Question_Is_Unattached
✅ Should_Redirect_To_Correct_QuestionSlug_If_NextQuestion_DoesntMatch_Slug_And_Question_Is_Not_Attached
✅ Should_Redirect_To_InterstitialPage_When_QuestionSlug_Not_Matching_And_Status_CompeletedOrNotStarted(submissionStatus: Completed)
✅ Should_Redirect_To_InterstitialPage_When_QuestionSlug_Not_Matching_And_Status_CompeletedOrNotStarted(submissionStatus: NotStarted)
✅ Should_Return_QuestionPage_If_NextQuestion_Matches_Slug(submissionStatus: Completed)
✅ Should_Return_QuestionPage_If_NextQuestion_Matches_Slug(submissionStatus: NextQuestion)
✅ Should_Return_QuestionPage_If_NextQuestion_Matches_Slug(submissionStatus: NotStarted)
✅ Should_Return_QuestionPage_When_CheckAnswers_And_Attached_Question
✅ Should_Show_Question_Page_If_Status_Is_NextQuestion_And_Is_PreviouslyAnsweredQuestion_In_Journey
✅ Should_Throw_Exception_When_No_Responses_Returned
✅ Should_Throw_Exception_When_Question_NoLonger_In_Section
✅ Should_Throw_Exception_When_QuestionSlug_NullOrEmpty(questionSlug: "")
✅ Should_Throw_Exception_When_QuestionSlug_NullOrEmpty(questionSlug: null)
✅ Should_Throw_Exception_When_SectionSlug_NullOrEmpty(sectionSlug: "")
✅ Should_Throw_Exception_When_SectionSlug_NullOrEmpty(sectionSlug: null)

✅ Dfe.PlanTech.Web.UnitTests.Helpers.CacherTests

✅ Get_Should_FetchFromCache_When_Exists
✅ Get_Should_ReturnNull_When_NotFound
✅ Get_Should_SetValueFromService_When_NotExistingInCache
✅ GetAsync_Should_Return_CachedValue_When_Cache_Exists
✅ GetAsync_Should_Return_NewValue_When_Cache_NotFound
✅ GetAsync_Should_Set_NewValue_When_Cache_NotFound
✅ GetAsync_Should_Set_Use_DefaultCacheValues_When_Not_Supplied
✅ Set_Should_Save_Using_Default_CacheOptions
✅ Set_Should_SaveInCache

✅ Dfe.PlanTech.Web.UnitTests.Helpers.ComponentViewsFactoryTests

✅ Should_ReturnStringWithTypeName_When_PassedObject
✅ TryGetViewForType_Should_Return_False_When_No_View_Found

✅ Dfe.PlanTech.Web.UnitTests.Helpers.CustomTelemetryInitializerTests

✅ CustomInitializerAddsRequestIdToRequestTelemetry
✅ CustomInitializerDoesNotAddRequestIdToNonRequestTelemetry

✅ Dfe.PlanTech.Web.UnitTests.Helpers.GtmConfigurationTests

✅ Should_Return_Analytics_Regardless_Of_Cookies_Accepted
✅ Should_Return_Analytics_Regardless_Of_Cookies_Declined
✅ Should_Return_BodyAndHead_When_Cookies_Accepted
✅ Should_Return_Empty_When_Cookies_Not_Accepted

✅ Dfe.PlanTech.Web.UnitTests.Helpers.HeaderExtensionsTests

✅ Should_ReturnExtraLarge_When_ExtraLargeTag
✅ Should_ReturnLarge_When_LargeTag
✅ Should_ReturnMedium_When_MediumTag
✅ Should_ReturnSmall_When_SmallTag

✅ Dfe.PlanTech.Web.UnitTests.Helpers.RichTextMarkExtensionsTests

✅ Should_ReturnBlank_When_UnknownType
✅ Should_ReturnBold_When_Bold
✅ Should_ReturnUnderline_When_Underline

✅ Dfe.PlanTech.Web.UnitTests.Helpers.RouteDataExtensionsTests

✅ GetTitleForPage_Ignores_ForwardSlashes
✅ GetTitleForPage_Ignores_Numbers
✅ GetTitleForPage_Returns_SectionSlug
✅ GetTitleForPage_WhenSectionSlugIsEmpty_ReturnsDefaultPageTitle

✅ Dfe.PlanTech.Web.UnitTests.Helpers.UserHelperTests

✅ GetCurrentUserId_Returns_Correct_Id_When_UserExists_InDatabase
✅ GetEstablishmentId_Returns_Correct_Id_When_Establishment_Exists_In_DB
✅ GetEstablishmentId_Throws_Exception_When_Reference_Is_Not_Present

✅ Dfe.PlanTech.Web.UnitTests.Middleware.SecurityHeadersMiddlewareTests

✅ Should_Set_Headers

✅ Dfe.PlanTech.Web.UnitTests.Middleware.ServiceExceptionHandlerMiddlewareTests

✅ Should_Get_CombinedError_Redirect_KeyNotFoundException_Exception
✅ Should_Get_CombinedErrorPage_UserAccessRoleNotFoundException_Exception
✅ Should_Get_Error_Redirect_On_Null_Exception
✅ Should_Get_Service_Unavailable_Redirect_ContentfulDataUnavailableException_Exception
✅ Should_Get_Service_Unavailable_Redirect_DatabaseException_Exception
✅ Should_Get_Service_Unavailable_Redirect_InvalidEstablishmentException_Exception
✅ Should_Get_Service_Unavailable_Redirect_UserAccessUnavailableException_Exception

✅ Dfe.PlanTech.Web.UnitTests.Models.ComponentModelTests

✅ Section_Should_Return_Correct_Maturity
✅ Section_Should_Return_Correct_Maturity_When_Maturity_Is_A_String
✅ Section_Should_Return_Null_If_Maturity_Not_Found
✅ Section_Should_Return_Null_When_Maturity_Is_A_String_And_Is_Null
✅ Should_render_button_component
✅ Should_Render_ButtonWithEntryReference
✅ Should_render_category_component
✅ Should_render_dropdown_component
✅ Should_Render_InsetText
✅ Should_Render_RecommendationPage
✅ Should_render_textbody_component

✅ Dfe.PlanTech.Web.UnitTests.Models.EstablishmentDtoTests

✅ Should_Return_Invalid_When_Ids_Empty
✅ Should_Return_Invalid_When_Ids_Null
✅ Should_Return_Ukprn_When_NotNull_And_NotEmpty
✅ Should_Return_Urn_When_NotNull_And_NotEmpty
✅ Should_Return_Valid_If_Ukprn_NotNull_And_NotEmpty
✅ Should_Return_Valid_If_Urn_NotNull_And_NotEmpty
✅ Should_Throw_Exception_When_Ids_Empty
✅ Should_Throw_Exception_When_Ids_Null

✅ Dfe.PlanTech.Web.UnitTests.Routing.CheckAnswersRouterTests

✅ Should_Redirect_To_InterstitialPage_When_Status_Is_Completed
✅ Should_Redirect_To_NextQuestion_When_Status_InProgresss
✅ Should_Return_CheckAnswersPage_When_Status_Is_CheckAnswers
✅ Should_Throw_DatabaseException_When_Responses_Null
✅ Should_Throw_Exception_When_SectionSlug_NullOrEmpty(sectionSlug: "")
✅ Should_Throw_Exception_When_SectionSlug_NullOrEmpty(sectionSlug: null)

✅ Dfe.PlanTech.Web.UnitTests.Routing.GetRecommendationRouterTests

✅ Should_Redirect_To_CheckAnswersPage_When_Status_CheckAnswers
✅ Should_Redirect_To_Correct_Recommendation_Page_When_Recommendation_Not_Match
✅ Should_Redirect_To_InterstitialPage_When_NotStarted
✅ Should_Redirect_To_QuestionBySlug_When_Status_NextQuestion
✅ Should_Show_RecommendationPage_When_Status_Is_Recommendation_And_All_Valid
✅ Should_Throw_Exception_When_Maturity_Null
✅ Should_Throw_Exception_When_NotFind_Recommendation_For_Maturity
✅ Should_Throw_Exception_When_Recommendation_Not_In_Section
✅ Should_ThrowException_When_RecommendationSlug_NullOrEmpty(recommendationSlug: "")
✅ Should_ThrowException_When_RecommendationSlug_NullOrEmpty(recommendationSlug: null)
✅ Should_ThrowException_When_SectionSlug_NullOrEmpty(sectionSlug: "")
✅ Should_ThrowException_When_SectionSlug_NullOrEmpty(sectionSlug: null)

✅ Dfe.PlanTech.Web.UnitTests.TagHelpers.FooterLinkTagHelperTests

✅ Should_Log_Message_And_Render_Nothing_When_Link_Null
✅ Should_Render_Anchor_Link_When_Valid(openInNewTab: False)
✅ Should_Render_Anchor_Link_When_Valid(openInNewTab: True)

✅ Dfe.PlanTech.Web.UnitTests.TagHelpers.HeaderComponentTagHelperTests

✅ Should_LogWarning_When_HeaderTag_Is_Unknown
✅ Should_LogWarning_When_Model_Is_Null
✅ Should_RenderH1Tag_When_H1
✅ Should_RenderH2Tag_When_H2
✅ Should_RenderH3Tag_When_H3
✅ Should_RenderRightClass_When_ExtraLarge
✅ Should_RenderRightClass_When_LargeSize
✅ Should_RenderRightClass_When_MediumSize
✅ Should_RenderRightClass_When_SmallSize

✅ Dfe.PlanTech.Web.UnitTests.TagHelpers.RichTextTagHelperTests

✅ Should_LogWarning_When_Content_Is_Null
✅ Should_SetHtml_When_Content_Exists

✅ Dfe.PlanTech.Web.UnitTests.TagHelpers.TaskListTagTagHelperTests

✅ Should_Be_Strong_Tag
✅ Should_Create_CorrectColour_When_ValidColour
✅ Should_Create_DefaultColour_When_InvalidColour
✅ Should_Float_To_Right
✅ Should_Set_Variables

✅ Dfe.PlanTech.Web.UnitTests.TagHelpers.WarningComponentTagHelperTests

✅ Should_Create_Tags

✅ Dfe.PlanTech.Web.UnitTests.TaskListItemNameTagHelperTests

✅ Should_Set_Variables

✅ Dfe.PlanTech.Web.UnitTests.TaskListItemTagHelperTests

✅ Should_Set_Variables

✅ Dfe.PlanTech.Web.UnitTests.TaskListTagHelperTests

✅ Should_Set_Variables

✅ Dfe.PlanTech.Web.UnitTests.ViewComponents.CategorySectionViewComponentTests

✅ Returns_CategorySectionInfo_If_Slug_Exists_And_SectionIsCompleted
✅ Returns_CategorySelectionInfo_If_Section_IsNotStarted
✅ Returns_CategorySelectionInfo_If_Slug_Exists_And_SectionIsNotCompleted
✅ Returns_NoSectionsErrorRedirectUrl_If_SectionsAreEmpty
✅ Returns_NoSectionsErrorRedirectUrl_If_SectionsAreNull
✅ Returns_NullSlug_And_ErrorMessage_In_CategorySectionInfo_If_SlugDoesNotExist
✅ Returns_ProgressRetrievalError_When_ProgressCanNotBeRetrieved

✅ Dfe.PlanTech.Web.UnitTests.ViewComponents.FooterLinksComponentTests

✅ It_Should_Retrieve_NavigationLinks
✅ It_Should_Return_EmptyArray_When_Exception

✅ Dfe.PlanTech.Web.UnitTests.ViewComponents.RecommendationsViewComponentTests

✅ DoesNotReturn_RecommendationInfo_If_Section_IsNot_Completed
✅ Returns_Null_If_Category_IsNot_Completed
✅ Returns_NullRecommendationInfo_If_No_RecommendationPage_Exists_ForMaturity
✅ Returns_RecommendationInfo_And_Logs_Error_If_Exception_Thrown_By_Get_Category
✅ Returns_RecommendationInfo_For_Multiple_Categories_If_It_Exists_ForMaturity
✅ Returns_RecommendationInfo_If_It_Exists_ForMaturity