![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/dev/tests/api-functional/testsuite/Magento/Quote/Api/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Quote\Api; use Magento\TestFramework\ObjectManager; use Magento\TestFramework\TestCase\WebapiAbstract; class GuestCartRepositoryTest extends WebapiAbstract { /** * @var ObjectManager */ private $objectManager; protected function setUp(): void { $this->objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager(); } protected function tearDown(): void { try { $cart = $this->getCart('test01'); $cartId = $cart->getId(); $cart->delete(); /** @var \Magento\Quote\Model\QuoteIdMask $quoteIdMask */ $quoteIdMask = $this->objectManager->create(\Magento\Quote\Model\QuoteIdMask::class); $quoteIdMask->load($cartId, 'quote_id'); $quoteIdMask->delete(); } catch (\InvalidArgumentException $e) { // Do nothing if cart fixture was not used } parent::tearDown(); } /** * Retrieve quote by given reserved order ID * * @param string $reservedOrderId * @return \Magento\Quote\Model\Quote * @throws \InvalidArgumentException */ protected function getCart($reservedOrderId) { /** @var $cart \Magento\Quote\Model\Quote */ $cart = $this->objectManager->get(\Magento\Quote\Model\Quote::class); $cart->load($reservedOrderId, 'reserved_order_id'); if (!$cart->getId()) { throw new \InvalidArgumentException('There is no quote with provided reserved order ID.'); } return $cart; } /** * @magentoApiDataFixture Magento/Sales/_files/quote.php */ public function testGetCart() { $cart = $this->getCart('test01'); $cartId = $cart->getId(); /** @var \Magento\Quote\Model\QuoteIdMask $quoteIdMask */ $quoteIdMask = \Magento\TestFramework\Helper\Bootstrap::getObjectManager() ->create(\Magento\Quote\Model\QuoteIdMaskFactory::class) ->create(); $quoteIdMask->load($cartId, 'quote_id'); $serviceInfo = [ 'rest' => [ 'resourcePath' => '/V1/guest-carts/' . $quoteIdMask->getMaskedId(), 'httpMethod' => \Magento\Framework\Webapi\Rest\Request::HTTP_METHOD_GET, ], 'soap' => [ 'service' => 'quoteGuestCartRepositoryV1', 'serviceVersion' => 'V1', 'operation' => 'quoteGuestCartRepositoryV1Get', ], ]; $requestData = ['cartId' => $quoteIdMask->getMaskedId()]; $cartData = $this->_webApiCall($serviceInfo, $requestData); $this->assertEquals($cart->getId(), $cartData['id']); $this->assertEquals($cart->getCreatedAt(), $cartData['created_at']); $this->assertEquals($cart->getUpdatedAt(), $cartData['updated_at']); $this->assertEquals($cart->getIsActive(), $cartData['is_active']); $this->assertEquals($cart->getIsVirtual(), $cartData['is_virtual']); $this->assertEquals($cart->getOrigOrderId(), $cartData['orig_order_id']); $this->assertEquals($cart->getItemsCount(), $cartData['items_count']); $this->assertEquals($cart->getItemsQty(), $cartData['items_qty']); //following checks will be uncommented when all cart related services are ready $this->assertArrayHasKey('customer', $cartData); $this->assertTrue($cartData['customer_is_guest']); $this->assertArrayHasKey('currency', $cartData); $this->assertEquals($cart->getGlobalCurrencyCode(), $cartData['currency']['global_currency_code']); $this->assertEquals($cart->getBaseCurrencyCode(), $cartData['currency']['base_currency_code']); $this->assertEquals($cart->getQuoteCurrencyCode(), $cartData['currency']['quote_currency_code']); $this->assertEquals($cart->getStoreCurrencyCode(), $cartData['currency']['store_currency_code']); $this->assertEquals($cart->getBaseToGlobalRate(), $cartData['currency']['base_to_global_rate']); $this->assertEquals($cart->getBaseToQuoteRate(), $cartData['currency']['base_to_quote_rate']); $this->assertEquals($cart->getStoreToBaseRate(), $cartData['currency']['store_to_base_rate']); $this->assertEquals($cart->getStoreToQuoteRate(), $cartData['currency']['store_to_quote_rate']); } /** */ public function testGetCartThrowsExceptionIfThereIsNoCartWithProvidedId() { $this->expectException(\Exception::class); $this->expectExceptionMessage('No such entity with'); $cartId = 9999; $serviceInfo = [ 'soap' => [ 'service' => 'quoteGuestCartRepositoryV1', 'serviceVersion' => 'V1', 'operation' => 'quoteGuestCartRepositoryV1Get', ], 'rest' => [ 'resourcePath' => '/V1/guest-carts/' . $cartId, 'httpMethod' => \Magento\Framework\Webapi\Rest\Request::HTTP_METHOD_GET, ], ]; $requestData = ['cartId' => $cartId]; $this->_webApiCall($serviceInfo, $requestData); } }