Skip to content

Commit bcda0d3

Browse files
authored
ENGCOM-5010: magento/graphql-ce#646: Incorrect name of Selected Shipping Method #647
2 parents 6661215 + 28e791a commit bcda0d3

File tree

2 files changed

+16
-5
lines changed

2 files changed

+16
-5
lines changed

app/code/Magento/QuoteGraphQl/Model/Resolver/ShippingAddress/SelectedShippingMethod.php

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -30,17 +30,26 @@ public function resolve(Field $field, $context, ResolveInfo $info, array $value
3030
/** @var Address $address */
3131
$address = $value['model'];
3232
$rates = $address->getAllShippingRates();
33+
$carrierTitle = null;
34+
$methodTitle = null;
3335

3436
if (count($rates) > 0) {
3537
list($carrierCode, $methodCode) = explode('_', $address->getShippingMethod(), 2);
38+
3639
/** @var Rate $rate */
37-
$rate = current($rates);
40+
foreach ($rates as $rate) {
41+
if ($rate->getCode() == $address->getShippingMethod()) {
42+
$carrierTitle = $rate->getCarrierTitle();
43+
$methodTitle = $rate->getMethodTitle();
44+
break;
45+
}
46+
}
3847

3948
$data = [
4049
'carrier_code' => $carrierCode,
4150
'method_code' => $methodCode,
42-
'carrier_title' => $rate->getCarrierTitle(),
43-
'method_title' => $rate->getMethodTitle(),
51+
'carrier_title' => $carrierTitle,
52+
'method_title' => $methodTitle,
4453
'amount' => [
4554
'value' => $address->getShippingAmount(),
4655
'currency' => $address->getQuote()->getQuoteCurrencyCode(),
@@ -54,8 +63,8 @@ public function resolve(Field $field, $context, ResolveInfo $info, array $value
5463
$data = [
5564
'carrier_code' => null,
5665
'method_code' => null,
57-
'carrier_title' => null,
58-
'method_title' => null,
66+
'carrier_title' => $carrierTitle,
67+
'method_title' => $methodTitle,
5968
'amount' => null,
6069
'base_amount' => null,
6170
];

dev/tests/api-functional/testsuite/Magento/GraphQl/Ups/SetUpsShippingMethodsOnCartTest.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,7 @@ public function testSetUpsShippingMethod(string $methodCode, string $methodTitle
116116
self::assertEquals(self::CARRIER_TITLE, $shippingAddress['selected_shipping_method']['carrier_title']);
117117

118118
self::assertArrayHasKey('method_title', $shippingAddress['selected_shipping_method']);
119+
self::assertEquals($methodTitle, $shippingAddress['selected_shipping_method']['method_title']);
119120
}
120121

121122
/**
@@ -171,6 +172,7 @@ public function testSetUpsShippingMethodBasedOnCanadaAddress(string $methodCode,
171172
self::assertEquals(self::CARRIER_TITLE, $shippingAddress['selected_shipping_method']['carrier_title']);
172173

173174
self::assertArrayHasKey('method_title', $shippingAddress['selected_shipping_method']);
175+
self::assertEquals($methodTitle, $shippingAddress['selected_shipping_method']['method_title']);
174176
}
175177

176178
/**

0 commit comments

Comments
 (0)