public function testCreateRequestWithOverridingPlugin() { $expectedRequest = new Request(); $expectedRequest->setHandler('something-unique-345978'); $query = new SelectQuery(); $expectedEvent = new PreCreateRequestEvent($query); $expectedEvent->setDispatcher($this->client->getEventDispatcher()); $expectedEvent->setName(Events::PRE_CREATE_REQUEST); $test = $this; $this->client->getEventDispatcher()->addListener(Events::PRE_CREATE_REQUEST, function (PreCreateRequestEvent $event) use($test, $expectedRequest, $expectedEvent) { $test->assertEquals($expectedEvent, $event); $event->setRequest($expectedRequest); }); $returnedRequest = $this->client->createRequest($query); $this->assertEquals($expectedRequest, $returnedRequest); }
public function testPluginIntegration() { $client = new Client(); $client->registerPlugin('testplugin', $this->plugin); $this->plugin->setMaxQueryStringLength(1); // this forces POST for even the smallest queries $query = $client->createSelect(); $request = $client->createRequest($query); // default method is GET, the plugin should have changed this to POST $this->assertEquals(Request::METHOD_POST, $request->getMethod()); }