public void GivenScenarioListIsValidThenExceptionShouldNotBeThrown() { // Act Action action = () => RunsValidations.ValidateScenarios(_dummyScenarioList); // Assert action.Should().NotThrow(); }
public void GivenValidListOfCampaignPassPriorityAndPassReferenceThenErrorMessageShouldBeEmpty() { // Act var result = RunsValidations.ValidateCampaignPassPriorities(_dummyCampaignPassPriorityList, _dummyPassReferenceList); // Assert _ = result.Should().BeEmpty(); }
public void GivenScenarioIsValidThenErrorMessageShouldBeEmpty() { // Act var result = RunsValidations.ValidateScenario(_dummyScenario); // Assert _ = result.Should().BeEmpty(); }
public void GivenASpecificDatepartValueWhenStartAndEndTimesArePassedInThenReturnMessageShouldReflectValidityOfPassedInTime (Dayparts daypart, TimeSpan runStartTime, TimeSpan runEndTime, TenantSettings tenantSettings, string passName, string expectedResult) { // Act var result = RunsValidations.ValidatePassSalesAreaPrioritiesDaypart(daypart, runStartTime, runEndTime, tenantSettings, passName); // Assert _ = result.Should().Be(expectedResult); }
public void GivenScenarioIsValidAndHasNoCampaignPassPrioritiesThenErrorMessageShouldBeEmpty() { // Arrange _dummyScenario.CampaignPassPriorities = null; // Act var result = RunsValidations.ValidateScenario(_dummyScenario); // Assert _ = result.Should().BeEmpty(); }
public void GivenScenarioHasNoPassesThenErrorMessageShouldNotBeEmpty() { // Arrange _dummyScenario.Passes = null; // Act var result = RunsValidations.ValidateScenario(_dummyScenario); // Assert _ = result.Should().Contain($"Scenario: {_dummyScenario.Name} contains no passes, One or more passes is required."); }
public void GivenScenarioHasEmptyNameThenErrorMessageShouldNotBeEmpty() { // Arrange _dummyScenario.Name = string.Empty; // Act var result = RunsValidations.ValidateScenario(_dummyScenario); // Assert _ = result.Should().Contain("Scenario name is required."); }
public void GivenPassHasSomeSalesAreaPrioritiesRecordsAndRunSalesAreasListMatchesThemThenReturnMessageShouldBeEmpty() { // Arrange _dummyPassSalesAreaPriorityAllFalse.SalesAreaPriorities = _dummyRunSalesAreasPriority; // Act var result = RunsValidations.ValidatePassSalesAreaPriorities(_dummyRun, _dummyPass, _dummyTenantSettings, _dummyNotExcludedSalesAreas); // Assert _ = result.Should().BeEmpty(); }
public void GivenScenarioHasDuplicatePassesThenErrorMessageShouldNotBeEmpty() { // Arrange _dummyPassReferenceList[1].Id = _dummyPassReferenceList[0].Id; _dummyScenario.Passes = _dummyPassReferenceList; // Act var result = RunsValidations.ValidateScenario(_dummyScenario); // Assert _ = result.Should().Contain($"Scenario: {_dummyScenario.Name} contains duplicate passes."); }
public void GivenPassHasSomeSalesAreaPrioritiesRecordsAndRunSalesAreasListIsEmptyThenReturnMessageShouldBeCorrectError() { // Arrange _dummyPassSalesAreaPriorityAllFalse.SalesAreaPriorities = _dummyRunSalesAreasPriority; var errorSalesAreas = string.Join(", ", _dummyRunSalesAreasPriority.Where(o => o.Priority != SalesAreaPriorityType.Exclude).Select(o => o.SalesArea)); string passName = RunsValidationsDummyData.PassName; // Act var result = RunsValidations.ValidatePassSalesAreaPriorities(_dummyRun, _dummyPass, _dummyTenantSettings, new List <string>()); // Assert _ = result.Should().Be($"Pass: {passName}, contains SalesAreaPriorities for SalesArea(s):[{errorSalesAreas}] which are not found in the Run level SalesAreaPriorities{Environment.NewLine}"); }
public void GivenAllValidInputsAndPassDayPartsTrueThenReturnMessageShouldBeEmpty(TimeSpan runStartTime, TimeSpan runEndTime, string expectedResult) { // Arrange _dummyRun.StartTime = runStartTime; _dummyRun.EndTime = runEndTime; _dummyPass.PassSalesAreaPriorities = _dummyPassSalesAreaPriorityAllTrue; // Act var result = RunsValidations.ValidatePassSalesAreaPriorities(_dummyRun, _dummyPass, _dummyTenantSettings, _dummyNotExcludedSalesAreas); // Assert _ = result.Should().Be(expectedResult); }
public void GivenValidListOfCampaignPassPriorityWithInvalidItemAndValidListOfPassReferenceThenErrorMessageShouldNotBeEmpty() { // Arrange var presetGuid = Guid.NewGuid(); _dummyCampaignPassPriorityList[1].Campaign.ExternalId = presetGuid.ToString(); _dummyCampaignPassPriorityList[1].PassPriorities = new List <PassPriority>(); int itemsExpected = RunsValidationsDummyData.NumberOfItemsToCreate; // Act var result = RunsValidations.ValidateCampaignPassPriorities(_dummyCampaignPassPriorityList, _dummyPassReferenceList); // Assert _ = result.Should().Contain($"CampaignExternalId: {presetGuid} should contain {itemsExpected.ToString()} PassPriorities."); }
public void GivenRunAndPassTimesAndPassDayPartsFalseThenReturnMessageShouldReflectValidityOfPass( TimeSpan runStartTime, TimeSpan runEndTime, TimeSpan passStartTime, TimeSpan passEndTime, string expectedResult) { // Arrange _dummyRun.StartTime = runStartTime; _dummyRun.EndTime = runEndTime; _dummyPass.PassSalesAreaPriorities.StartTime = passStartTime; _dummyPass.PassSalesAreaPriorities.EndTime = passEndTime; // Act var result = RunsValidations.ValidatePassSalesAreaPriorities(_dummyRun, _dummyPass, _dummyTenantSettings, _dummyNotExcludedSalesAreas); // Assert _ = result.Should().Be(expectedResult); }
public void GivenAllDaypartFlagsAreTurnedOnInThePassWhenStartAndEndTimesAreStandardAirTimeThenReturnMessageShouldBeEmpty() { // Arrange var runStartTime = new TimeSpan(0, 6, 0, 0); var runEndTime = new TimeSpan(1, 5, 59, 59); // Act var result = RunsValidations.ValidatePassSalesAreaPrioritiesDayparts( RunsValidationsDummyData.PassName, _dummyPassSalesAreaPriorityAllTrue, runStartTime, runEndTime, _dummyTenantSettings); // Assert _ = result.Should().BeEmpty(); }
public void GivenValidListOfCampaignPassPriorityAndInvalidListOfPassReferenceThenErrorMessageShouldNotBeEmpty() { // Arrange _dummyPassReferenceList.RemoveAt(1); var expectedErrorMessage = new StringBuilder(); foreach (var cpp in _dummyCampaignPassPriorityList) { _ = expectedErrorMessage.AppendLine($"CampaignExternalId: {cpp.Campaign.ExternalId} should contain {_dummyPassReferenceList.Count} PassPriorities."); } // Act var result = RunsValidations.ValidateCampaignPassPriorities(_dummyCampaignPassPriorityList, _dummyPassReferenceList); // Assert _ = result.Should().Be(expectedErrorMessage.ToString()); }
public void GivenScenarioListHasInvalidItemsThenExceptionShouldBeThrownWithCorrectMessage() { // Arrange _dummyScenarioList[0].Name = string.Empty; _dummyScenario.Passes = null; _dummyScenarioList.Add(_dummyScenario); var expectedErrorMessage = new StringBuilder(); _ = expectedErrorMessage.Append("Scenario name is required."); _ = expectedErrorMessage.AppendLine($"Scenario: {_dummyScenario.Name} contains no passes, One or more passes is required."); // Act Action act = () => RunsValidations.ValidateScenarios(_dummyScenarioList); // Assert _ = act.Should().Throw <Exception>().WithMessage(expectedErrorMessage.ToString()); }
public void GivenAllDaypartFlagsAreTurnedOffInThePassWhenStartAndEndTimesAreConstrictedThenReturnMessageShouldBeEmpty() { // Arrange _dummyPass.PassSalesAreaPriorities = _dummyPassSalesAreaPriorityAllFalse; var runStartTime = new TimeSpan(2, 0, 0); var runEndTime = new TimeSpan(3, 0, 0); // Act var result = RunsValidations.ValidatePassSalesAreaPrioritiesDayparts( RunsValidationsDummyData.PassName, _dummyPassSalesAreaPriorityAllFalse, runStartTime, runEndTime, _dummyTenantSettings); // Assert _ = result.Should().BeEmpty(); }
public void GivenAllDaypartFlagsAreTurnedOnInThePassWhenStartAndEndTimesAreConstrictedThenReturnMessageShouldBeACorrectError() { // Arrange var runStartTime = new TimeSpan(3, 0, 0); var runEndTime = new TimeSpan(4, 0, 0); string passName = RunsValidationsDummyData.PassName; var messageBuilder = new StringBuilder(); _ = messageBuilder.AppendLine($"Pass: {passName}, SalesAreaPriorities {Dayparts.OffPeak.ToString()} daypart is not within run StartTime/EndTime"); _ = messageBuilder.AppendLine($"Pass: {passName}, SalesAreaPriorities {Dayparts.Peak.ToString()} daypart is not within run StartTime/EndTime"); _ = messageBuilder.AppendLine($"Pass: {passName}, SalesAreaPriorities {Dayparts.MidnightToDawn.ToString()} daypart is not within run StartTime/EndTime"); // Act var result = RunsValidations.ValidatePassSalesAreaPrioritiesDayparts( passName, _dummyPassSalesAreaPriorityAllTrue, runStartTime, runEndTime, _dummyTenantSettings); // Assert _ = result.Should().Be(messageBuilder.ToString()); }