public function testGeneralLimit() { StreamWrapper::emulate(HttpEmulation::fromCallable(function (RequestInterface $request) { $this->assertEquals('GET', $request->getMethod()); $this->assertEquals('/1.1/statuses/user_timeline.json', $request->getUri()->getPath()); $this->assertEquals(['count' => 2], \GuzzleHttp\Psr7\parse_query($request->getUri()->getQuery())); return new \GuzzleHttp\Psr7\Response(200, [], json_encode([['id' => 1, 'text' => 'Status 1'], ['id' => 2, 'text' => 'Status 2']])); })); $query = new Query($this->webservice, new Endpoint()); $query->read(); $query->limit(2); $query->applyOptions(['index' => 'user_timeline']); $resultSet = $this->webservice->execute($query); $this->assertInstanceOf('Muffin\\Webservice\\ResultSet', $resultSet); $this->assertInstanceOf('Muffin\\Webservice\\Model\\Resource', $resultSet->first()); $this->assertEquals('Status 1', $resultSet->first()->text); $this->assertEquals(2, $resultSet->count()); }
public function testResourceLimit() { $this->webservice->driver()->client($this->_clientMock('get', '/issues.json', ['limit' => 10], ['issues' => []])); $query = new Query($this->webservice, new Endpoint(['connection' => new Connection(['name' => 'redmine', 'driver' => 'CvoTechnologies\\Redmine\\Webservice\\Driver\\Redmine']), 'endpoint' => 'issues', 'schema' => new Schema('issues')])); $query->read(); $query->limit(10); $resultSet = $this->webservice->execute($query); $this->assertEquals(0, $resultSet->total()); $this->assertInstanceOf('Muffin\\Webservice\\ResultSet', $resultSet); }