public void GetPeriodsOfValidityForMeetsExpection(int candidate) { // arrange var delivery = new Mock <ILearningDelivery>(); delivery .SetupGet(x => x.StdCodeNullable) .Returns(candidate); var handler = new Mock <IValidationErrorHandler>(MockBehavior.Strict); var larsData = new Mock <ILARSDataService>(MockBehavior.Strict); larsData .Setup(x => x.GetStandardValiditiesFor(candidate)) .Returns(Collection.EmptyAndReadOnly <ILARSStandardValidity>()); var ddRule18 = new Mock <IDerivedData_18Rule>(MockBehavior.Strict); var commonOps = new Mock <IProvideRuleCommonOperations>(MockBehavior.Strict); var sut = new LearnStartDate_14Rule(handler.Object, larsData.Object, ddRule18.Object, commonOps.Object); // act var result = sut.GetPeriodsOfValidityFor(delivery.Object); // assert Assert.Empty(result); handler.VerifyAll(); larsData.VerifyAll(); ddRule18.VerifyAll(); commonOps.VerifyAll(); }
public void GetStartForMeetsExpection() { // arrange var delivery = new Mock <ILearningDelivery>(); var deliveries = Collection.EmptyAndReadOnly <ILearningDelivery>(); var handler = new Mock <IValidationErrorHandler>(MockBehavior.Strict); var larsData = new Mock <ILARSDataService>(MockBehavior.Strict); var ddRule18 = new Mock <IDerivedData_18Rule>(MockBehavior.Strict); ddRule18 .Setup(x => x.GetApprenticeshipStandardProgrammeStartDateFor(delivery.Object, deliveries)) .Returns(DateTime.Today); var commonOps = new Mock <IProvideRuleCommonOperations>(MockBehavior.Strict); var sut = new LearnStartDate_14Rule(handler.Object, larsData.Object, ddRule18.Object, commonOps.Object); // act var result = sut.GetStartFor(delivery.Object, deliveries); // assert Assert.Equal(DateTime.Today, result); handler.VerifyAll(); larsData.VerifyAll(); ddRule18.VerifyAll(); commonOps.VerifyAll(); }
public void ValidItemDoesNotRaiseValidationMessage(string candidate, string start, string end) { // arrange const string LearnRefNumber = "123456789X"; const int stdCodeForTest = 14; // <= any old code for the purpose of the test... var delivery = new Mock <ILearningDelivery>(); delivery .SetupGet(y => y.StdCodeNullable) .Returns(stdCodeForTest); delivery.SetupGet(y => y.AimType).Returns(3); var deliveries = Collection.Empty <ILearningDelivery>(); deliveries.Add(delivery.Object); var safeDeliveries = deliveries.AsSafeReadOnlyList(); var mockLearner = new Mock <ILearner>(); mockLearner .SetupGet(x => x.LearnRefNumber) .Returns(LearnRefNumber); mockLearner .SetupGet(x => x.LearningDeliveries) .Returns(safeDeliveries); var handler = new Mock <IValidationErrorHandler>(MockBehavior.Strict); var startDate = DateTime.Parse(start); var endDate = string.IsNullOrWhiteSpace(end) ? (DateTime?)null : DateTime.Parse(end); var validities = Collection.Empty <ILARSStandardValidity>(); var validity = new Mock <ILARSStandardValidity>(); validity.SetupGet(x => x.StartDate).Returns(startDate); validity.SetupGet(x => x.EndDate).Returns(endDate); validities.Add(validity.Object); var larsData = new Mock <ILARSDataService>(MockBehavior.Strict); larsData .Setup(x => x.GetStandardValiditiesFor(stdCodeForTest)) .Returns(validities.AsSafeReadOnlyList()); var testDate = string.IsNullOrWhiteSpace(candidate) ? (DateTime?)null : DateTime.Parse(candidate); var ddRule18 = new Mock <IDerivedData_18Rule>(MockBehavior.Strict); ddRule18 .Setup(x => x.GetApprenticeshipStandardProgrammeStartDateFor(delivery.Object, safeDeliveries)) .Returns(testDate); var commonOps = new Mock <IProvideRuleCommonOperations>(MockBehavior.Strict); commonOps.Setup(x => x.IsRestart(delivery.Object)).Returns(false); commonOps.Setup(x => x.IsStandardApprencticeship(delivery.Object)).Returns(true); var sut = new LearnStartDate_14Rule(handler.Object, larsData.Object, ddRule18.Object, commonOps.Object); // act sut.Validate(mockLearner.Object); // assert handler.VerifyAll(); larsData.VerifyAll(); ddRule18.VerifyAll(); commonOps.VerifyAll(); }