示例#1
0
        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);
        }
示例#2
0
        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 httpClientFactory      = new Mock <IHttpClientFactory>();

            httpClientFactory.Setup(x => x.CreateHttpClient())
            .Returns(new HttpClient(handler));

            var uriBuilder = new Mock <ICompanyFilingHistoryUriBuilder>();

            uriBuilder.Setup(x => x.Build(It.IsAny <string>(), It.IsAny <int>(), It.IsAny <int>()))
            .Returns(uri);

            _client = new CompaniesHouseCompanyFilingHistoryClient(httpClientFactory.Object, uriBuilder.Object);

            _result = _client.GetCompanyFilingHistoryAsync("abc", 0, 25).Result;

            _result.Data.ShouldBeEquivalentTo(_companyFilingHistory);
        }