示例#1
0
 public function testBelongTo()
 {
     $this->createPostsWithComments(5, 10);
     $this->assertEqual(BlogPost::count(), 5);
     $this->assertEqual(BlogComment::count(), 50);
     $comment = BlogComment::findFirst(['conditions' => 'title = ?', 'values' => ['Comment 4 to Post 3']]);
     $this->assertEqual($comment->message, 'This is a comment message 3:4!');
     // Test belongsTo collection
     $queryCount = TipyDAO::$queryCount;
     $post = $comment->post;
     // We got a new query
     $this->assertEqual(TipyDAO::$queryCount, $queryCount + 1);
     $this->assertNotEqual($post, null);
     $this->assertEqual($post->title, 'Post 3');
     // Test cached association
     $this->assertNotEqual($comment->associationsCache["post"], null);
     $this->assertEqual($post, $comment->associationsCache["post"]);
     // Test no query
     $queryCount = TipyDAO::$queryCount;
     $postAgain = $comment->post;
     // no more queries
     $this->assertEqual(TipyDAO::$queryCount, $queryCount);
     $this->assertEqual($post, $postAgain);
     // belongsTo crash
     $status = UserStatus::create(['name' => 'Some status']);
     $user = User::create(['login' => 'login', 'password' => 'password', 'email' => '*****@*****.**', 'userStatusId' => $status->id]);
     $this->assertEqual($user->userStatus->name, 'Some status');
 }
示例#2
0
 public function testDependent()
 {
     $this->createUsersWithAsocs(5);
     $this->assertEqual(User::count(), 5);
     $this->assertEqual(Profile::count(), 5);
     $this->assertEqual(UserAndGroupRelation::count(), 25);
     $this->assertEqual(BlogPost::count(), 25);
     $this->assertEqual(BlogComment::count(), 125);
     $user = User::findFirst();
     $user->delete();
     $this->assertEqual(User::count(), 4);
     $this->assertEqual(Profile::count(), 5);
     $this->assertEqual(UserAndGroupRelation::count(), 20);
     $this->assertEqual(BlogPost::count(), 20);
     $this->assertEqual(BlogComment::count(), 100);
 }