Skip to content

Commit 157f520

Browse files
committed
GraphQL-601: [Test Coverage] Offline payments methods
1 parent 97c416c commit 157f520

File tree

4 files changed

+73
-52
lines changed

4 files changed

+73
-52
lines changed

app/code/Magento/QuoteGraphQl/Model/Resolver/SelectedPaymentMethod.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ public function resolve(Field $field, $context, ResolveInfo $info, array $value
3636

3737
return [
3838
'code' => $payment->getMethod(),
39+
'title' => $payment->getMethodInstance()->getTitle(),
3940
'purchase_order_number' => $payment->getPoNumber(),
4041
];
4142
}

app/code/Magento/QuoteGraphQl/etc/schema.graphqls

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -241,12 +241,13 @@ type AvailableShippingMethod {
241241
}
242242

243243
type AvailablePaymentMethod {
244-
code: String @doc(description: "The payment method code")
245-
title: String @doc(description: "The payment method title.")
244+
code: String! @doc(description: "The payment method code")
245+
title: String! @doc(description: "The payment method title.")
246246
}
247247

248248
type SelectedPaymentMethod {
249-
code: String @doc(description: "The payment method code")
249+
code: String! @doc(description: "The payment method code")
250+
title: String! @doc(description: "The payment method title.")
250251
purchase_order_number: String @doc(description: "The purchase order number.")
251252
}
252253

dev/tests/api-functional/testsuite/Magento/GraphQl/Quote/Customer/SetOfflinePaymentMethodsOnCartTest.php

Lines changed: 34 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -50,23 +50,38 @@ protected function setUp()
5050
* @magentoApiDataFixture Magento/GraphQl/Quote/_files/enable_offline_payment_methods.php
5151
*
5252
* @param string $methodCode
53+
* @param string $methodTitle
5354
* @dataProvider offlinePaymentMethodDataProvider
5455
*/
55-
public function testSetOfflinePaymentMethod(string $methodCode)
56+
public function testSetOfflinePaymentMethod(string $methodCode, string $methodTitle)
5657
{
5758
$maskedQuoteId = $this->getMaskedQuoteIdByReservedOrderId->execute('test_quote');
5859

59-
$query = $this->getQuery(
60-
$maskedQuoteId,
61-
$methodCode
62-
);
60+
$query = $this->getQuery($maskedQuoteId, $methodCode);
6361
$response = $this->graphQlMutation($query, [], '', $this->getHeaderMap());
6462

6563
self::assertArrayHasKey('setPaymentMethodOnCart', $response);
6664
self::assertArrayHasKey('cart', $response['setPaymentMethodOnCart']);
6765
self::assertArrayHasKey('selected_payment_method', $response['setPaymentMethodOnCart']['cart']);
68-
self::assertArrayHasKey('code', $response['setPaymentMethodOnCart']['cart']['selected_payment_method']);
69-
self::assertEquals($methodCode, $response['setPaymentMethodOnCart']['cart']['selected_payment_method']['code']);
66+
67+
$selectedPaymentMethod = $response['setPaymentMethodOnCart']['cart']['selected_payment_method'];
68+
self::assertArrayHasKey('code', $selectedPaymentMethod);
69+
self::assertEquals($methodCode, $selectedPaymentMethod['code']);
70+
71+
self::assertArrayHasKey('title', $selectedPaymentMethod);
72+
self::assertEquals($methodTitle, $selectedPaymentMethod['title']);
73+
}
74+
75+
/**
76+
* @return array
77+
*/
78+
public function offlinePaymentMethodDataProvider(): array
79+
{
80+
return [
81+
'check_mo' => [Checkmo::PAYMENT_METHOD_CHECKMO_CODE, 'Check / Money order'],
82+
'bank_transfer' => [Banktransfer::PAYMENT_METHOD_BANKTRANSFER_CODE, 'Bank Transfer Payment'],
83+
'cash_on_delivery' => [Cashondelivery::PAYMENT_METHOD_CASHONDELIVERY_CODE, 'Cash On Delivery'],
84+
];
7085
}
7186

