public string GetOBWriteDomesticConsentResponse2() { string consentId = Guid.NewGuid().ToString(); OBWriteDomestic2DataInitiationInstructedAmount instructedAmount = new OBWriteDomestic2DataInitiationInstructedAmount(amount: "50", currency: "GBP"); OBWriteDomestic2DataInitiationCreditorAccount creditorAccount = new OBWriteDomestic2DataInitiationCreditorAccount( schemeName: "IBAN", identification: "BE56456394728288", name: "ACME DIY", secondaryIdentification: "secondary-identif"); OBWriteDomestic2DataInitiation domestic2 = new OBWriteDomestic2DataInitiation( instructionIdentification: "instr-identification", endToEndIdentification: "e2e-identification", localInstrument: null, instructedAmount: instructedAmount, debtorAccount: null, creditorAccount: creditorAccount); OBWriteDomesticConsentResponse4Data data = new OBWriteDomesticConsentResponse4Data( consentId: consentId, creationDateTime: DateTime.Now, status: OBWriteDomesticConsentResponse4Data.StatusEnum.AwaitingAuthorisation, statusUpdateDateTime: DateTime.Now, cutOffDateTime: DateTime.Now.Add(new TimeSpan(days: 1, hours: 0, minutes: 0, seconds: 0)), expectedExecutionDateTime: DateTime.Now, expectedSettlementDateTime: DateTime.Now, charges: null, initiation: domestic2); OBRisk1DeliveryAddress deliveryAddress = new OBRisk1DeliveryAddress { StreetName = "Oxford Street", BuildingNumber = "42", PostCode = "SW1 1AA", TownName = "London", Country = "UK" }; OBRisk1 risk = new OBRisk1( paymentContextCode: OBRisk1.PaymentContextCodeEnum.EcommerceGoods, merchantCategoryCode: null, merchantCustomerIdentification: null, deliveryAddress: deliveryAddress); Links links = new Links($"{MockRoutes.Url}/{MockRoutes.DomesticPayments}/{consentId}"); Meta meta = new Meta(1); OBWriteDomesticConsentResponse4 model = new OBWriteDomesticConsentResponse4( data: data, risk: risk, links: links, meta: meta); return(JsonConvert.SerializeObject(model)); }
public void DeliveryAddress_ValueRetained() { var ctx = new DomesticPaymentConsentContext(TestDataFactory.CreateMockOpenBankingContext()) { Data = null }; var value = new OBRisk1DeliveryAddress(); ctx.DeliveryAddress(value); ctx.Data.DomesticConsent.Risk.DeliveryAddress.Should().Be(value); }
// HACK: need better abstractions public static DomesticPaymentConsentContext DeliveryAddress( this DomesticPaymentConsentContext context, OBRisk1DeliveryAddress value) { context.ArgNotNull(nameof(context)); if (value != null) { context.GetOrCreateDefault(BaseLens) .GetOrCreateDefault(DomesticConsentLens) .GetOrCreateDefault(RiskLens).DeliveryAddress = value; } return(context); }
public string GetOBWriteDomesticConsent2() { OBWriteDomestic2DataInitiationInstructedAmount instructedAmount = new OBWriteDomestic2DataInitiationInstructedAmount(amount: "50", currency: "GBP"); OBWriteDomestic2DataInitiationCreditorAccount creditorAccount = new OBWriteDomestic2DataInitiationCreditorAccount( schemeName: "IBAN", identification: "BE56456394728288", name: "ACME DIY", secondaryIdentification: "secondary-identif"); OBWriteDomestic2DataInitiationRemittanceInformation remittanceInformation = new OBWriteDomestic2DataInitiationRemittanceInformation(unstructured: "Tools", reference: "Tools"); OBWriteDomestic2DataInitiation domestic2 = new OBWriteDomestic2DataInitiation( instructionIdentification: "instr-identification", endToEndIdentification: "e2e-identification", localInstrument: null, instructedAmount: instructedAmount, debtorAccount: null, creditorAccount: creditorAccount, remittanceInformation: remittanceInformation); OBWriteDomesticConsent4Data data = new OBWriteDomesticConsent4Data { Initiation = domestic2 }; OBRisk1DeliveryAddress deliveryAddress = new OBRisk1DeliveryAddress { StreetName = "Oxford Street", BuildingNumber = "42", PostCode = "SW1 1AA", TownName = "London", Country = "UK" }; OBRisk1 risk = new OBRisk1( paymentContextCode: OBRisk1.PaymentContextCodeEnum.EcommerceGoods, merchantCategoryCode: null, merchantCustomerIdentification: null, deliveryAddress: deliveryAddress); OBWriteDomesticConsent4 model = new OBWriteDomesticConsent4(data: data, risk: risk); return(JsonConvert.SerializeObject(model)); }