public function testGetDataReturningAllResults() { $allGG = GG::getAll(); foreach ($allGG as $gg) { $gg->delete(); } $numberOfRecords = rand(12, 100); for ($i = 1; $i <= $numberOfRecords; $i++) { $gg = new GG(); $gg->g = 'a'; $this->assertTrue($gg->save()); } $dataProvider = new RedBeanModelDataProvider('GG', 'g', false); $totalItems = (int) $dataProvider->calculateTotalItemCount(); $dataProvider->getPagination()->setPageSize($totalItems); $data = $dataProvider->getData(); $this->assertEquals($numberOfRecords, count($data)); }
/** * @depends testManyManyRelationSqlQuery * See ModelDataProviderUtilTest for more order by testing. */ public function testOrderByCombinations() { $gg = new GG(); $gg->gg = 'a'; $gg->g = 'v'; $this->assertTrue($gg->save()); $gg = new GG(); $gg->gg = 'b'; $gg->g = 't'; $this->assertTrue($gg->save()); $gg = new GG(); $gg->gg = 'c'; $gg->g = 'u'; $this->assertTrue($gg->save()); $quote = DatabaseCompatibilityUtil::getQuote(); $_FAKEPOST['GG'] = array(); $metadataAdapter = new SearchDataProviderMetadataAdapter(new GG(false), 1, $_FAKEPOST['GG']); $searchAttributeData = $metadataAdapter->getAdaptedMetadata(); $dataProvider = new RedBeanModelDataProvider('GG', 'gg', false, $searchAttributeData); $data = $dataProvider->getData(); $this->assertEquals(3, count($data)); $this->assertEquals('a', $data[0]->gg); $this->assertEquals('b', $data[1]->gg); $this->assertEquals('c', $data[2]->gg); $dataProvider = new RedBeanModelDataProvider('GG', 'gg', true, $searchAttributeData); $data = $dataProvider->getData(); $this->assertEquals(3, count($data)); $this->assertEquals('c', $data[0]->gg); $this->assertEquals('b', $data[1]->gg); $this->assertEquals('a', $data[2]->gg); $compareString = "{$quote}gg{$quote}.{$quote}gg{$quote}"; $joinTablesAdapter = new RedBeanModelJoinTablesQueryAdapter('GG'); $this->assertEquals($compareString, RedBeanModelDataProvider::resolveSortAttributeColumnName('GG', $joinTablesAdapter, 'gg')); $compareString = "{$quote}g{$quote}.{$quote}g{$quote}"; $joinTablesAdapter = new RedBeanModelJoinTablesQueryAdapter('GG'); $this->assertEquals($compareString, RedBeanModelDataProvider::resolveSortAttributeColumnName('GG', $joinTablesAdapter, 'g')); //test ordering by castedUp model. $dataProvider = new RedBeanModelDataProvider('GG', 'g', false, $searchAttributeData); $data = $dataProvider->getData(); $this->assertEquals(3, count($data)); $this->assertEquals('b', $data[0]->gg); $this->assertEquals('c', $data[1]->gg); $this->assertEquals('a', $data[2]->gg); $dataProvider = new RedBeanModelDataProvider('GG', 'g', true, $searchAttributeData); $data = $dataProvider->getData(); $this->assertEquals(3, count($data)); $this->assertEquals('a', $data[0]->gg); $this->assertEquals('c', $data[1]->gg); $this->assertEquals('b', $data[2]->gg); //test ordering by custom attribute value. }