7287
/**
@@ -76,12 +91,11 @@ public function testSetOfflinePaymentMethod(string $methodCode)
7691
* @magentoApiDataFixture Magento/GraphQl/Quote/_files/add_simple_product.php
7792
* @magentoApiDataFixture Magento/GraphQl/Quote/_files/set_new_shipping_address.php
7893
* @magentoApiDataFixture Magento/GraphQl/Quote/_files/enable_offline_payment_methods.php
79-
*
80-
* @param string $methodCode
8194
*/
8295
public function testSetPurchaseOrderPaymentMethod()
8396
{
8497
$maskedQuoteId = $this->getMaskedQuoteIdByReservedOrderId->execute('test_quote');
98+
$methodTitle = 'Purchase Order';
8599
$methodCode = Purchaseorder::PAYMENT_METHOD_PURCHASEORDER_CODE;
86100
$poNumber = 'abc123';
87101

@@ -97,34 +111,28 @@ public function testSetPurchaseOrderPaymentMethod()
97111
cart {
98112
selected_payment_method {
99113
code
114+
title
100115
purchase_order_number
101116
}
102117
}
103118
}
104119
}
105120
QUERY;
106-
107121
$response = $this->graphQlMutation($query, [], '', $this->getHeaderMap());
108122

109123
self::assertArrayHasKey('setPaymentMethodOnCart', $response);
110124
self::assertArrayHasKey('cart', $response['setPaymentMethodOnCart']);
111125
self::assertArrayHasKey('selected_payment_method', $response['setPaymentMethodOnCart']['cart']);
112-
self::assertArrayHasKey('code', $response['setPaymentMethodOnCart']['cart']['selected_payment_method']);
113-
self::assertArrayHasKey('purchase_order_number', $response['setPaymentMethodOnCart']['cart']['selected_payment_method']);
114-
self::assertEquals($methodCode, $response['setPaymentMethodOnCart']['cart']['selected_payment_method']['code']);
115-
self::assertEquals($poNumber, $response['setPaymentMethodOnCart']['cart']['selected_payment_method']['purchase_order_number']);
116-
}
117126

118-
/**
119-
* @return array
120-
*/
121-
public function offlinePaymentMethodDataProvider(): array
122-
{
123-
return [
124-
'check_mo' => [Checkmo::PAYMENT_METHOD_CHECKMO_CODE],
125-
'bank_transfer' => [Banktransfer::PAYMENT_METHOD_BANKTRANSFER_CODE],
126-
'cash_on_delivery' => [Cashondelivery::PAYMENT_METHOD_CASHONDELIVERY_CODE],
127-
];
127+
$selectedPaymentMethod = $response['setPaymentMethodOnCart']['cart']['selected_payment_method'];
128+
self::assertArrayHasKey('code', $selectedPaymentMethod);
129+
self::assertEquals($methodCode, $selectedPaymentMethod['code']);
130+
131+
self::assertArrayHasKey('title', $selectedPaymentMethod);
132+
self::assertEquals($methodTitle, $selectedPaymentMethod['title']);
133+
134+
self::assertArrayHasKey('purchase_order_number', $selectedPaymentMethod);
135+
self::assertEquals($poNumber, $selectedPaymentMethod['purchase_order_number']);
128136
}
129137

130138
/**
@@ -147,6 +155,7 @@ private function getQuery(
147155
cart {
148156
selected_payment_method {
149157
code
158+
title
150159
}
151160
}
152161
}

dev/tests/api-functional/testsuite/Magento/GraphQl/Quote/Guest/SetOfflinePaymentMethodsOnCartTest.php

Lines changed: 34 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -42,23 +42,38 @@ protected function setUp()
4242
* @magentoApiDataFixture Magento/GraphQl/Quote/_files/enable_offline_payment_methods.php
4343
*
4444
* @param string $methodCode
45+
* @param string $methodTitle
4546
* @dataProvider offlinePaymentMethodDataProvider
4647
*/
47-
public function testSetOfflinePaymentMethod(string $methodCode)
48+
public function testSetOfflinePaymentMethod(string $methodCode, string $methodTitle)
4849
{
4950
$maskedQuoteId = $this->getMaskedQuoteIdByReservedOrderId->execute('test_quote');
5051

51-
$query = $this->getQuery(
52-
$maskedQuoteId,
53-
$methodCode
54-
);
52+
$query = $this->getQuery($maskedQuoteId, $methodCode);
5553
$response = $this->graphQlMutation($query);
5654

5755
self::assertArrayHasKey('setPaymentMethodOnCart', $response);
5856
self::assertArrayHasKey('cart', $response['setPaymentMethodOnCart']);
5957
self::assertArrayHasKey('selected_payment_method', $response['setPaymentMethodOnCart']['cart']);
60-
self::assertArrayHasKey('code', $response['setPaymentMethodOnCart']['cart']['selected_payment_method']);
61-
self::assertEquals($methodCode, $response['setPaymentMethodOnCart']['cart']['selected_payment_method']['code']);
58+
59+
$selectedPaymentMethod = $response['setPaymentMethodOnCart']['cart']['selected_payment_method'];
60+
self::assertArrayHasKey('code', $selectedPaymentMethod);
61+
self::assertEquals($methodCode, $selectedPaymentMethod['code']);
62+
63+
self::assertArrayHasKey('title', $selectedPaymentMethod);
64+
self::assertEquals($methodTitle, $selectedPaymentMethod['title']);
65+
}
66+
67+
/**
68+
* @return array
69+
*/
70+
public function offlinePaymentMethodDataProvider(): array
71+
{
72+
return [
73+
'check_mo' => [Checkmo::PAYMENT_METHOD_CHECKMO_CODE, 'Check / Money order'],
74+
'bank_transfer' => [Banktransfer::PAYMENT_METHOD_BANKTRANSFER_CODE, 'Bank Transfer Payment'],
75+
'cash_on_delivery' => [Cashondelivery::PAYMENT_METHOD_CASHONDELIVERY_CODE, 'Cash On Delivery'],
76+
];
6277
}
6378

