Skip to content
Snippets Groups Projects
Commit 115e90ec authored by Jonathan Sacksick's avatar Jonathan Sacksick Committed by Jonathan Sacksick
Browse files

Issue #3240334 by jsacksick: Return order instead of No Content from CartRemoveItemResource.

parent c296f623
Branches
Tags
No related merge requests found
......@@ -99,7 +99,8 @@ final class CartRemoveItemResource extends CartResourceBase {
}
}
return new ResourceResponse(NULL, 204);
$top_level_data = $this->createIndividualDataFromEntity($commerce_order);
return $this->createJsonapiResponse($top_level_data, $request);
}
}
......@@ -139,11 +139,13 @@ class Routes extends RouteProviderBase {
*/
protected function cartRemoveItem() {
$order_item_resource_types = $this->getResourceTypesForEntityType('commerce_order_item');
$order_resource_types = $this->getResourceTypesForEntityType('commerce_order');
$route = new Route('/carts/{commerce_order}/items');
$route->addDefaults([
'_jsonapi_resource' => CartRemoveItemResource::class,
'_order_item_resource_types' => $this->getResourceTypeNames($order_item_resource_types),
'_jsonapi_resource_types' => $this->getResourceTypeNames($order_resource_types),
]);
$route->setMethods(['DELETE']);
static::addRouteParameter($route, 'commerce_order', ['type' => 'entity:commerce_order']);
......
......@@ -164,10 +164,12 @@ final class CartRemoveItemResourceTest extends CartResourceTestBase {
$this->assertResponseCode(409, $response);
$this->toggleOrderVersionMismatch();
$response = $this->request('DELETE', $url, $request_options);
$this->assertResponseCode(204, $response);
$this->assertEquals(NULL, (string) $response->getBody());
$this->assertResponseCode(200, $response);
$data = Json::decode((string) $response->getBody());
$this->container->get('entity_type.manager')->getStorage('commerce_order')->resetCache([$cart->id()]);
$cart = Order::load($cart->id());
$this->assertEquals('order--default', $data['data']['type']);
$this->assertEquals($cart->uuid(), $data['data']['id']);
$this->assertEquals(count($cart->getItems()), 1);
$items = $cart->getItems();
......@@ -187,8 +189,10 @@ final class CartRemoveItemResourceTest extends CartResourceTestBase {
],
]);
$response = $this->request('DELETE', $url, $request_options);
$this->assertResponseCode(204, $response);
$this->assertEquals(NULL, (string) $response->getBody());
$this->assertResponseCode(200, $response);
$data = Json::decode((string) $response->getBody());
$this->assertEquals('order--default', $data['data']['type']);
$this->assertEquals($cart->uuid(), $data['data']['id']);
$this->container->get('entity_type.manager')->getStorage('commerce_order')->resetCache([$cart->id()]);
$cart = Order::load($cart->id());
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment