public async Task Validate_WithValidPRN_ButIncorrectProducerDetails_ReturnsExpectedErrors() { // Arrange var builder = new EeeValidatorBuilder(); builder.Year = 2016; // Setup producer that exists in scheme for compliance year var prn = "Test PRN"; var producerName = "Test Producer Name"; var obligationType = ObligationType.B2C; var producerSubmission = A.Fake <ProducerSubmission>(); A.CallTo(() => producerSubmission.OrganisationName) .Returns(producerName); var producer = A.Fake <RegisteredProducer>(x => x.WithArgumentsForConstructor(() => new RegisteredProducer(prn, 2016, builder.Scheme))); A.CallTo(() => producer.CurrentSubmission) .Returns(producerSubmission); A.CallTo(() => producerSubmission.ObligationType) .Returns(obligationType); A.CallTo(() => builder.DataAccess.GetRegisteredProducer(prn)) .Returns(producer); // Act var errors = await builder.InvokeValidate(prn, "Incorrect Name", ObligationType.B2B); // Assert Assert.Equal(2, errors.Count); }
public async Task Validate_WithValidPRN_ButIncorrectProducerDetails_ReturnsExpectedErrors() { // Arrange var builder = new EeeValidatorBuilder(); builder.Year = 2016; // Setup producer that exists in scheme for compliance year var prn = "Test PRN"; var producerName = "Test Producer Name"; var obligationType = ObligationType.B2C; var producerSubmission = A.Fake<ProducerSubmission>(); A.CallTo(() => producerSubmission.OrganisationName) .Returns(producerName); var producer = A.Fake<RegisteredProducer>(x => x.WithArgumentsForConstructor(() => new RegisteredProducer(prn, 2016, builder.Scheme))); A.CallTo(() => producer.CurrentSubmission) .Returns(producerSubmission); A.CallTo(() => producerSubmission.ObligationType) .Returns(obligationType); A.CallTo(() => builder.DataAccess.GetRegisteredProducer(prn)) .Returns(producer); // Act var errors = await builder.InvokeValidate(prn, "Incorrect Name", ObligationType.B2B); // Assert Assert.Equal(2, errors.Count); }
public async Task Validate_WithProducerNotRegisteredWithScheme_ReturnsError() { // Arrange var builder = new EeeValidatorBuilder(); builder.Year = 2016; var prn = "Non-existent PRN"; A.CallTo(() => builder.DataAccess.GetRegisteredProducer(A <string> ._)) .Returns((RegisteredProducer)null); // Act var errors = await builder.InvokeValidate(prn); // Assert Assert.Equal(1, errors.Count); ErrorData error = errors[0]; Assert.Equal(ErrorLevel.Error, error.ErrorLevel); Assert.Contains(prn, error.Description); Assert.Contains("2016", error.Description); }
public async Task Validate_WithProducerNotRegisteredWithScheme_ReturnsError() { // Arrange var builder = new EeeValidatorBuilder(); builder.Year = 2016; var prn = "Non-existent PRN"; A.CallTo(() => builder.DataAccess.GetRegisteredProducer(A<string>._)) .Returns((RegisteredProducer)null); // Act var errors = await builder.InvokeValidate(prn); // Assert Assert.Equal(1, errors.Count); ErrorData error = errors[0]; Assert.Equal(ErrorLevel.Error, error.ErrorLevel); Assert.Contains(prn, error.Description); Assert.Contains("2016", error.Description); }