Пример #1
0
 public function testSubqueryIn()
 {
     $qs = Group::objects()->filter(['id' => 1]);
     $users = User::objects()->filter(['groups__pk__in' => $qs->select('id')])->all();
     $this->assertEquals(count($users), 1);
     $this->assertEquals($users[0]->username, 'Max');
 }
Пример #2
0
 public function testIssue20()
 {
     $qs = User::objects()->with(['addresses'])->asArray();
     $this->assertEquals([['customer' => ['id' => 1, 'user_id' => 1, 'address' => 'address'], 'id' => 1, 'username' => 'foo', 'password' => '', 'user_id' => 1], ['customer' => ['id' => null, 'user_id' => null, 'address' => ''], 'id' => 2, 'username' => 'bar', 'password' => '', 'user_id' => '']], $qs->all());
     $qs = User::objects()->filter(['addresses__address' => 'address'])->with(['addresses'])->asArray();
     $this->assertEquals([['customer' => ['id' => 1, 'user_id' => 1, 'address' => 'address'], 'id' => 1, 'username' => 'foo', 'password' => '', 'user_id' => 1]], $qs->all());
 }
Пример #3
0
 public function testIssue25()
 {
     $this->assertEquals(2, User::objects()->count());
     $qs = User::objects()->filter(['addresses__address' => 'address']);
     $this->assertEquals(1, $qs->count());
     User::objects()->filter(['addresses__address' => 'address'])->delete();
     $this->assertEquals(1, User::objects()->count());
 }
 public function testLookupsClean1()
 {
     $filter = ['addresses__address__contains' => 'Anton'];
     $count = 1;
     $qs = User::objects()->filter($filter);
     $this->assertEquals($count, $qs->count());
     $this->assertEquals($count, count($qs->all()));
 }
Пример #5
0
 public function testInit()
 {
     $this->assertEquals(5, Product::objects()->count());
     $this->assertEquals(1, Category::objects()->count());
     $this->assertEquals(1, User::objects()->count());
     $this->assertEquals(1, Customer::objects()->count());
     $this->assertEquals(1, Order::objects()->count());
     $this->assertEquals(5, Order::objects()->get(['pk' => 1])->products->count());
     $this->assertEquals(1, ProductList::objects()->count());
 }
Пример #6
0
 public function testIssue63()
 {
     $this->assertEquals(2, User::objects()->count());
     foreach (User::objects()->all() as $i => $user) {
         $customer = Customer::objects()->get(['pk' => $i + 1]);
         $customer->user = $user;
         $customer->save(['user']);
     }
     $this->assertEquals(2, Customer::objects()->count());
     list($first, $last) = Customer::objects()->order(['pk'])->asArray()->all();
     $this->assertEquals(['id' => 1, 'user_id' => 1, 'address' => 'foo'], $first);
     $this->assertEquals(['id' => 2, 'user_id' => 2, 'address' => 'bar'], $last);
     $this->assertEquals(1, Customer::objects()->filter(['user__username' => 'foo'])->count());
     $this->assertEquals(1, Customer::objects()->filter(['user__username' => 'bar'])->count());
 }
Пример #7
0
 public function testIssue19()
 {
     $this->assertEquals('SELECT `tests_user_1`.* FROM `tests_user` `tests_user_1` WHERE (`tests_user_1`.`id`=6) LIMIT 1', User::objects()->limit(1)->getSql(['id' => 6]));
     $this->assertEquals('SELECT `tests_user_1`.* FROM `tests_user` `tests_user_1` WHERE ((`tests_user_1`.`id`=6)) LIMIT 1', User::objects()->filter(['id' => 6])->limit(1)->getSql());
 }
Пример #8
0
 public function testSetAttributesIssue65()
 {
     list($model, $created) = User::objects()->getOrCreate(['username' => 'Max', 'password' => 'VeryGoodP@ssword']);
     $this->assertFalse($model->getIsNewRecord());
     $this->assertEquals('Max', $model->username);
     $this->assertEquals('VeryGoodP@ssword', $model->password);
     $this->assertEquals(1, $model->pk);
     $model->setAttributes(['username' => 'foo']);
     $saved = $model->save(['username']);
     $this->assertTrue($saved);
     $this->assertEquals('foo', $model->username);
     // Test
     $user = User::objects()->get(['pk' => 1]);
     $this->assertEquals('foo', $user->username);
     $user->setAttributes(['username' => 'bar']);
     $this->assertEquals('bar', $user->username);
     $this->assertEquals(['username' => 'bar'], $user->getDirtyAttributes(['username']));
     $saved = $user->save(['username']);
     $this->assertEquals('bar', $user->username);
     $this->assertTrue($saved);
     $user->setAttributes(['password' => 1]);
     $this->assertEquals(['password' => 1], $user->getDirtyAttributes(['password']));
     $user->save(['password']);
     $this->assertEquals(1, $user->password);
     $this->assertTrue($saved);
 }
Пример #9
0
 public function testCreate()
 {
     $user = User::objects()->get(['pk' => 1]);
     Customer::objects()->create(['user' => $user, 'address' => 'Broadway']);
     Customer::objects()->create(['user_id' => $user->id, 'address' => 'Broadway']);
     $address1 = Customer::objects()->get(['pk' => 3]);
     $address2 = Customer::objects()->get(['pk' => 4]);
     $this->assertEquals($user->id, $address1->user->id);
     $this->assertEquals($user->id, $address2->user_id);
 }
 public function testManyToManyLookup()
 {
     $users = User::objects()->order(['-groups__name'])->all();
     $this->assertEquals(count($users), 2);
     $this->assertEquals($users[0]->username, 'Anton');
     $this->assertEquals($users[1]->username, 'Max');
     $addresses = User::objects()->order(['groups__name'])->all();
     $this->assertEquals(count($users), 2);
     $this->assertEquals($addresses[0]->username, 'Max');
     $this->assertEquals($addresses[1]->username, 'Anton');
 }
Пример #11
0
 public function testSum()
 {
     $this->assertEquals(User::objects()->sum('id'), 3);
     $this->assertEquals(User::objects()->filter(['addresses__address__startswith' => 'A'])->sum('addresses__id'), 3);
 }