6479
/**
@@ -67,13 +82,12 @@ public function testSetOfflinePaymentMethod(string $methodCode)
6782
* @magentoApiDataFixture Magento/GraphQl/Quote/_files/add_simple_product.php
6883
* @magentoApiDataFixture Magento/GraphQl/Quote/_files/set_new_shipping_address.php
6984
* @magentoApiDataFixture Magento/GraphQl/Quote/_files/enable_offline_payment_methods.php
70-
*
71-
* @param string $methodCode
7285
*/
7386
public function testSetPurchaseOrderPaymentMethod()
7487
{
7588
$maskedQuoteId = $this->getMaskedQuoteIdByReservedOrderId->execute('test_quote');
7689
$methodCode = Purchaseorder::PAYMENT_METHOD_PURCHASEORDER_CODE;
90+
$methodTitle = 'Purchase Order';
7791
$poNumber = 'abc123';
7892

7993
$query = <<<QUERY
@@ -88,6 +102,7 @@ public function testSetPurchaseOrderPaymentMethod()
88102
cart {
89103
selected_payment_method {
90104
code
105+
title
91106
purchase_order_number
92107
}
93108
}
@@ -100,22 +115,16 @@ public function testSetPurchaseOrderPaymentMethod()
100115
self::assertArrayHasKey('setPaymentMethodOnCart', $response);
101116
self::assertArrayHasKey('cart', $response['setPaymentMethodOnCart']);
102117
self::assertArrayHasKey('selected_payment_method', $response['setPaymentMethodOnCart']['cart']);
103-
self::assertArrayHasKey('code', $response['setPaymentMethodOnCart']['cart']['selected_payment_method']);
104-
self::assertArrayHasKey('purchase_order_number', $response['setPaymentMethodOnCart']['cart']['selected_payment_method']);
105-
self::assertEquals($methodCode, $response['setPaymentMethodOnCart']['cart']['selected_payment_method']['code']);
106-
self::assertEquals($poNumber, $response['setPaymentMethodOnCart']['cart']['selected_payment_method']['purchase_order_number']);
107-
}
108118

109-
/**
110-
* @return array
111-
*/
112-
public function offlinePaymentMethodDataProvider(): array
113-
{
114-
return [
115-
'check_mo' => [Checkmo::PAYMENT_METHOD_CHECKMO_CODE],
116-
'bank_transfer' => [Banktransfer::PAYMENT_METHOD_BANKTRANSFER_CODE],
117-
'cash_on_delivery' => [Cashondelivery::PAYMENT_METHOD_CASHONDELIVERY_CODE],
118-
];
119+
$selectedPaymentMethod = $response['setPaymentMethodOnCart']['cart']['selected_payment_method'];
120+
self::assertArrayHasKey('code', $selectedPaymentMethod);
121+
self::assertEquals($methodCode, $selectedPaymentMethod['code']);
122+
123+
self::assertArrayHasKey('title', $selectedPaymentMethod);
124+
self::assertEquals($methodTitle, $selectedPaymentMethod['title']);
125+
126+
self::assertArrayHasKey('purchase_order_number', $selectedPaymentMethod);
127+
self::assertEquals($poNumber, $selectedPaymentMethod['purchase_order_number']);
119128
}
120129

121130
/**
@@ -138,6 +147,7 @@ private function getQuery(
138147
cart {
139148
selected_payment_method {
140149
code
150+
title
141151
}
142152
}
143153
}

0 commit comments

Comments
 (0)