public void Evaluate_Amendment_AndProducerExistsWithDifferentChargeBand_FailAsWarning_AndIncludesProducerDetailsAndChargeBandsInErrorMessage() { string producerName = "ProdA"; string registrationNumber = "reg123"; var existingChargeBand = ChargeBand.A; var evaluator = new ProducerChargeBandChangeEvaluator(producerChargeBandCalculatorChooser); var producerCharge = new ProducerCharge() { ChargeBandAmount = new ChargeBandAmount(Guid.Empty, ChargeBand.B, 0), Amount = 0 }; var fakeProducer = A.Fake <ProducerSubmission>(); ChargeBandAmount chargeBandAmount = new ChargeBandAmount( new Guid("0B513437-2971-4C6C-B633-75216FAB6757"), existingChargeBand, 123); A.CallTo(() => fakeProducer.ChargeBandAmount).Returns(chargeBandAmount); A.CallTo(() => fakeProducer.OrganisationName).Returns(producerName); A.CallTo(() => fakeProducer.RegisteredProducer.ProducerRegistrationNumber).Returns(registrationNumber); A.CallTo(() => producerChargeBandCalculatorChooser.GetProducerChargeBand(A <schemeType> ._, A <producerType> ._)).Returns(producerCharge); A.CallTo(() => evaluator.QuerySet.GetLatestProducerForComplianceYearAndScheme(A <string> ._, A <string> ._, A <Guid> ._)) .Returns(fakeProducer); var result = evaluator.Evaluate(ChargeBand.B); Assert.False(result.IsValid); Assert.Equal(Core.Shared.ErrorLevel.Warning, result.ErrorLevel); Assert.Contains(producerName, result.Message); Assert.Contains(registrationNumber, result.Message); Assert.Contains(existingChargeBand.ToString(), result.Message); Assert.Contains(producerCharge.ChargeBandAmount.ChargeBand.ToString(), result.Message); }
public void Evaluate_Amendment_AndProducerExistsWithMatchingChargeBand_ReturnsPass() { var evaluator = new ProducerChargeBandChangeEvaluator(producerChargeBandCalculatorChooser); var fakeProducer = A.Fake <ProducerSubmission>(); var producerCharge = new ProducerCharge() { ChargeBandAmount = new ChargeBandAmount(Guid.Empty, ChargeBand.E, 0), Amount = 0 }; ChargeBandAmount producerChargeBand = new ChargeBandAmount( new Guid("0B513437-2971-4C6C-B633-75216FAB6757"), ChargeBand.E, 123); A.CallTo(() => fakeProducer.ChargeBandAmount).Returns(producerChargeBand); A.CallTo(() => evaluator.QuerySet.GetLatestProducerForComplianceYearAndScheme(A <string> ._, A <string> ._, A <Guid> ._)) .Returns(fakeProducer); A.CallTo(() => producerChargeBandCalculatorChooser.GetProducerChargeBand(A <schemeType> ._, A <producerType> ._)).Returns(producerCharge); var result = evaluator.Evaluate(ChargeBand.E); Assert.True(result.IsValid); }
public void Evaluate_Amendment_AndProducerExistsWithDifferentChargeBand_FailAsWarning() { var evaluator = new ProducerChargeBandChangeEvaluator(producerChargeBandCalculatorChooser); var fakeProducer = A.Fake <ProducerSubmission>(); var producerCharge = new ProducerCharge() { ChargeBandAmount = new ChargeBandAmount(Guid.Empty, ChargeBand.B, 0), Amount = 0 }; ChargeBandAmount chargeBandAmount = new ChargeBandAmount( new Guid("0B513437-2971-4C6C-B633-75216FAB6757"), ChargeBand.E, 123); A.CallTo(() => fakeProducer.ChargeBandAmount) .Returns(chargeBandAmount); A.CallTo(() => producerChargeBandCalculatorChooser.GetProducerChargeBand(A <schemeType> ._, A <producerType> ._)).Returns(producerCharge); A.CallTo(() => evaluator.QuerySet.GetLatestProducerForComplianceYearAndScheme(A <string> ._, A <string> ._, A <Guid> ._)) .Returns(fakeProducer); var result = evaluator.Evaluate(ChargeBand.B); Assert.False(result.IsValid); Assert.Equal(Core.Shared.ErrorLevel.Warning, result.ErrorLevel); }
public void Evaluate_Amendment_AndProducerExistsWithDifferentChargeBand_FailAsWarning_AndIncludesProducerDetailsAndChargeBandsInErrorMessage() { string producerName = "ProdA"; string registrationNumber = "reg123"; var existingChargeBand = ChargeBand.A; var newChargeBand = ChargeBand.B; var evaluator = new ProducerChargeBandChangeEvaluator(); var fakeProducer = A.Fake<ProducerSubmission>(); ChargeBandAmount chargeBandAmount = new ChargeBandAmount( new Guid("0B513437-2971-4C6C-B633-75216FAB6757"), existingChargeBand, 123); A.CallTo(() => fakeProducer.ChargeBandAmount).Returns(chargeBandAmount); A.CallTo(() => fakeProducer.OrganisationName).Returns(producerName); A.CallTo(() => fakeProducer.RegisteredProducer.ProducerRegistrationNumber).Returns(registrationNumber); A.CallTo(() => evaluator.QuerySet.GetLatestProducerForComplianceYearAndScheme(A<string>._, A<string>._, A<Guid>._)) .Returns(fakeProducer); var result = evaluator.Evaluate(newChargeBand); Assert.False(result.IsValid); Assert.Equal(Core.Shared.ErrorLevel.Warning, result.ErrorLevel); Assert.Contains(producerName, result.Message); Assert.Contains(registrationNumber, result.Message); Assert.Contains(existingChargeBand.ToString(), result.Message); Assert.Contains(newChargeBand.ToString(), result.Message); }
public void Evaluate_Amendment_AndProducerExistsWithMatchingChargeBand_ReturnsPass() { var evaluator = new ProducerChargeBandChangeEvaluator(); var fakeProducer = A.Fake<ProducerSubmission>(); ChargeBandAmount producerChargeBand = new ChargeBandAmount( new Guid("0B513437-2971-4C6C-B633-75216FAB6757"), ChargeBand.E, 123); A.CallTo(() => fakeProducer.ChargeBandAmount) .Returns(producerChargeBand); A.CallTo(() => evaluator.QuerySet.GetLatestProducerForComplianceYearAndScheme(A<string>._, A<string>._, A<Guid>._)) .Returns(fakeProducer); var result = evaluator.Evaluate(ChargeBand.E); Assert.True(result.IsValid); }
public void Evaluate_Amendment_AndProducerExistsWithDifferentChargeBand_FailAsWarning() { var evaluator = new ProducerChargeBandChangeEvaluator(); var fakeProducer = A.Fake<ProducerSubmission>(); ChargeBandAmount chargeBandAmount = new ChargeBandAmount( new Guid("0B513437-2971-4C6C-B633-75216FAB6757"), ChargeBand.E, 123); A.CallTo(() => fakeProducer.ChargeBandAmount) .Returns(chargeBandAmount); A.CallTo(() => evaluator.QuerySet.GetLatestProducerForComplianceYearAndScheme(A<string>._, A<string>._, A<Guid>._)) .Returns(fakeProducer); var result = evaluator.Evaluate(ChargeBand.B); Assert.False(result.IsValid); Assert.Equal(Core.Shared.ErrorLevel.Warning, result.ErrorLevel); }
public void Evaluate_Insert_ReturnsPass() { var result = new ProducerChargeBandChangeEvaluator(producerChargeBandCalculatorChooser).Evaluate(ChargeBand.B, statusType.I); Assert.True(result.IsValid); }
public void Evaluate_Insert_ReturnsPass() { var result = new ProducerChargeBandChangeEvaluator().Evaluate(ChargeBand.B, statusType.I); Assert.True(result.IsValid); }