Skip to content

Commit 44231f7

Browse files
authored
LYNX-644 Update date format returned by OrderStatusChangeDate resolver
1 parent 2b17d9b commit 44231f7

File tree

2 files changed

+35
-31
lines changed

2 files changed

+35
-31
lines changed

app/code/Magento/SalesGraphQl/Model/Resolver/OrderStatusChangeDate.php

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -11,38 +11,39 @@
1111
use Magento\Framework\GraphQl\Schema\Type\ResolveInfo;
1212
use Magento\Framework\GraphQl\Config\Element\Field;
1313
use Magento\Framework\GraphQl\Query\ResolverInterface;
14-
use Magento\Framework\Stdlib\DateTime;
15-
use Magento\Framework\Stdlib\DateTime\TimezoneInterface;
1614
use Magento\Sales\Model\Order;
17-
use \Magento\Sales\Model\ResourceModel\SalesOrderStatusChangeHistory;
15+
use Magento\Sales\Model\ResourceModel\SalesOrderStatusChangeHistory;
1816

1917
/**
2018
* Resolver for the OrderStatusChangeDate in CustomerOrder
2119
*/
2220
class OrderStatusChangeDate implements ResolverInterface
2321
{
2422
/**
23+
* OrderStatusChangeDate Constructor
24+
*
2525
* @param SalesOrderStatusChangeHistory $salesOrderStatusChangeHistory
26-
* @param TimezoneInterface $localeDate
2726
*/
2827
public function __construct(
2928
private readonly SalesOrderStatusChangeHistory $salesOrderStatusChangeHistory,
30-
private readonly TimezoneInterface $localeDate,
3129
) {
3230
}
3331

3432
/**
3533
* @inheritDoc
3634
*/
37-
public function resolve(Field $field, $context, ResolveInfo $info, ?array $value = null, ?array $args = null): string
38-
{
35+
public function resolve(
36+
Field $field,
37+
$context,
38+
ResolveInfo $info,
39+
?array $value = null,
40+
?array $args = null
41+
): string {
3942
if (!isset($value['model']) || !($value['model'] instanceof Order)) {
4043
throw new LocalizedException(__('"model" value should be specified'));
4144
}
42-
$order = $value['model'];
43-
$latestStatus = $this->salesOrderStatusChangeHistory->getLatestStatus((int)$order->getId());
44-
return ($latestStatus)
45-
? $this->localeDate->convertConfigTimeToUtc($latestStatus['created_at'], DateTime::DATE_PHP_FORMAT)
46-
: '';
45+
$latestStatus = $this->salesOrderStatusChangeHistory->getLatestStatus((int)$value['model']->getId());
46+
47+
return $latestStatus['created_at'] ?? '';
4748
}
4849
}

dev/tests/api-functional/testsuite/Magento/GraphQl/Sales/OrderStatusChangeDateTest.php

Lines changed: 22 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,10 @@
88
namespace Magento\GraphQl\Sales;
99

1010
use Magento\Checkout\Test\Fixture\SetGuestEmail as SetGuestEmailFixture;
11-
use Magento\Framework\Stdlib\DateTime;
12-
use Magento\Framework\Stdlib\DateTime\TimezoneInterface;
11+
use Magento\Framework\Exception\AlreadyExistsException;
12+
use Magento\Framework\Exception\InputException;
13+
use Magento\Framework\Exception\LocalizedException;
14+
use Magento\Framework\Exception\NoSuchEntityException;
1315
use Magento\Quote\Test\Fixture\GuestCart;
1416
use Magento\Sales\Api\Data\OrderInterface;
1517
use Magento\Sales\Model\Order;
@@ -69,16 +71,17 @@ public function testOrderStatusChangeDateWithStatusChange(): void
6971
* @param OrderInterface $order
7072
* @param string $status
7173
* @return void
74+
* @throws AlreadyExistsException
75+
* @throws InputException
76+
* @throws LocalizedException
77+
* @throws NoSuchEntityException
7278
*/
7379
private function assertOrderStatusChangeDate(OrderInterface $order, string $status): void
7480
{
75-
$orderRepo = Bootstrap::getObjectManager()->get(OrderRepository::class);
76-
$timeZone = Bootstrap::getObjectManager()->get(TimezoneInterface::class);
77-
7881
//Update order status
7982
$order->setStatus($status);
8083
$order->setState($status);
81-
$orderRepo->save($order);
84+
Bootstrap::getObjectManager()->get(OrderRepository::class)->save($order);
8285

8386
$updatedGuestOrder = $this->graphQlMutation($this->getQuery(
8487
$order->getIncrementId(),
@@ -90,7 +93,7 @@ private function assertOrderStatusChangeDate(OrderInterface $order, string $stat
9093
$updatedGuestOrder['guestOrder']['status']
9194
);
9295
self::assertEquals(
93-
$timeZone->convertConfigTimeToUtc($order->getCreatedAt(), DateTime::DATE_PHP_FORMAT),
96+
$order->getUpdatedAt(),
9497
$updatedGuestOrder['guestOrder']['order_status_change_date']
9598
);
9699
}
@@ -106,17 +109,17 @@ private function assertOrderStatusChangeDate(OrderInterface $order, string $stat
106109
private function getQuery(string $number, string $email, string $lastname): string
107110
{
108111
return <<<QUERY
109-
{
110-
guestOrder(input: {
111-
number: "{$number}",
112-
email: "{$email}",
113-
lastname: "{$lastname}"
114-
}) {
115-
created_at
116-
status
117-
order_status_change_date
118-
}
119-
}
120-
QUERY;
112+
{
113+
guestOrder(input: {
114+
number: "{$number}",
115+
email: "{$email}",
116+
lastname: "{$lastname}"
117+
}) {
118+
created_at
119+
status
120+
order_status_change_date
121+
}
122+
}
123+
QUERY;
121124
}
122125
}

0 commit comments

Comments
 (0)