Exemplo n.º 1
0
        public static Charge CreateOne(CompaniesHouseChargesClientTestCase testCase)
        {
            var fixture = new Fixture();

            fixture.Customizations.Add(new UniversalDateSpecimenBuilder <Charge>(x => x.AcquiredOn));
            fixture.Customizations.Add(new UniversalDateSpecimenBuilder <Charge>(x => x.CreatedOn));
            fixture.Customizations.Add(new UniversalDateSpecimenBuilder <Charge>(x => x.DeliveredOn));
            fixture.Customizations.Add(new UniversalDateSpecimenBuilder <Charge>(x => x.CoveringInstrumentDate));
            fixture.Customizations.Add(new UniversalDateSpecimenBuilder <Charge>(x => x.SatisfiedOn));
            fixture.Customizations.Add(new UniversalDateSpecimenBuilder <Charge>(x => x.ResolvedOn));
            fixture.Customizations.Add(new UniversalDateSpecimenBuilder <Transaction>(x => x.DeliveredOn));

            var secureDetail = fixture.Build <SecuredDetail>()
                               .With(x => x.Type, testCase.SecureDetailType)
                               .Create();

            var particular = fixture.Build <Particular>()
                             .With(x => x.Type, testCase.ParticularType)
                             .Create();

            var classification = fixture.Build <Classification>()
                                 .With(x => x.Type, testCase.ClassificationChargeType)
                                 .Create();

            var charge = fixture.Build <Charge>()
                         .With(x => x.AssetsCeasedReleased, testCase.AssetsCeasedReleased)
                         .With(x => x.Status, testCase.Status)
                         .With(x => x.Classification, classification)
                         .With(x => x.Particular, particular)
                         .With(x => x.SecuredDetail, secureDetail)
                         .Create();

            return(charge);
        }
        public async Task GivenACompaniesHouseChargesClient_WhenGettingCompanyCharges(CompaniesHouseChargesClientTestCase testCase)
        {
            var charges    = CompanyChargesBuilder.Create(testCase);
            var resource   = new CompanyChargesResourceBuilder(charges).Create();
            var uri        = new Uri("https://wibble.com/company/1/charges");
            var handler    = new StubHttpMessageHandler(uri, resource);
            var uriBuilder = new Mock <IChargesUriBuilder>();

            uriBuilder.Setup(x => x.Build(It.IsAny <string>(), It.IsAny <int>(), It.IsAny <int>())).Returns(uri);
            var client = new CompaniesHouseChargesClient(new HttpClient(handler), uriBuilder.Object);

            var result = await client.GetChargesListAsync("1", 0, 25);

            result.Data.ShouldBeEquivalentTo(charges);
        }