Example #1
0
 public function testCollectionLoader()
 {
     /**
      * @var ModelCollection $products
      */
     $products = \Product::loadList(QC::create()->limit(1, 1));
     $this->assertInstanceOf('Solve\\Database\\Models\\ModelCollection', $products, 'Instance of model collection created');
     var_dump($products->count());
     die;
     /**
      * @var ModelCollection $categories
      */
     $categories = \Category::loadList();
     $this->assertInstanceOf('CategoriesCollection', $categories, 'Custom model collection instance loaded');
     $this->assertEquals(3, $products->count(), 'Count with method');
     $this->assertEquals(2, count($categories), 'Count as function');
     $this->assertEquals('Macbook Air', $products[0]->title, 'Object accessor by index');
     $this->assertEquals('Macbook Pro', $products->getOneByPK(2)->title, 'Object accessor by primary key');
     $this->assertEquals('Macbook Air', $products->getFirst()->title, 'Collection getFirst');
     $this->assertEquals('iMac 27"', $products->getLast()->title, 'Collection getLast');
     $products = \Product::loadList(QC::create()->where('id < 3'));
     $this->assertEquals(2, count($products), 'Loaded with criteria');
     $product = \Product::loadOne(3);
     $products[] = $product;
     try {
         $products[] = $product;
     } catch (\Exception $e) {
         $this->getExpectedException('Can\'t add object with same id to collection');
     }
     $products->delete();
     $this->assertEmpty(QC::create('products')->where('id < 3')->execute(), 'Model collection delete');
 }
Example #2
0
 public function testCreation()
 {
     $product = new \Product();
     $product->info = array('test');
     $this->assertEquals(array('test'), $product->getInfo(), 'Test before saving');
     $product->save();
     $this->assertEquals(array('test'), $product->getInfo(), 'Test after saving');
     $product = \Product::loadOne(2);
     $this->assertEquals(array('test'), $product->getInfo(), 'Test after loading');
     $this->assertTrue(is_array($product->info));
 }
Example #3
0
 public function testDelete()
 {
     $product = \Product::loadOne(1);
     $product->delete();
     $this->assertEmpty(QC::create('products')->where('id = 1')->execute(), 'Product deleted');
 }