def test_get_last_news_for_project_with_dates(self): self.generate_fixture_comment() for i in range(1, 7): comment = comments_service.new_comment( self.task.id, self.task_status.id, self.user["id"], "comment %s" % i, ) news_service.create_news_for_task_and_comment( self.task_dict, comment, created_at=datetime.now() - timedelta(days=i), ) news_list = news_service.get_last_news_for_project( self.task_dict["project_id"] ) self.assertEqual(len(news_list["data"]), 6) date = (datetime.now() - timedelta(days=2)).strftime("%Y-%m-%d") news_list = news_service.get_last_news_for_project( self.task_dict["project_id"], after=date ) self.assertEqual(len(news_list["data"]), 2) news_list = news_service.get_last_news_for_project( self.task_dict["project_id"], before=date ) self.assertEqual(len(news_list["data"]), 4)
def test_get_last_news_for_project(self): self.generate_fixture_comment() for i in range(1, 81): comment = comments_service.new_comment( self.task.id, self.task_status.id, self.user["id"], "comment %s" % i ) news = news_service.create_news_for_task_and_comment( self.task_dict, comment ) news_list = news_service.get_last_news_for_project( self.task_dict["project_id"] ) self.assertEqual(len(news_list), 50) news = news_list[0] self.assertEqual(news["project_name"], "Cosmos Landromat") self.assertEqual(news["full_entity_name"], "E01 / S01 / P01") self.assertEqual(news["project_id"], self.task_dict["project_id"]) news_list = news_service.get_last_news_for_project( self.task_dict["project_id"], page=2 ) self.assertEqual(len(news_list), 30) news_list = news_service.get_last_news_for_project( self.task_dict["project_id"], news_id=news["id"] ) self.assertEqual(len(news_list), 1)
def get(self, project_id): (only_preview, task_type_id, task_status_id, person_id, page, page_size, after, before) = self.get_arguments() projects_service.get_project(project_id) user_service.check_project_access(project_id) user_service.block_access_to_vendor() after = self.parse_date_parameter(after) before = self.parse_date_parameter(before) result = news_service.get_last_news_for_project( project_id, only_preview=only_preview, task_type_id=task_type_id, task_status_id=task_status_id, author_id=person_id, page=page, page_size=page_size, after=after, before=before, ) stats = news_service.get_news_stats_for_project( project_id, task_type_id=task_type_id, task_status_id=task_status_id, author_id=person_id, after=after, before=before, ) result["stats"] = stats return result
def get(self, project_id): (only_preview, task_type_id, task_status_id, page, page_size) = self.get_arguments() projects_service.get_project(project_id) user_service.check_project_access(project_id) return news_service.get_last_news_for_project( project_id, only_preview=only_preview, task_type_id=task_type_id, task_status_id=task_status_id, page=page, page_size=page_size)
def test_comment_task(self): self.project_id = self.project.id self.generate_fixture_user_manager() self.generate_fixture_user_cg_artist() user_cg_artist = persons_service.get_person_raw( self.user_cg_artist["id"] ) user_manager = persons_service.get_person_raw(self.user_manager["id"]) self.project.team = [self.person, user_cg_artist, user_manager] self.project.save() self.generate_fixture_task() path = "/actions/tasks/%s/comment/" % self.task.id data = { "task_status_id": self.wip_status_id, "comment": "comment test", } comment = self.post(path, data) self.assertEqual(comment["text"], data["comment"]) self.assertEqual( comment["person"]["first_name"], self.user["first_name"] ) self.assertEqual(comment["task_status"]["short_name"], "wip") tasks = self.get("/data/tasks") self.assertEqual(len(tasks), 1) self.assertEqual(tasks[0]["task_status_id"], str(self.wip_status_id)) self.assertIsNotNone(tasks[0]["last_comment_date"]) comments = self.get("/data/comments/") self.assertEqual(len(comments), 1) self.assertEqual(comments[0]["text"], data["comment"]) self.assertEqual(comments[0]["person_id"], self.user["id"]) notifications = notifications_service.get_last_notifications("comment") self.assertEqual(len(notifications), 1) notifications = notifications_service.get_last_notifications("mention") self.assertEqual(len(notifications), 0) data = { "task_status_id": self.wip_status_id, "comment": "comment test @John Did2", } comment = self.post(path, data) notifications = notifications_service.get_last_notifications("comment") self.assertEqual(len(notifications), 2) notifications = notifications_service.get_last_notifications("mention") self.assertEqual(len(notifications), 1) news_list = news_service.get_last_news_for_project(self.project_id) self.assertEqual(len(news_list["data"]), 2)
def get(self, project_id): ( only_preview, task_type_id, task_status_id, person_id, page, page_size, ) = self.get_arguments() projects_service.get_project(project_id) user_service.check_project_access(project_id) user_service.block_access_to_vendor() return news_service.get_last_news_for_project( project_id, only_preview=only_preview, task_type_id=task_type_id, task_status_id=task_status_id, author_id=person_id, page=page, page_size=page_size, )
def get(self, project_id, news_id): projects_service.get_project(project_id) user_service.check_project_access(project_id) return news_service.get_last_news_for_project(project_id, news_id=news_id)