public ProducerRegistrationNumberValidityTests() { producerQuerySet = A.Fake<IProducerQuerySet>(); migratedProducerQuerySet = A.Fake<IMigratedProducerQuerySet>(); // By default, no prns returned by query set A.CallTo(() => migratedProducerQuerySet.GetAllRegistrationNumbers()) .Returns(new List<string>()); // By default, no prns returned by query set A.CallTo(() => producerQuerySet.GetAllRegistrationNumbers()) .Returns(new List<string>()); }
public ProducerRegistrationNumberValidityTests() { producerQuerySet = A.Fake <IProducerQuerySet>(); migratedProducerQuerySet = A.Fake <IMigratedProducerQuerySet>(); // By default, no prns returned by query set A.CallTo(() => migratedProducerQuerySet.GetAllRegistrationNumbers()) .Returns(new List <string>()); // By default, no prns returned by query set A.CallTo(() => producerQuerySet.GetAllRegistrationNumbers()) .Returns(new List <string>()); }
public void ProducerHasMigratedPrnNumberThatDoesExist_ValidationSucceeds() { const string prn = "ABC12345"; A.CallTo(() => migratedProducerQuerySet.GetAllRegistrationNumbers()) .Returns(new List <string> { prn }); var producer = new producerType() { registrationNo = prn, status = statusType.A }; var result = Rule().Evaluate(producer); Assert.True(result.IsValid); }
public RuleResult Evaluate(producerType producer) { if (producer.status == statusType.A && !string.IsNullOrEmpty(producer.registrationNo)) { var validRegistrationNumbers = producerQuerySet.GetAllRegistrationNumbers() .Union(migratedProducerQuerySet.GetAllRegistrationNumbers()) .Select(prn => prn.ToLowerInvariant()); if (!validRegistrationNumbers.Contains(producer.registrationNo.ToLowerInvariant())) { return (RuleResult.Fail( string.Format( "We cannot recognise the producer registration number (PRN) you have entered for {0} {1}. Enter the correct PRN for this producer.", producer.GetProducerName(), producer.registrationNo))); } } return(RuleResult.Pass()); }