/// <summary> /// Gets the payment client token. /// </summary> /// <returns>The manager response where the payment client token is returned in the Result.</returns> public ManagerResponse <PaymentClientTokenResult, string> GetPaymentClientToken() { var result = new PaymentClientTokenResult { Success = false }; var request = new ServiceProviderRequest(); result = this.PaymentServiceProvider.RunPipeline <ServiceProviderRequest, PaymentClientTokenResult>("commerce.payments.getClientToken", request); if (!result.Success) { Helpers.LogSystemMessages(result.SystemMessages, result); } return(new ManagerResponse <PaymentClientTokenResult, string>(result, result.ClientToken)); }
public void GetBillingInfo_IfGetClientTokenFailed_ShouldReturnsError( CartResult cartResult, GetPaymentOptionsResult optionsResult, GetPaymentMethodsResult methodsResult, PaymentClientTokenResult clientTokenResult, List <Models.Entities.Payment.PaymentOption> mappedPaymentOptions, List <Models.Entities.Payment.PaymentMethod> mappedPaymentMethods, SystemMessage systemMessage) { //arrange cartResult.Success = true; this.cartManager.LoadCart(Arg.Any <string>(), Arg.Any <string>()).Returns(cartResult); optionsResult.Success = true; optionsResult.SystemMessages.Add(systemMessage); this.paymentManager.GetPaymentOptions(Arg.Any <string>(), Arg.Any <Cart>()).Returns(optionsResult); methodsResult.Success = true; methodsResult.SystemMessages.Add(systemMessage); this.paymentManager.GetPaymentMethods(Arg.Any <Cart>(), Arg.Any <PaymentOption>()) .Returns(methodsResult); this.paymentMapper.Map <IReadOnlyCollection <PaymentOption>, List <Models.Entities.Payment.PaymentOption> >(optionsResult.PaymentOptions) .Returns(mappedPaymentOptions); this.paymentMapper.Map <IReadOnlyCollection <PaymentMethod>, List <Models.Entities.Payment.PaymentMethod> >(methodsResult.PaymentMethods) .Returns(mappedPaymentMethods); clientTokenResult.Success = false; clientTokenResult.SystemMessages.Add(systemMessage); this.paymentManager.GetPaymentClientToken().Returns(clientTokenResult); //act Result <BillingInfo> result; using (new SiteContextSwitcher(this.siteContext)) { result = this.billingService.GetBillingInfo(); } //assert Assert.False(result.Success); Assert.Equal(systemMessage.Message, result.Errors[0]); }