public function testInsertAndFindAll() { $id1 = (int) \Faker\Provider\Base::randomNumber(5); $faker = \Faker\Factory::create(); $objectToInsert1 = new \test\data\Customer(); $objectToInsert1->id = $id1; $objectToInsert1->name = $faker->name; $objectToInsert1->contacts = ['telephone1' => 123456, 'telephone2' => 345678, 'telephone3' => 345678]; $objectToInsert1->prices = [1000000, 1000000, 1000000, 1000000]; $objectToInsert1->kids = ['Alice', 'Billy', 'Charlie']; $this->assertTrue($objectToInsert1->save(false)); $objectsFromFind = \test\data\Customer::findAll(['id' => [$id1]]); /* @var $objectFromFind data\Customer */ $this->assertEquals(1, count($objectsFromFind)); $id2 = (int) \Faker\Provider\Base::randomNumber(5); $objectToInsert2 = new \test\data\Customer(); $objectToInsert2->id = $id2; $objectToInsert2->name = $faker->name; $objectToInsert2->contacts = ['telephone2' => 223456, 'telephone2' => 345678, 'telephone3' => 345678]; $objectToInsert2->prices = [2000000, 2000000, 2000000, 2000000]; $objectToInsert2->kids = ['Alice', 'Billy', 'Charlie']; $this->assertTrue($objectToInsert2->save(false)); $objectsFromFind2 = \test\data\Customer::findAll(['id' => [$id1, $id2]]); /* @var $objectFromFind data\Customer */ $this->assertEquals(2, count($objectsFromFind2)); $this->assertTrue($objectsFromFind2[0]->id = $id1 || ($objectsFromFind2[0]->id = $id2)); }
public function testPagination() { $faker = \Faker\Factory::create(); foreach (range(1, 50) as $id) { $model = new test\data\Customer(['id' => $id, 'name' => $faker->firstNameMale, 'age' => $id]); $model->save(false); } // Pagination using filter non key attribute would return less than // desired limit. $dataProvider1 = new ActiveDataProvider(['query' => test\data\Customer::find(), 'pagination' => ['pageSize' => 5]]); $this->assertCount(5, $dataProvider1->getModels()); $pagination1 = $dataProvider1->getPagination(); $this->assertNotNull($pagination1->getNextLastKey()); // Pagination using filter non key attribute would return less than // desired limit. $dataProvider2 = new ActiveDataProvider(['query' => test\data\Customer::find(), 'pagination' => ['lastKey' => $pagination1->getNextLastKey(), 'pageSize' => 5]]); $this->assertCount(5, $dataProvider2->getModels()); }