Skip to content

Commit 44e24e3

Browse files
committed
419 - Test coverage: GetAvailablePaymentMethodsTest for Customer
1. Add - testGetPaymentMethodsFromCustomerCart - testGetPaymentMethodsFromAnotherCustomerCart - testGetPaymentMethodsOfNonExistentCart
1 parent c427332 commit 44e24e3

File tree

1 file changed

+54
-11
lines changed

1 file changed

+54
-11
lines changed

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

Lines changed: 54 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -54,11 +54,59 @@ protected function setUp()
5454
/**
5555
* @magentoApiDataFixture Magento/Checkout/_files/quote_with_items_saved.php
5656
*/
57-
public function testGetCartWithPaymentMethods()
57+
public function testGetPaymentMethodsFromCustomerCart()
5858
{
59-
$maskedQuoteId = $this->getMaskedQuoteIdByReversedQuoteId('test_order_item_with_items');
59+
$maskedQuoteId = $this->getMaskedQuoteIdByReservedOrderId('test_order_item_with_items');
60+
$query = $this->getCartAvailablePaymentMethodsQuery($maskedQuoteId);
61+
$response = $this->graphQlQuery($query, [], '', $this->getHeaderMap());
6062

61-
$query = <<<QUERY
63+
self::assertArrayHasKey('cart', $response);
64+
self::assertEquals('checkmo', $response['cart']['available_payment_methods'][0]['code']);
65+
self::assertEquals('Check / Money order', $response['cart']['available_payment_methods'][0]['title']);
66+
self::assertGreaterThan(
67+
0,
68+
count($response['cart']['available_payment_methods']),
69+
'There are no available payment methods for customer cart!'
70+
);
71+
}
72+
73+
/**
74+
* @magentoApiDataFixture Magento/Customer/_files/three_customers.php
75+
* @magentoApiDataFixture Magento/Checkout/_files/quote_with_items_saved.php
76+
*/
77+
public function testGetPaymentMethodsFromAnotherCustomerCart()
78+
{
79+
$maskedQuoteId = $this->getMaskedQuoteIdByReservedOrderId('test_order_item_with_items');
80+
$query = $this->getCartAvailablePaymentMethodsQuery($maskedQuoteId);
81+
82+
$this->expectExceptionMessage(
83+
"The current user cannot perform operations on cart \"$maskedQuoteId\""
84+
);
85+
$this->graphQlQuery($query, [], '', $this->getHeaderMap('[email protected]'));
86+
}
87+
88+
89+
/**
90+
* @magentoApiDataFixture Magento/Customer/_files/customer.php
91+
* @expectedException \Exception
92+
* @expectedExceptionMessage Could not find a cart with ID "non_existent_masked_id"
93+
*/
94+
public function testGetPaymentMethodsOfNonExistentCart()
95+
{
96+
$maskedQuoteId = 'non_existent_masked_id';
97+
$query = $this->getCartAvailablePaymentMethodsQuery($maskedQuoteId);
98+
99+
$this->graphQlQuery($query, [], '', $this->getHeaderMap());
100+
}
101+
102+
/**
103+
* @param string $maskedQuoteId
104+
* @return string
105+
*/
106+
private function getCartAvailablePaymentMethodsQuery(
107+
string $maskedQuoteId
108+
) : string {
109+
return <<<QUERY
62110
{
63111
cart(cart_id: "$maskedQuoteId") {
64112
available_payment_methods {
@@ -68,11 +116,6 @@ public function testGetCartWithPaymentMethods()
68116
}
69117
}
70118
QUERY;
71-
$response = $this->graphQlQuery($query, [], '', $this->getHeaderMap());
72-
73-
self::assertArrayHasKey('cart', $response);
74-
self::assertEquals('checkmo', $response['cart']['available_payment_methods'][0]['code']);
75-
self::assertEquals('Check / Money order', $response['cart']['available_payment_methods'][0]['title']);
76119
}
77120

78121
/**
@@ -88,13 +131,13 @@ private function getHeaderMap(string $username = '[email protected]', string
88131
}
89132

90133
/**
91-
* @param string $reversedQuoteId
134+
* @param string $reservedOrderId
92135
* @return string
93136
*/
94-
private function getMaskedQuoteIdByReversedQuoteId(string $reversedQuoteId): string
137+
private function getMaskedQuoteIdByReservedOrderId(string $reservedOrderId): string
95138
{
96139
$quote = $this->quoteFactory->create();
97-
$this->quoteResource->load($quote, $reversedQuoteId, 'reserved_order_id');
140+
$this->quoteResource->load($quote, $reservedOrderId, 'reserved_order_id');
98141

99142
return $this->quoteIdToMaskedId->execute((int)$quote->getId());
100143
}

0 commit comments

Comments
 (0)