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); }