From e6697e183c389080b53004c7cd5afda4e250b300 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Benjamin=20Beganovi=C4=87?= Date: Mon, 3 May 2021 15:48:53 +0200 Subject: [PATCH] Crypress: Payment with new card --- app/PaymentDrivers/BraintreePaymentDriver.php | 2 +- cypress.json | 6 ++- .../gateways/braintree_credit_card.spec.js | 47 +++++++++++++++++++ 3 files changed, 52 insertions(+), 3 deletions(-) create mode 100644 cypress/integration/gateways/braintree_credit_card.spec.js diff --git a/app/PaymentDrivers/BraintreePaymentDriver.php b/app/PaymentDrivers/BraintreePaymentDriver.php index 719a44ae07d4..075eee3251ad 100644 --- a/app/PaymentDrivers/BraintreePaymentDriver.php +++ b/app/PaymentDrivers/BraintreePaymentDriver.php @@ -60,7 +60,7 @@ class BraintreePaymentDriver extends BaseDriver { $class = self::$methods[$payment_method_id]; - $this->payment_method = new PayPal($this); + $this->payment_method = new $class($this); return $this; } diff --git a/cypress.json b/cypress.json index 9741c8963d7e..fa8e22edf8d1 100644 --- a/cypress.json +++ b/cypress.json @@ -1,8 +1,10 @@ { "video": false, - "baseUrl": "https://localhost:8080/", + "baseUrl": "http://localhost:8080/", "chromeWebSecurity": false, "env": { "runningEnvironment": "docker" - } + }, + "viewportWidth": 1280, + "viewportHeight": 800 } diff --git a/cypress/integration/gateways/braintree_credit_card.spec.js b/cypress/integration/gateways/braintree_credit_card.spec.js new file mode 100644 index 000000000000..1f0f30e69262 --- /dev/null +++ b/cypress/integration/gateways/braintree_credit_card.spec.js @@ -0,0 +1,47 @@ +context('Checkout.com: Credit card testing', () => { + beforeEach(() => { + cy.clientLogin(); + }); + + afterEach(() => { + cy.visit('/client/logout'); + }); + + it('should not be able to add payment method', function () { + cy.visit('/client/payment_methods'); + + cy.get('[data-cy=add-payment-method]').click(); + cy.get('[data-cy=add-credit-card-link]').click(); + + cy.get('[data-ref=gateway-container]') + .contains('This payment method can be can saved for future use, once you complete your first transaction. Don\'t forget to check "Store credit card details" during payment process.'); + }); + + it('should pay with new card', function () { + cy.visit('/client/invoices'); + + cy.get('[data-cy=pay-now]').first().click(); + cy.get('[data-cy=pay-now-dropdown]').click(); + cy.get('[data-cy=pay-with-0]').click(); + + cy + .get('#braintree-hosted-field-number') + .wait(5000) + .iframeLoaded() + .its('document') + .getInDocument('#credit-card-number') + .type(4111111111111111) + + cy + .get('#braintree-hosted-field-expirationDate') + .wait(5000) + .iframeLoaded() + .its('document') + .getInDocument('#expiration') + .type(1224) + + cy.get('#pay-now').click(); + + cy.url().should('contain', '/client/payments/VolejRejNm'); + }); +});