Skip to content

Commit 003162a

Browse files
committed
PR 27956 Refactored test
1 parent 9d42238 commit 003162a

File tree

3 files changed

+45
-13
lines changed

3 files changed

+45
-13
lines changed

app/code/Magento/GiftMessageGraphQl/Model/Resolver/Cart/GiftMessage.php

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77

88
namespace Magento\GiftMessageGraphQl\Model\Resolver\Cart;
99

10+
use Magento\Framework\Exception\LocalizedException;
1011
use Magento\Framework\GraphQl\Config\Element\Field;
1112
use Magento\Framework\GraphQl\Exception\GraphQlInputException;
1213
use Magento\Framework\GraphQl\Query\Resolver\ContextInterface;
@@ -62,16 +63,20 @@ public function resolve(
6263
}
6364
$cart = $value['model'];
6465

65-
$giftCartMessage = $this->cartRepository->get($cart->getId());
66+
try {
67+
$giftCartMessage = $this->cartRepository->get($cart->getId());
68+
} catch (LocalizedException $e) {
69+
throw new GraphQlInputException(__('Can\'t load cart.'));
70+
}
6671

67-
if ($giftCartMessage === null) {
68-
throw new GraphQlInputException(__("Gift message doesn't exist for current cart"));
72+
if (!isset($giftCartMessage)) {
73+
return null;
6974
}
7075

7176
return [
7277
'to' => $giftCartMessage->getRecipient() ?? '',
73-
'from' => $giftCartMessage->getSender() ?? '',
74-
'message'=> $giftCartMessage->getMessage() ?? ''
78+
'from' => $giftCartMessage->getSender() ?? '',
79+
'message'=> $giftCartMessage->getMessage() ?? ''
7580
];
7681
}
7782
}

app/code/Magento/GiftMessageGraphQl/composer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"description": "N/A",
44
"type": "magento2-module",
55
"require": {
6-
"php": "~7.1.3||~7.2.0||~7.3.0",
6+
"php": "~7.3.0||~7.4.0",
77
"magento/framework": "*",
88
"magento/module-gift-message": "*"
99
},

dev/tests/api-functional/testsuite/Magento/GraphQl/GiftMessage/Cart/GiftMessageTest.php

Lines changed: 34 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -34,9 +34,40 @@ protected function setUp()
3434
public function testGiftMessageForCart()
3535
{
3636
$maskedQuoteId = $this->getMaskedQuoteIdByReservedOrderId->execute('message_order_21');
37-
$query = <<<QUERY
37+
$response = $this->requestCartAndAssertResult($maskedQuoteId);
38+
self::assertArrayHasKey('gift_message', $response['cart']);
39+
self::assertSame('Mercutio', $response['cart']['gift_message']['to']);
40+
self::assertSame('Romeo', $response['cart']['gift_message']['from']);
41+
self::assertSame('I thought all for the best.', $response['cart']['gift_message']['message']);
42+
}
43+
44+
/**
45+
* @magentoApiDataFixture Magento/GraphQl/Quote/_files/guest/create_empty_cart.php
46+
* @magentoApiDataFixture Magento/GraphQl/Catalog/_files/simple_product.php
47+
* @throws NoSuchEntityException
48+
* @throws Exception
49+
*/
50+
public function testGiftMessageForCartWithoutMessage()
51+
{
52+
$maskedQuoteId = $this->getMaskedQuoteIdByReservedOrderId->execute('test_quote');
53+
$response = $this->requestCartAndAssertResult($maskedQuoteId);
54+
self::assertArrayHasKey('gift_message', $response['cart']);
55+
self::assertNull($response['cart']['gift_message']);
56+
}
57+
58+
/**
59+
* Get Gift Message Assertion
60+
*
61+
* @param string $quoteId
62+
*
63+
* @return array
64+
* @throws Exception
65+
*/
66+
private function requestCartAndAssertResult(string $quoteId)
67+
{
68+
$query = <<<QUERY
3869
{
39-
cart(cart_id: "$maskedQuoteId") {
70+
cart(cart_id: "$quoteId") {
4071
gift_message {
4172
to
4273
from
@@ -45,10 +76,6 @@ public function testGiftMessageForCart()
4576
}
4677
}
4778
QUERY;
48-
$response = $this->graphQlQuery($query);
49-
self::assertArrayHasKey('gift_message', $response['cart']);
50-
self::assertArrayHasKey('to', $response['cart']['gift_message']);
51-
self::assertArrayHasKey('from', $response['cart']['gift_message']);
52-
self::assertArrayHasKey('message', $response['cart']['gift_message']);
79+
return $this->graphQlQuery($query);
5380
}
5481
}

0 commit comments

Comments
 (0)