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'); }