/** * @param Zend_Service_Ebay_Finding $proxy * @param Zend_Config|array $options * @return Zend_Service_Ebay_Finding_Response_Items */ public function findItems(Zend_Service_Ebay_Finding $proxy, $options = null) { // prepare options $options = Zend_Service_Ebay_Abstract::optionsToArray($options); $options = $options + $this->_options; // find items return $proxy->findItemsByKeywords($this->keywords, $options); }
public function testItemsPagination() { // page 1 // make sure this search will generate more than one page as result $page1 = $this->_finding->findItemsByKeywords('laptop'); $this->assertEquals(1, $page1->paginationOutput->pageNumber); // out of range, page #0 try { $page1->page($this->_finding, 0); $this->fail('No exception found for page #0'); } catch (Exception $e) { $this->assertTrue($e instanceof Zend_Service_Ebay_Finding_Exception); $this->assertContains('Page number ', $e->getMessage()); } // out of range, one page after last one try { $number = $page1->paginationOutput->totalPages + 1; $page1->page($this->_finding, $number); $this->fail("No exception found for page out of range #{$number}"); } catch (Exception $e) { $this->assertTrue($e instanceof Zend_Service_Ebay_Finding_Exception); $this->assertContains('Page number ', $e->getMessage()); } // page next $page2 = $page1->pageNext($this->_finding); $this->assertEquals(2, $page2->paginationOutput->pageNumber); // previous $previous = $page2->pagePrevious($this->_finding); $this->assertEquals(1, $previous->paginationOutput->pageNumber); $this->assertNull($page1->pagePrevious($this->_finding)); // first $first = $page2->pageFirst($this->_finding); $this->assertEquals(1, $first->paginationOutput->pageNumber); // last $last = $page2->pageLast($this->_finding); $this->assertNotEquals(1, $last->paginationOutput->pageNumber); // page #2 $some = $page1->page($this->_finding, 2); $this->assertEquals(2, $some->paginationOutput->pageNumber); }