//[TestCase(typeof(Przelewy24PaymentRequest), PaymentMethod.Przelewy24, typeof(PaymentResponse))] // Payment option is not enabled in website profile public async Task CanCreateSpecificPaymentType(Type paymentType, PaymentMethod?paymentMethod, Type expectedResponseType) { // If: we create a specific payment type with some bank transfer specific values PaymentRequest paymentRequest = (PaymentRequest)Activator.CreateInstance(paymentType); paymentRequest.Amount = new Amount(Currency.EUR, "100.00"); paymentRequest.Description = "Description"; paymentRequest.RedirectUrl = this.DefaultRedirectUrl; paymentRequest.Method = paymentMethod; // Set required billing email for Przelewy24 if (paymentRequest is Przelewy24PaymentRequest request) { request.BillingEmail = "*****@*****.**"; } // When: We send the payment request to Mollie PaymentResponse result = await this._paymentClient.CreatePaymentAsync(paymentRequest); // Then: Make sure all requested parameters match the response parameter values Assert.IsNotNull(result); Assert.AreEqual(expectedResponseType, result.GetType()); Assert.AreEqual(paymentRequest.Amount.Currency, result.Amount.Currency); Assert.AreEqual(paymentRequest.Amount.Value, result.Amount.Value); Assert.AreEqual(paymentRequest.Description, result.Description); Assert.AreEqual(paymentRequest.RedirectUrl, result.RedirectUrl); }
public async Task CanCreateSpecificPaymentType(Type paymentType, PaymentMethods?paymentMethod, Type expectedResponseType) { // If: we create a specific payment type with some bank transfer specific values PaymentRequest paymentRequest = (PaymentRequest)Activator.CreateInstance(paymentType); paymentRequest.Amount = 100; paymentRequest.Description = "Description"; paymentRequest.RedirectUrl = fixture.DefaultRedirectUrl; paymentRequest.Method = paymentMethod; // When: We send the payment request to Mollie PaymentResponse result = await fixture.PaymentClient.CreatePaymentAsync(paymentRequest); // Then: Make sure all requested parameters match the response parameter values Assert.NotNull(result); Assert.Equal(expectedResponseType, result.GetType()); Assert.Equal(paymentRequest.Amount, result.Amount); Assert.Equal(paymentRequest.Description, result.Description); Assert.Equal(paymentRequest.RedirectUrl, result.Links.RedirectUrl); }