public void InvalidItemRaisesValidationMessage(string candidate) { // arrange const string learnRefNumber = "123456789X"; var preferences = Collection.Empty <IContactPreference>(); var prefType = candidate.Substring(0, 3); var prefCode = int.Parse(candidate.Substring(3)); var preference = new Mock <IContactPreference>(); preference .SetupGet(y => y.ContPrefType) .Returns(prefType); preference .SetupGet(y => y.ContPrefCode) .Returns(prefCode); preferences.Add(preference.Object); var mockLearner = new Mock <ILearner>(); mockLearner .SetupGet(x => x.LearnRefNumber) .Returns(learnRefNumber); mockLearner .SetupGet(x => x.ContactPreferences) .Returns(preferences.AsSafeReadOnlyList()); var handler = new Mock <IValidationErrorHandler>(MockBehavior.Strict); handler .Setup(x => x.Handle("ContPrefType_01", learnRefNumber, null, Moq.It.IsAny <IEnumerable <IErrorMessageParameter> >())); handler .Setup(y => y.BuildErrorMessageParameter("ContPrefType", prefType)) .Returns(new Mock <IErrorMessageParameter>().Object); handler .Setup(y => y.BuildErrorMessageParameter("ContPrefCode", prefCode)) .Returns(new Mock <IErrorMessageParameter>().Object); // pass or fail is determined by this call var provider = new Mock <IProvideLookupDetails>(MockBehavior.Strict); provider .Setup(x => x.Contains(TypeOfLimitedLifeLookup.ContactPreference, candidate)) .Returns(false); var sut = new ContPrefType_01Rule(handler.Object, provider.Object); // act sut.Validate(mockLearner.Object); // assert handler.VerifyAll(); }
public void ValidItemDoesNotRaiseValidationMessage(string candidate) { const string learnRefNumber = "123456789X"; var preferences = new List <IContactPreference>(); var prefType = candidate.Substring(0, 3); var prefCode = int.Parse(candidate.Substring(3)); var preference = new Mock <IContactPreference>(); preference .SetupGet(y => y.ContPrefType) .Returns(prefType); preference .SetupGet(y => y.ContPrefCode) .Returns(prefCode); preferences.Add(preference.Object); var mockLearner = new Mock <ILearner>(); mockLearner .SetupGet(x => x.LearnRefNumber) .Returns(learnRefNumber); mockLearner .SetupGet(x => x.ContactPreferences) .Returns(preferences); var handler = new Mock <IValidationErrorHandler>(MockBehavior.Strict); var provider = new Mock <IProvideLookupDetails>(MockBehavior.Strict); provider .Setup(x => x.Contains(TypeOfLimitedLifeLookup.ContPrefType, candidate)) .Returns(true); var sut = new ContPrefType_01Rule(handler.Object, provider.Object); sut.Validate(mockLearner.Object); handler.VerifyAll(); }