Skip to content

Commit

Permalink
Cannot return null for non-nullable field AvailableShippingMethod.met…
Browse files Browse the repository at this point in the history
…hod_code when no shipping methods are available
  • Loading branch information
XxXgeoXxX committed Mar 22, 2019
1 parent 8f45cf8 commit b78aa2a
Showing 1 changed file with 8 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
use Magento\Framework\Api\ExtensibleDataObjectConverter;
use Magento\Framework\Exception\LocalizedException;
use Magento\Framework\GraphQl\Config\Element\Field;
use Magento\Framework\GraphQl\Exception\GraphQlNoSuchEntityException;
use Magento\Framework\GraphQl\Query\ResolverInterface;
use Magento\Framework\GraphQl\Schema\Type\ResolveInfo;
use Magento\Quote\Api\Data\ShippingMethodInterface;
Expand Down Expand Up @@ -65,13 +66,19 @@ public function resolve(Field $field, $context, ResolveInfo $info, array $value
$shippingRates = $address->getGroupedAllShippingRates();
foreach ($shippingRates as $carrierRates) {
foreach ($carrierRates as $rate) {
$methods[] = $this->dataObjectConverter->toFlatArray(
$method = $this->dataObjectConverter->toFlatArray(
$this->shippingMethodConverter->modelToDataObject($rate, $cart->getQuoteCurrencyCode()),
[],
ShippingMethodInterface::class
);
if ($method['available'] && $method['error_message'] === "") {
$methods[] = $method;
}
}
}
if (count($methods) === 0) {
throw new GraphQlNoSuchEntityException(__(' This shipping method is not available. To use this shipping method, please contact us.'));
}
return $methods;
}
}

0 comments on commit b78aa2a

Please sign in to comment.