Skip to content

Commit 4e1f907

Browse files
Merge branch 'bugfix/get-issuers-signature' into release
2 parents 489ba54 + 8480837 commit 4e1f907

File tree

4 files changed

+76
-4
lines changed

4 files changed

+76
-4
lines changed

.github/workflows/templates/magento/configure-mollie.sh

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,9 @@ bin/magento config:set payment/mollie_methods_creditcard/use_components 1
4949
# Set a default payment method
5050
bin/magento config:set payment/mollie_general/default_selected_method mollie_methods_ideal
5151

52+
# Enable issuers for KBC
53+
bin/magento config:set payment/mollie_methods_kbc/issuer_list_type radio
54+
5255
# Disable webhooks
5356
bin/magento config:set payment/mollie_general/use_webhooks custom_url
5457

src/Mollie_HyvaCheckout/Magewire/Checkout/Payment/Method/WithIssuer.php

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<?php
22
/*
3-
* Copyright Magmodules.eu. All rights reserved.
4-
* See COPYING.txt for license details.
3+
* Copyright Magmodules.eu. All rights reserved.
4+
* See COPYING.txt for license details.
55
*/
66

77
namespace Mollie\HyvaCheckout\Magewire\Checkout\Payment\Method;
@@ -56,8 +56,7 @@ public function mount(): void
5656
{
5757
$quote = $this->sessionCheckout->getQuote();
5858

59-
$mollieApiClient = $this->mollieApiClient->loadByStore();
60-
$this->issuers = $this->getIssuers->execute($mollieApiClient, $this->method, 'list');
59+
$this->issuers = $this->getIssuers->execute($this->method, 'list');
6160

6261
if ($selectedIssuer = $quote->getPayment()->getAdditionalInformation('selected_issuer')) {
6362
$this->selectedIssuer = $selectedIssuer;

tests/End-2-End/tests/auth/backend-auth.setup.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,17 @@
66
import { test as setup, expect } from '@playwright/test';
77
import BackendLogin from 'Pages/backend/BackendLogin';
88
import path from 'path';
9+
import fs from 'fs';
910

1011
const backendLogin = new BackendLogin();
1112

1213
const authFile = path.join(__dirname, '../../.auth/backend.json');
1314

1415
setup('[C4212591] authenticate', async ({ page }) => {
16+
if (fs.existsSync(authFile)) {
17+
return;
18+
}
19+
1520
await backendLogin.login(page);
1621

1722
await page.context().storageState({ path: authFile });
Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
/*
2+
* Copyright Magmodules.eu. All rights reserved.
3+
* See COPYING.txt for license details.
4+
*/
5+
6+
import { test, expect } from '@playwright/test';
7+
import CheckoutPaymentPage from "Pages/frontend/CheckoutPaymentPage";
8+
import VisitCheckoutPaymentCompositeAction from "CompositeActions/VisitCheckoutPaymentCompositeAction";
9+
import MollieHostedPaymentPage from "Pages/mollie/MollieHostedPaymentPage";
10+
import CheckoutSuccessPage from "Pages/frontend/CheckoutSuccessPage";
11+
import OrdersPage from "Pages/backend/OrdersPage";
12+
import CartPage from "Pages/frontend/CartPage";
13+
14+
const checkoutPaymentPage = new CheckoutPaymentPage();
15+
const visitCheckoutPayment = new VisitCheckoutPaymentCompositeAction();
16+
const mollieHostedPaymentPage = new MollieHostedPaymentPage(expect);
17+
const checkoutSuccessPage = new CheckoutSuccessPage(expect);
18+
const ordersPage = new OrdersPage();
19+
const cartPage = new CartPage();
20+
21+
const testCases = [
22+
{status: 'paid', orderStatus: 'Processing', title: '[C4251742] Validate the submission of an order with KBC/CBC as payment method and payment mark as "Paid"'},
23+
{status: 'failed', orderStatus: 'Canceled', title: '[C4251743] Validate the submission of an order with KBC/CBC as payment method and payment mark as "Failed"'},
24+
{status: 'expired', orderStatus: 'Canceled', title: '[C4251744] Validate the submission of an order with KBC/CBC as payment method and payment mark as "Expired"'},
25+
{status: 'canceled', orderStatus: 'Canceled', title: '[C4251745] Validate the submission of an order with KBC/CBC as payment method and payment mark as "Cancelled"'},
26+
];
27+
28+
for (const testCase of testCases) {
29+
test(testCase.title, async ({ page }) => {
30+
test.skip(!process.env.mollie_available_methods.includes('kbc'), 'Skipping test as KBC is not available');
31+
32+
await visitCheckoutPayment.visit(page);
33+
34+
await checkoutPaymentPage.selectPaymentMethod(page, 'KBC');
35+
await checkoutPaymentPage.placeOrder(page);
36+
37+
const values = ['CBC', 'KBC'];
38+
const randomIndex = Math.floor(Math.random() * values.length);
39+
40+
mollieHostedPaymentPage.selectPaymentMethod(page, values[randomIndex]);
41+
await mollieHostedPaymentPage.selectStatus(page, testCase.status);
42+
43+
if (testCase.status === 'paid') {
44+
await checkoutSuccessPage.assertThatOrderSuccessPageIsShown(page);
45+
}
46+
47+
if (testCase.status === 'canceled') {
48+
await cartPage.assertCartPageIsShown(page);
49+
}
50+
51+
if (checkoutPaymentPage.orderId) {
52+
await ordersPage.openOrderById(page, checkoutPaymentPage.orderId);
53+
} else if (mollieHostedPaymentPage.incrementId) {
54+
await ordersPage.openByIncrementId(page, mollieHostedPaymentPage.incrementId);
55+
} else {
56+
await ordersPage.openLatestOrder(page);
57+
}
58+
59+
if (testCase.status === 'expired') {
60+
await ordersPage.callFetchStatus(page);
61+
}
62+
63+
await ordersPage.assertOrderStatusIs(page, testCase.orderStatus);
64+
});
65+
}

0 commit comments

Comments
 (0)