public function testUnreadActivityModel_MarkUnreadForProjectMembers_noExistingRead_allMarkedUnread() { $project = self::$environ->createProject("unread_test", "unreadCode"); $userId1 = self::$environ->createUser('user1', 'user1', 'user1'); $user1 = new UserModel($userId1); $user1->addProject($project->id->asString()); $user1->write(); $userId2 = self::$environ->createUser('user2', 'user2', 'user2'); $user2 = new UserModel($userId2); $user2->addProject($project->id->asString()); $user2->write(); $userId3 = self::$environ->createUser('user3', 'user3', 'user3'); $user3 = new UserModel($userId3); $user3->addProject($project->id->asString()); $user3->write(); $activityId = ActivityCommands::addUserToProject($project, $userId1); UnreadActivityModel::markUnreadForProjectMembers($activityId, $project); $unreadModel = new UnreadActivityModel($userId1, $project->id->asString()); $this->assertTrue($unreadModel->isUnread($activityId)); $unreadModel = new UnreadActivityModel($userId2, $project->id->asString()); $this->assertTrue($unreadModel->isUnread($activityId)); $unreadModel = new UnreadActivityModel($userId3, $project->id->asString()); $this->assertTrue($unreadModel->isUnread($activityId)); }
/** * * @param ProjectModel $projectModel * @param string $questionId * @param string $answerId * @param string $userId * @param string $mode * @return string activity id */ public static function updateScore($projectModel, $questionId, $answerId, $userId, $mode = 'increase') { $question = new QuestionModel($projectModel, $questionId); $text = new TextModel($projectModel, $question->textRef->asString()); $answer = $question->answers[$answerId]; $user = new UserModel($userId); $user2 = new UserModel($answer->userRef->asString()); $activity = new ActivityModel($projectModel); $activity->action = $mode == 'increase' ? ActivityModel::INCREASE_SCORE : ActivityModel::DECREASE_SCORE; $activity->userRef->id = $userId; $activity->textRef->id = $text->id->asString(); $activity->questionRef->id = $questionId; $activity->addContent(ActivityModel::TEXT, $text->title); $activity->addContent(ActivityModel::QUESTION, $question->getTitleForDisplay()); $activity->addContent(ActivityModel::ANSWER, $answer->content); $activity->addContent(ActivityModel::USER, $user->username); $activity->addContent(ActivityModel::USER, $user2->username); $activityId = $activity->write(); UnreadActivityModel::markUnreadForProjectMembers($activityId, $projectModel); return $activityId; }