예제 #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);
        }
        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);
        }