stockRepository = Bootstrap::getObjectManager()->get(StockRepositoryInterface::class); } public function testCreate() { $expectedData = [ StockInterface::NAME => 'stock-name', ]; $serviceInfo = [ 'rest' => [ 'resourcePath' => self::RESOURCE_PATH, 'httpMethod' => Request::HTTP_METHOD_POST, ], 'soap' => [ 'service' => self::SERVICE_NAME, 'operation' => self::SERVICE_NAME . 'Save', ], ]; $stockId = $this->_webApiCall($serviceInfo, ['stock' => $expectedData]); self::assertNotEmpty($stockId); $this->stockId = $stockId; AssertArrayContains::assert($expectedData, $this->getStockDataById($stockId)); } protected function tearDown() { if (null !== $this->stockId) { $this->stockRepository->deleteById($this->stockId); } parent::tearDown(); } /** * @param int $stockId * @return array */ private function getStockDataById(int $stockId): array { $serviceInfo = [ 'rest' => [ 'resourcePath' => self::RESOURCE_PATH . '/' . $stockId, 'httpMethod' => Request::HTTP_METHOD_GET, ], 'soap' => [ 'service' => self::SERVICE_NAME, 'operation' => self::SERVICE_NAME . 'Get', ], ]; $response = (TESTS_WEB_API_ADAPTER === self::ADAPTER_REST) ? $this->_webApiCall($serviceInfo) : $this->_webApiCall($serviceInfo, ['stockId' => $stockId]); self::assertArrayHasKey(StockInterface::STOCK_ID, $response); return $response; } }