![]() 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/Sales/Service/V1/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Sales\Service\V1; use Magento\Catalog\Test\Fixture\Product as ProductFixture; use Magento\Checkout\Test\Fixture\PlaceOrder as PlaceOrderFixture; use Magento\Checkout\Test\Fixture\SetBillingAddress as SetBillingAddressFixture; use Magento\Checkout\Test\Fixture\SetDeliveryMethod as SetDeliveryMethodFixture; use Magento\Checkout\Test\Fixture\SetGuestEmail as SetGuestEmailFixture; use Magento\Checkout\Test\Fixture\SetPaymentMethod as SetPaymentMethodFixture; use Magento\Checkout\Test\Fixture\SetShippingAddress as SetShippingAddressFixture; use Magento\Quote\Test\Fixture\AddProductToCart as AddProductToCartFixture; use Magento\Quote\Test\Fixture\GuestCart as GuestCartFixture; use Magento\Sales\Test\Fixture\Creditmemo as CreditmemoFixture; use Magento\Sales\Test\Fixture\Invoice as InvoiceFixture; use Magento\Sales\Test\Fixture\Shipment as ShipmentFixture; use Magento\TestFramework\Fixture\DataFixture; use Magento\TestFramework\Fixture\DataFixtureStorage; use Magento\TestFramework\Fixture\DataFixtureStorageManager; use Magento\TestFramework\TestCase\WebapiAbstract; class CreditmemoGetTest extends WebapiAbstract { /** * Resource path */ private const RESOURCE_PATH = '/V1/creditmemo'; /** * Service read name */ private const SERVICE_READ_NAME = 'salesCreditmemoRepositoryV1'; /** * Service version */ private const SERVICE_VERSION = 'V1'; /** * Creditmemo id */ private const CREDITMEMO_INCREMENT_ID = '100000001'; /** * @var \Magento\Framework\ObjectManagerInterface */ protected $objectManager; /** * Required fields are in the answer * * @var array */ protected $requiredFields = [ 'entity_id', 'store_id', 'base_shipping_tax_amount', 'base_discount_amount', 'grand_total', 'base_subtotal_incl_tax', 'shipping_amount', 'subtotal_incl_tax', 'base_shipping_amount', 'base_adjustment', 'base_subtotal', 'discount_amount', 'subtotal', 'adjustment', 'base_grand_total', 'base_tax_amount', 'shipping_tax_amount', 'tax_amount', 'order_id', 'state', 'increment_id', ]; /** * @var DataFixtureStorage */ private $fixtures; /** * Set up */ protected function setUp(): void { $this->objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager(); $this->fixtures = $this->objectManager->get(DataFixtureStorageManager::class)->getStorage(); } /** * Test creditmemo get service */ #[ DataFixture(ProductFixture::class, as: 'product'), DataFixture(GuestCartFixture::class, as: 'cart'), DataFixture(AddProductToCartFixture::class, ['cart_id' => '$cart.id$', 'product_id' => '$product.id$']), DataFixture(SetBillingAddressFixture::class, ['cart_id' => '$cart.id$']), DataFixture(SetShippingAddressFixture::class, ['cart_id' => '$cart.id$']), DataFixture(SetGuestEmailFixture::class, ['cart_id' => '$cart.id$']), DataFixture(SetDeliveryMethodFixture::class, ['cart_id' => '$cart.id$']), DataFixture(SetPaymentMethodFixture::class, ['cart_id' => '$cart.id$']), DataFixture(PlaceOrderFixture::class, ['cart_id' => '$cart.id$'], 'order'), DataFixture(InvoiceFixture::class, ['order_id' => '$order.id$']), DataFixture(ShipmentFixture::class, ['order_id' => '$order.id$']), DataFixture(CreditmemoFixture::class, ['order_id' => '$order.id$'], 'creditmemo'), ] public function testCreditmemoGet() { $creditmemo = $this->fixtures->get('creditmemo'); $serviceInfo = [ 'rest' => [ 'resourcePath' => self::RESOURCE_PATH . '/' . $creditmemo->getId(), 'httpMethod' => \Magento\Framework\Webapi\Rest\Request::HTTP_METHOD_GET, ], 'soap' => [ 'service' => self::SERVICE_READ_NAME, 'serviceVersion' => self::SERVICE_VERSION, 'operation' => self::SERVICE_READ_NAME . 'get', ], ]; $actual = $this->_webApiCall($serviceInfo, ['id' => $creditmemo->getId()]); $expected = $creditmemo->getData(); foreach ($this->requiredFields as $field) { $this->assertArrayHasKey($field, $actual); $this->assertEquals($expected[$field], $actual[$field]); } //check that nullable fields were marked as optional and were not sent foreach ($actual as $value) { $this->assertNotNull($value); } } }