private function fetchComment(Request $request, Article $article, User $user = null) { $commentText = $request->getRequestString("comment", ""); if ($user !== null) { return Comment::createForUser($user, $article, $commentText); } else { $displayName = $request->getRequestString("name", ""); $email = $request->getRequestString("email", ""); return Comment::createForVisitor($displayName, $email, $article, $commentText); } }
public function testUserComment() { $user = $this->getTestUser(); $article = Article::createArticle($user); $comment = Comment::createForUser($user, $article, "Some reply"); // Check user data $this->assertFalse($comment->isByVisitor()); $this->assertEquals($user->getDisplayName(), $comment->getUserDisplayName()); $this->assertEquals($user->getUsername(), $comment->getUsername()); $this->assertEquals($user->getEmail(), $comment->getUserEmail()); $this->assertEquals($user->getId(), $comment->getUserId()); $this->assertEquals($user->getRank(), $comment->getUserRank()); }