public CompanyFilingHistory Build(CompaniesHouseCompanyFilingHistoryClientTestCase testCase) { var fixture = new Fixture(); fixture.Customizations.Add(new UniversalDateSpecimenBuilder <FilingHistoryItem>(x => x.DateOfProcessing)); fixture.Customizations.Add(new UniversalDateSpecimenBuilder <FilingHistoryItemAnnotation>(x => x.DateOfAnnotation)); fixture.Customizations.Add(new UniversalDateSpecimenBuilder <FilingHistoryItemAssociatedFiling>(x => x.Date)); fixture.Customizations.Add(new UniversalDateSpecimenBuilder <FilingHistoryItemResolution>(x => x.DateOfProcessing)); var annotations = fixture.Build <FilingHistoryItemAnnotation>() .CreateMany().ToArray(); var associatedFilings = fixture.Build <FilingHistoryItemAssociatedFiling>() .CreateMany().ToArray(); var resolutions = fixture.Build <FilingHistoryItemResolution>() .With(x => x.Category, testCase.ResolutionCategory) .With(x => x.Subcategory, testCase.Subcategory) .CreateMany().ToArray(); var items = fixture.Build <FilingHistoryItem>() .With(x => x.Category, testCase.Category) .With(x => x.Subcategory, testCase.Subcategory) .With(x => x.Annotations, annotations) .With(x => x.AssociatedFilings, associatedFilings) .With(x => x.Resolutions, resolutions) .CreateMany().ToArray(); var filingHistory = fixture.Build <CompanyFilingHistory>() .With(x => x.HistoryStatus, testCase.HistoryStatus) .With(x => x.Items, items) .Create(); return(filingHistory); }
public CompanyFilingHistory Build(CompaniesHouseCompanyFilingHistoryClientTestCase testCase) { var fixture = new Fixture(); fixture.Customizations.Add(new UniversalDateSpecimenBuilder<FilingHistoryItem>(x => x.DateOfProcessing)); fixture.Customizations.Add(new UniversalDateSpecimenBuilder<FilingHistoryItemAnnotation>(x => x.DateOfAnnotation)); fixture.Customizations.Add(new UniversalDateSpecimenBuilder<FilingHistoryItemAssociatedFiling>(x => x.Date)); fixture.Customizations.Add(new UniversalDateSpecimenBuilder<FilingHistoryItemResolution>(x => x.DateOfProcessing)); var annotations = fixture.Build<FilingHistoryItemAnnotation>() .CreateMany().ToArray(); var associatedFilings = fixture.Build<FilingHistoryItemAssociatedFiling>() .CreateMany().ToArray(); var resolutions = fixture.Build<FilingHistoryItemResolution>() .With(x => x.Category, testCase.ResolutionCategory) .With(x => x.Subcategory, testCase.Subcategory) .CreateMany().ToArray(); var items = fixture.Build<FilingHistoryItem>() .With(x => x.Category, testCase.Category) .With(x => x.Subcategory, testCase.Subcategory) .With(x => x.Annotations, annotations) .With(x => x.AssociatedFilings, associatedFilings) .With(x => x.Resolutions, resolutions) .CreateMany().ToArray(); var filingHistory = fixture.Build<CompanyFilingHistory>() .With(x => x.HistoryStatus, testCase.HistoryStatus) .With(x => x.Items, items) .Create(); return filingHistory; }
public void GivenACompaniesHouseCompanyProfileClient_WhenGettingACompanyProfile(CompaniesHouseCompanyFilingHistoryClientTestCase testCase) { _companyFilingHistory = new CompanyFilingHistoryBuilder().Build(testCase); var resource = new CompanyFilingHistoryResourceBuilder(_companyFilingHistory) .Create(); var uri = new Uri("https://wibble.com/search/companies"); HttpMessageHandler handler = new StubHttpMessageHandler(uri, resource); var uriBuilder = new Mock<ICompanyFilingHistoryUriBuilder>(); uriBuilder.Setup(x => x.Build(It.IsAny<string>(), It.IsAny<int>(), It.IsAny<int>())) .Returns(uri); _client = new CompaniesHouseCompanyFilingHistoryClient(new HttpClient(handler), uriBuilder.Object); _result = _client.GetCompanyFilingHistoryAsync("abc", 0, 25).Result; _result.Data.ShouldBeEquivalentTo(_companyFilingHistory); }
public async Task GivenACompaniesHouseCompanyFilingHistoryClient_WhenGettingAFilingHistoryItem(CompaniesHouseCompanyFilingHistoryClientTestCase testCase) { var filingHistory = CompanyFilingHistoryBuilder.BuildOne(testCase); var resource = CompanyFilingHistoryResourceBuilder.CreateOne(filingHistory); var uri = new Uri("https://wibble.com/company/1/filing-history/1"); HttpMessageHandler handler = new StubHttpMessageHandler(uri, resource); var uriBuilder = new Mock <ICompanyFilingHistoryUriBuilder>(); uriBuilder.Setup(x => x.Build(It.IsAny <string>(), It.IsAny <string>())).Returns(uri); var client = new CompaniesHouseCompanyFilingHistoryClient(new HttpClient(handler), uriBuilder.Object); var result = await client.GetFilingHistoryByTransactionAsync("abc", "id1"); result.Data.ShouldBeEquivalentTo(filingHistory); }
public async Task GivenACompaniesHouseCompanyProfileClient_WhenGettingACompanyProfile(CompaniesHouseCompanyFilingHistoryClientTestCase testCase) { var companyFilingHistory = CompanyFilingHistoryBuilder.Build(testCase); var resource = new CompanyFilingHistoryResourceBuilder(companyFilingHistory) .Create(); var uri = new Uri("https://wibble.com/search/companies"); HttpMessageHandler handler = new StubHttpMessageHandler(uri, resource); var uriBuilder = new Mock <ICompanyFilingHistoryUriBuilder>(); uriBuilder.Setup(x => x.Build(It.IsAny <string>(), It.IsAny <int>(), It.IsAny <int>())) .Returns(uri); var client = new CompaniesHouseCompanyFilingHistoryClient(new HttpClient(handler), uriBuilder.Object); var result = await client.GetCompanyFilingHistoryAsync("abc", 0, 25); result.Data.ShouldBeEquivalentTo(companyFilingHistory); }