public void RenderConditionsValidCheck_IsNotValid_If_TwoOrMorePagesWithTheSameSlug_HaveEmptyRenderConditions() { // Arrange var behaviour = new BehaviourBuilder() .WithBehaviourType(EBehaviourType.GoToPage) .WithPageSlug("test-test") .Build(); var page = new PageBuilder() .WithBehaviour(behaviour) .WithPageSlug("success") .Build(); var page2 = new PageBuilder() .WithBehaviour(behaviour) .WithPageSlug("success") .Build(); page.RenderConditions = new List <Condition>(); page2.RenderConditions = new List <Condition>(); var schema = new FormSchemaBuilder() .WithName("test-name") .WithPage(page) .WithPage(page2) .Build(); // Act var check = new RenderConditionsValidCheck(); var result = check.Validate(schema); // Assert Assert.False(result.IsValid); Assert.Contains($"FAILURE - Render Conditions Valid Check, More than one {page.PageSlug} page has no render conditions", result.Messages); }
public void RenderConditionsValidCheck_IsValid_If_TwoOrMorePagesWithTheSameSlugHaveRenderConditions_And_TheLastPageHasNoRenderConditions() { // Arrange var behaviour = new BehaviourBuilder() .WithBehaviourType(EBehaviourType.GoToPage) .WithPageSlug("test-test") .Build(); var page = new PageBuilder() .WithBehaviour(behaviour) .WithPageSlug("success") .WithRenderConditions(new Condition { QuestionId = "test", EqualTo = "yes" }) .Build(); var page2 = new PageBuilder() .WithBehaviour(behaviour) .WithPageSlug("success") .WithRenderConditions(new Condition { QuestionId = "test", EqualTo = "no" }) .Build(); var page3 = new PageBuilder() .WithBehaviour(behaviour) .WithPageSlug("success") .Build(); page3.RenderConditions = new List <Condition>(); var schema = new FormSchemaBuilder() .WithName("test-name") .WithPage(page) .WithPage(page2) .WithPage(page3) .Build(); // Act var check = new RenderConditionsValidCheck(); var result = check.Validate(schema); // Assert Assert.True(result.IsValid); }