/** * @param object $object * @param array $parameters * @param array $requirements */ public function remove($object, array $parameters = [], array $requirements = []) { if (!$object instanceof $this->class) { throw new InvalidArgumentException(); } $request = $this->requestFactory->createDeleteRequest($object, $parameters, $requirements); $response = $this->client->send($request); return true; }
/** * @dataProvider getFormatAndBody */ public function testCreateDeleteRequest($format, $expectedBody, $parameters, $requirements, $expectedQueryString) { $blog = new Blog(); $blog->id = 42; $this->factory->setFormat($format); $this->urlGenerator->expects($this->once())->method('getRemoveUrl')->with('blogs', 42, $parameters, $requirements)->will($this->returnValue('/blogs/42' . $expectedQueryString)); $request = $this->factory->createDeleteRequest($blog, $parameters); $this->assertEquals('DELETE', $request->getMethod()); $this->assertEquals('application/' . $format, $request->getHeaderLine('Content-Type')); $this->assertEquals('/blogs/42' . $expectedQueryString, $request->getUri()); $this->assertEquals('', (string) $request->getBody()); }