public async void GenerateProducerData_AmendProducer_WithMatchingExistingProducer_AndDetailsNotEqual_ReturnsNewProducer() { var builder = new GenerateProducerDataTestsBuilder(); builder.Status = statusType.A; builder.RegistrationNumber = "Test Registration Number"; RegisteredProducer registeredProducer = A.Fake <RegisteredProducer>(); A.CallTo(() => registeredProducer.CurrentSubmission) .Returns(new AlwaysUnequalProducer()); A.CallTo(() => registeredProducer.ProducerRegistrationNumber) .Returns("Test Registration Number"); A.CallTo(() => builder.DataAccess.ProducerRegistrationExists(A <string> ._)) .Returns(true); A.CallTo(() => builder.DataAccess.FetchRegisteredProducerOrDefault(A <string> ._, A <int> ._, A <Guid> ._)) .Returns(registeredProducer); var result = await builder.InvokeGenerateProducerDataWithSingleResult(); Assert.Equal("Test Registration Number", result.RegisteredProducer.ProducerRegistrationNumber); }
public async void GenerateProducerData_WithNoProducerChargesForProducer_ThrowsApplicationException() { var builder = new GenerateProducerDataTestsBuilder(); builder.ProducerCharges = new Dictionary<string, ProducerCharge>(); await Assert.ThrowsAsync<ApplicationException>(() => builder.InvokeGenerateProducerDataWithSingleResult()); }
public async void GenerateProducerData_WithNullProducerCharges_ThrowsApplicationException() { var builder = new GenerateProducerDataTestsBuilder(); builder.ProducerCharges = null; await Assert.ThrowsAsync<ApplicationException>(() => builder.InvokeGenerateProducerDataWithSingleResult()); }
public async void GenerateProducerData_WithProducerBusiness_ReturnsProducerWithMatchingProducerBusiness() { var builder = new GenerateProducerDataTestsBuilder(); builder.ProducerBusiness = new producerBusinessType() { correspondentForNotices = new optionalContactDetailsContainerType(), Item = new companyType() { companyName = "Test company", companyNumber = "Test CRN", registeredOffice = new contactDetailsContainerType() { contactDetails = new contactDetailsType() { address = new addressType() { country = countryType.UKENGLAND } } } } }; builder.ProducerCharges.Add("Test company", new ProducerCharge() { ChargeBandAmount = new ChargeBandAmount() }); var result = await builder.InvokeGenerateProducerDataWithSingleResult(); Assert.Equal("Test company", result.ProducerBusiness.CompanyDetails.Name); Assert.Equal("Test CRN", result.ProducerBusiness.CompanyDetails.CompanyNumber); }
public async void GenerateProducerData_WithNullProducerCharges_ThrowsApplicationException() { var builder = new GenerateProducerDataTestsBuilder(); builder.ProducerCharges = null; await Assert.ThrowsAsync <ApplicationException>(() => builder.InvokeGenerateProducerDataWithSingleResult()); }
public async void GenerateProducerData_WithNoProducerChargesForProducer_ThrowsApplicationException() { var builder = new GenerateProducerDataTestsBuilder(); builder.ProducerCharges = new Dictionary <string, ProducerCharge>(); await Assert.ThrowsAsync <ApplicationException>(() => builder.InvokeGenerateProducerDataWithSingleResult()); }
public async void GenerateProducerData_WithEEEPlacedOnMarketBand_ReturnsProducerWithMatchingEEEPlacedOnMarketBand() { var builder = new GenerateProducerDataTestsBuilder(); builder.EEEPlacedOnMarketBandType = eeePlacedOnMarketBandType.Lessthan5TEEEplacedonmarket; var result = await builder.InvokeGenerateProducerDataWithSingleResult(); Assert.Equal(1, result.EEEPlacedOnMarketBandType); }
public async void GenerateProducerData_WithSellingTechnique_ReturnsProducerWithMatchingSellingTechnique() { var builder = new GenerateProducerDataTestsBuilder(); builder.SellingTechnique = sellingTechniqueType.Both; var result = await builder.InvokeGenerateProducerDataWithSingleResult(); Assert.Equal(2, result.SellingTechniqueType); }
public async void GenerateProducerData_WithObligationType_ReturnsProducerWithMatchingObligationType() { var builder = new GenerateProducerDataTestsBuilder(); builder.ObligationType = obligationTypeType.B2B; var result = await builder.InvokeGenerateProducerDataWithSingleResult(); Assert.Equal(Domain.Obligation.ObligationType.B2B, result.ObligationType); }
public async void GenerateProducerData_WithAnnualTurnOverBandType_ReturnsProducerWithMatchingAnnualTurnOverBandType() { var builder = new GenerateProducerDataTestsBuilder(); builder.AnnualTurnoverBandType = annualTurnoverBandType.Greaterthanonemillionpounds; var result = await builder.InvokeGenerateProducerDataWithSingleResult(); Assert.Equal(1, result.AnnualTurnOverBandType); }
public async void GenerateProducerData_WithCeaseDate_ReturnsProducerWithMatchingCeaseDate() { var builder = new GenerateProducerDataTestsBuilder(); builder.CeaseDate = new DateTime(2015, 10, 1); var result = await builder.InvokeGenerateProducerDataWithSingleResult(); Assert.Equal(new DateTime(2015, 10, 1), result.CeaseToExist); }
public async void GenerateProducerData_WithAnnualTurnover_ReturnsProducerWithMatchingAnnualTurnover() { var builder = new GenerateProducerDataTestsBuilder(); builder.AnnualTurnover = 11100; var result = await builder.InvokeGenerateProducerDataWithSingleResult(); Assert.Equal(11100, result.AnnualTurnover); }
public async void GenerateProducerData_WithVatRegistered_ReturnsProducerWithMatchingVatRegistered(bool vatRegistered) { var builder = new GenerateProducerDataTestsBuilder(); builder.VatRegistered = vatRegistered; var result = await builder.InvokeGenerateProducerDataWithSingleResult(); Assert.Equal(vatRegistered, result.VATRegistered); }
public async void GenerateProducerData_WithManyProducers_AllInserts_ReturnsSameNumberOfProducers() { var builder = new GenerateProducerDataTestsBuilder(); builder.Status = statusType.I; var result = await builder.InvokeGenerateProducerData(10); Assert.Equal(10, result.Count()); }
public async void GenerateProducerData_InsertProducer_WithScheme_ReturnsRegisteredProducerWithMatchingSchemeId() { var schemeId = Guid.NewGuid(); var builder = new GenerateProducerDataTestsBuilder(); builder.Status = statusType.I; builder.SchemeId = schemeId; var result = await builder.InvokeGenerateProducerDataWithSingleResult(); Assert.Equal(schemeId, result.RegisteredProducer.Scheme.Id); }
public async void GenerateProducerData_WithBrandNames_ReturnsProducerWithMatchingBrandNames() { var builder = new GenerateProducerDataTestsBuilder(); builder.BrandNames = new[] { "BrandName1", "BrandName2" }; var result = await builder.InvokeGenerateProducerDataWithSingleResult(); Assert.Collection(result.BrandNames, r1 => Assert.Equal("BrandName1", r1.Name), r2 => Assert.Equal("BrandName2", r2.Name)); }
public async void GenerateProducerData_WithGeneratedRegistrationNumberForInsertion_ReturnsProducerWithMatchingRegistrationNumber() { var builder = new GenerateProducerDataTestsBuilder(); builder.Status = statusType.I; builder.GeneratedPrns.Clear(); builder.GeneratedPrns.Enqueue("Test Generated Registration Number"); var result = await builder.InvokeGenerateProducerDataWithSingleResult(); Assert.Equal("Test Generated Registration Number", result.RegisteredProducer.ProducerRegistrationNumber); }
public async void GenerateProducerData_WithTradingName_ReturnsProducerWithMatchingTradingName() { var builder = new GenerateProducerDataTestsBuilder(); builder.TradingName = "Test producer trading name"; builder.ProducerCharges.Add("Test producer trading name", new ProducerCharge() { ChargeBandAmount = new ChargeBandAmount() }); var result = await builder.InvokeGenerateProducerDataWithSingleResult(); Assert.Equal("Test producer trading name", result.TradingName); }
public async void GenerateProducerData_WithAuthorisedRepresentative_ReturnsProducerWithMatchingAuthorisedRepresentative() { var builder = new GenerateProducerDataTestsBuilder(); builder.AuthorisedRepresentative = new authorisedRepresentativeType() { overseasProducer = new overseasProducerType() { overseasProducerName = "Test overseas producer" } }; var result = await builder.InvokeGenerateProducerDataWithSingleResult(); Assert.Equal("Test overseas producer", result.AuthorisedRepresentative.OverseasProducerName); }
public async void GenerateProducerData_WithMemberUpload_ReturnsProducerWithMatchingMemberUpload() { var builder = new GenerateProducerDataTestsBuilder(); var data = "Test data"; var fileName = "Test filename"; var memberUpload = new MemberUpload(Guid.NewGuid(), data, A.Dummy <List <MemberUploadError> >(), 0, 2015, A.Dummy <Scheme>(), fileName, null, false); builder.MemberUpload = memberUpload; var result = await builder.InvokeGenerateProducerDataWithSingleResult(); Assert.Equal(data, result.MemberUpload.RawData.Data); Assert.Equal(fileName, result.MemberUpload.FileName); Assert.Same(memberUpload, result.MemberUpload); }
public async void GenerateProducerData_AmendProducer_WithNoMatchingExistingProducer_AndMigratedProducer_ThrowsInvalidOperationException() { var builder = new GenerateProducerDataTestsBuilder(); builder.Status = statusType.A; A.CallTo(() => builder.DataAccess.ProducerRegistrationExists(A <string> ._)) .Returns(false); A.CallTo(() => builder.DataAccess.MigratedProducerExists(A <string> ._)) .Returns(false); Func <Task> action = async() => await builder.InvokeGenerateProducerData(1); await Assert.ThrowsAsync <InvalidOperationException>(action); }
public async void GenerateProducerData_WithMemberUpload_ReturnsProducerWithMatchingMemberUpload() { var builder = new GenerateProducerDataTestsBuilder(); var data = "Test data"; var fileName = "Test filename"; var memberUpload = new MemberUpload(Guid.NewGuid(), data, A.Dummy<List<MemberUploadError>>(), 0, 2015, A.Dummy<Scheme>(), fileName); builder.MemberUpload = memberUpload; var result = await builder.InvokeGenerateProducerDataWithSingleResult(); Assert.Equal(data, result.MemberUpload.RawData.Data); Assert.Equal(fileName, result.MemberUpload.FileName); Assert.Same(memberUpload, result.MemberUpload); }
public async void GenerateProducerData_WithProducerCharges_ReturnsProducerWithMatchingProducerCharges() { var builder = new GenerateProducerDataTestsBuilder(); var chargeBoundAmound = new ChargeBandAmount(Guid.NewGuid(), ChargeBand.A, 20); builder.ProducerCharges[builder.TradingName] = new ProducerCharge() { Amount = 100, ChargeBandAmount = chargeBoundAmound }; var result = await builder.InvokeGenerateProducerDataWithSingleResult(); Assert.Equal(100, result.ChargeThisUpdate); Assert.Equal(20, result.ChargeBandAmount.Amount); Assert.Equal(chargeBoundAmound.Id, result.ChargeBandAmount.Id); }
public async void GenerateProducerData_AmendProducer_WithMatchingExistingProducerFromAnotherScheme_ReturnsNewProducer() { var schemeId = Guid.NewGuid(); var builder = new GenerateProducerDataTestsBuilder(); builder.Status = statusType.A; builder.RegistrationNumber = "Test Registration Number"; builder.SchemeId = schemeId; A.CallTo(() => builder.DataAccess.ProducerRegistrationExists(A <string> ._)) .Returns(true); A.CallTo(() => builder.DataAccess.FetchRegisteredProducerOrDefault(A <string> ._, A <int> ._, A <Guid> ._)) .Returns((RegisteredProducer)null); var result = await builder.InvokeGenerateProducerDataWithSingleResult(); Assert.Equal("Test Registration Number", result.RegisteredProducer.ProducerRegistrationNumber); Assert.Equal(schemeId, result.RegisteredProducer.Scheme.Id); }
public async void GenerateProducerData_WithRegistrationNumberForAmendment_ReturnsProducerWithMatchingRegistrationNumber() { var builder = new GenerateProducerDataTestsBuilder(); builder.Status = statusType.A; builder.RegistrationNumber = "Test Registration Number"; RegisteredProducer registeredProducer = A.Fake <RegisteredProducer>(); A.CallTo(() => registeredProducer.ProducerRegistrationNumber) .Returns("Test Registration Number"); A.CallTo(() => builder.DataAccess.ProducerRegistrationExists(A <string> ._)) .Returns(true); A.CallTo(() => builder.DataAccess.FetchRegisteredProducerOrDefault(A <string> ._, A <int> ._, A <Guid> ._)) .Returns(registeredProducer); var result = await builder.InvokeGenerateProducerDataWithSingleResult(); Assert.Equal("Test Registration Number", result.RegisteredProducer.ProducerRegistrationNumber); }
public async void GenerateProducerData_AmendProducer_WithMatchingMigratedProducer_ReturnsNewProducer() { var builder = new GenerateProducerDataTestsBuilder(); builder.Status = statusType.A; builder.RegistrationNumber = "Test Registration Number"; A.CallTo(() => builder.DataAccess.ProducerRegistrationExists(A <string> ._)) .Returns(false); A.CallTo(() => builder.DataAccess.MigratedProducerExists(A <string> ._)) .Returns(true); A.CallTo(() => builder.DataAccess.FetchRegisteredProducerOrDefault(A <string> ._, A <int> ._, A <Guid> ._)) .Returns((RegisteredProducer)null); var result = await builder.InvokeGenerateProducerDataWithSingleResult(); A.CallTo(() => builder.DataAccess.MigratedProducerExists(A <string> ._)) .MustHaveHappened(); Assert.Equal("Test Registration Number", result.RegisteredProducer.ProducerRegistrationNumber); }
public async void GenerateProducerData_AmendProducer_WithMatchingExistingProducer_AndDetailsEqual_DoesNotReturnNewProducer() { var builder = new GenerateProducerDataTestsBuilder(); builder.Status = statusType.A; RegisteredProducer registeredProducer = A.Fake <RegisteredProducer>(); A.CallTo(() => registeredProducer.CurrentSubmission) .Returns(new AlwaysEqualProducer()); A.CallTo(() => builder.DataAccess.ProducerRegistrationExists(A <string> ._)) .Returns(true); A.CallTo(() => builder.DataAccess.FetchRegisteredProducerOrDefault(A <string> ._, A <int> ._, A <Guid> ._)) .Returns(registeredProducer); var result = await builder.InvokeGenerateProducerData(1); A.CallTo(() => builder.DataAccess.MigratedProducerExists(A <string> ._)) .MustNotHaveHappened(); Assert.Equal(0, result.Count()); }
public async void GenerateProducerData_AmendProducer_WithMatchingExistingProducer_AndDetailsNotEqual_ReturnsNewProducer() { var builder = new GenerateProducerDataTestsBuilder(); builder.Status = statusType.A; builder.RegistrationNumber = "Test Registration Number"; RegisteredProducer registeredProducer = A.Fake<RegisteredProducer>(); A.CallTo(() => registeredProducer.CurrentSubmission) .Returns(new AlwaysUnequalProducer()); A.CallTo(() => registeredProducer.ProducerRegistrationNumber) .Returns("Test Registration Number"); A.CallTo(() => builder.DataAccess.ProducerRegistrationExists(A<string>._)) .Returns(true); A.CallTo(() => builder.DataAccess.FetchRegisteredProducerOrDefault(A<string>._, A<int>._, A<Guid>._)) .Returns(registeredProducer); var result = await builder.InvokeGenerateProducerDataWithSingleResult(); Assert.Equal("Test Registration Number", result.RegisteredProducer.ProducerRegistrationNumber); }
public async void GenerateProducerData_WithRegistrationNumberForAmendment_ReturnsProducerWithMatchingRegistrationNumber() { var builder = new GenerateProducerDataTestsBuilder(); builder.Status = statusType.A; builder.RegistrationNumber = "Test Registration Number"; RegisteredProducer registeredProducer = A.Fake<RegisteredProducer>(); A.CallTo(() => registeredProducer.ProducerRegistrationNumber) .Returns("Test Registration Number"); A.CallTo(() => builder.DataAccess.ProducerRegistrationExists(A<string>._)) .Returns(true); A.CallTo(() => builder.DataAccess.FetchRegisteredProducerOrDefault(A<string>._, A<int>._, A<Guid>._)) .Returns(registeredProducer); var result = await builder.InvokeGenerateProducerDataWithSingleResult(); Assert.Equal("Test Registration Number", result.RegisteredProducer.ProducerRegistrationNumber); }
public async void GenerateProducerData_AmendProducer_WithMatchingExistingProducerFromAnotherScheme_ReturnsNewProducer() { var schemeId = Guid.NewGuid(); var builder = new GenerateProducerDataTestsBuilder(); builder.Status = statusType.A; builder.RegistrationNumber = "Test Registration Number"; builder.SchemeId = schemeId; A.CallTo(() => builder.DataAccess.ProducerRegistrationExists(A<string>._)) .Returns(true); A.CallTo(() => builder.DataAccess.FetchRegisteredProducerOrDefault(A<string>._, A<int>._, A<Guid>._)) .Returns((RegisteredProducer)null); var result = await builder.InvokeGenerateProducerDataWithSingleResult(); Assert.Equal("Test Registration Number", result.RegisteredProducer.ProducerRegistrationNumber); Assert.Equal(schemeId, result.RegisteredProducer.Scheme.Id); }
public async void GenerateProducerData_AmendProducer_WithMatchingExistingProducer_AndDetailsEqual_DoesNotReturnNewProducer() { var builder = new GenerateProducerDataTestsBuilder(); builder.Status = statusType.A; RegisteredProducer registeredProducer = A.Fake<RegisteredProducer>(); A.CallTo(() => registeredProducer.CurrentSubmission) .Returns(new AlwaysEqualProducer()); A.CallTo(() => builder.DataAccess.ProducerRegistrationExists(A<string>._)) .Returns(true); A.CallTo(() => builder.DataAccess.FetchRegisteredProducerOrDefault(A<string>._, A<int>._, A<Guid>._)) .Returns(registeredProducer); var result = await builder.InvokeGenerateProducerData(1); A.CallTo(() => builder.DataAccess.MigratedProducerExists(A<string>._)) .MustNotHaveHappened(); Assert.Equal(0, result.Count()); }
public async void GenerateProducerData_AmendProducer_WithNoMatchingExistingProducer_AndMigratedProducer_ThrowsInvalidOperationException() { var builder = new GenerateProducerDataTestsBuilder(); builder.Status = statusType.A; A.CallTo(() => builder.DataAccess.ProducerRegistrationExists(A<string>._)) .Returns(false); A.CallTo(() => builder.DataAccess.MigratedProducerExists(A<string>._)) .Returns(false); Func<Task> action = async () => await builder.InvokeGenerateProducerData(1); await Assert.ThrowsAsync<InvalidOperationException>(action); }
public async void GenerateProducerData_AmendProducer_WithMatchingMigratedProducer_ReturnsNewProducer() { var builder = new GenerateProducerDataTestsBuilder(); builder.Status = statusType.A; builder.RegistrationNumber = "Test Registration Number"; A.CallTo(() => builder.DataAccess.ProducerRegistrationExists(A<string>._)) .Returns(false); A.CallTo(() => builder.DataAccess.MigratedProducerExists(A<string>._)) .Returns(true); A.CallTo(() => builder.DataAccess.FetchRegisteredProducerOrDefault(A<string>._, A<int>._, A<Guid>._)) .Returns((RegisteredProducer)null); var result = await builder.InvokeGenerateProducerDataWithSingleResult(); A.CallTo(() => builder.DataAccess.MigratedProducerExists(A<string>._)) .MustHaveHappened(); Assert.Equal("Test Registration Number", result.RegisteredProducer.ProducerRegistrationNumber); }