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); } } }