示例#1
0
    def test_get_tasks_for_person(self):
        projects = [self.project.serialize()]
        tasks = tasks_service.get_person_tasks(self.user["id"], projects)
        self.assertEqual(len(tasks), 0)

        tasks_service.assign_task(self.task.id, self.user["id"])
        tasks = tasks_service.get_person_tasks(self.user["id"], projects)
        self.assertEqual(len(tasks), 1)

        comments_service.new_comment(
            self.task.id,
            self.task_status.id,
            self.person.id,
            "first comment"
        )
        comments_service.new_comment(
            self.task.id,
            self.task_status.id,
            self.person.id,
            "last comment"
        )
        tasks = tasks_service.get_person_tasks(self.person.id, projects)
        self.assertEqual(len(tasks), 2)
        self.assertEqual(tasks[1]["last_comment"]["text"], "last comment")
        self.assertEqual(
            tasks[1]["last_comment"]["person_id"],
            str(self.person.id)
        )
示例#2
0
 def test_remove_task_force(self):
     comments_service.new_comment(self.task.id, self.task_status.id,
                                  self.person.id, "first comment")
     TimeSpent.create(person_id=self.person.id,
                      task_id=self.task.id,
                      date=datetime.date(2017, 9, 23),
                      duration=3600)
     deletion_service.remove_task(self.task_id, force=True)
     self.assertRaises(TaskNotFoundException, tasks_service.get_task,
                       self.task_id)
示例#3
0
    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 = self.get("/data/projects/%s/news" %
                             self.task_dict["project_id"])
        self.assertEqual(len(news_list["data"]), 50)
        news = news_list["data"][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 = self.get("/data/projects/%s/news?page=2" %
                             self.task_dict["project_id"])
        self.assertEqual(len(news_list["data"]), 30)

        news = self.get("/data/projects/%s/news/%s" %
                        (self.task_dict["project_id"], news["id"]))
        self.assertIsNotNone(news["created_at"])
示例#4
0
    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)
示例#5
0
    def test_get_tasks_for_person(self):
        self.generate_fixture_task()
        comments_service.new_comment(self.task.id, self.task_status.id,
                                     self.person.id, "first comment")
        comments_service.new_comment(self.task.id, self.task_status.id,
                                     self.person.id, "last comment")
        tasks = self.get("/data/persons/%s/tasks" % self.person.id)
        self.assertEqual(len(tasks), 1)
        self.assertEqual(tasks[0]["last_comment"]["text"], "last comment")
        self.assertEqual(tasks[0]["last_comment"]["person_id"],
                         str(self.person.id))
        self.assertEqual(len(tasks), 1)
        self.assertTrue(str(self.person.id) in tasks[0]["assignees"])

        tasks = self.get("/data/persons/%s/tasks" % self.user["id"])
        self.assertEqual(len(tasks), 0)
示例#6
0
 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)
示例#7
0
 def test_new_comment(self):
     comment = comments_service.new_comment(
         self.task_id,
         self.task_status.id,
         self.person.id,
         "Test @John Doe"
     )
     self.assertEqual(comment["mentions"][0], str(self.person.id))
示例#8
0
文件: base.py 项目: mathbou/zou
 def generate_fixture_comment(
     self, person=None, task_id=None, task_status_id=None
 ):
     if person is None:
         person = self.person.serialize()
     if task_id is None:
         task_id = self.task.id
     if task_status_id is None:
         task_status_id = self.task_status.id
     self.comment = comments_service.new_comment(
         task_id, task_status_id, person["id"], "first comment"
     )
     return self.comment
示例#9
0
    def generate_fixture_comment(self):
        self.generate_fixture_person()
        self.generate_fixture_assigner()
        self.generate_fixture_department()
        self.generate_fixture_task_type()
        self.task_type_dict = self.task_type_animation.serialize()
        self.generate_fixture_task_status()
        self.task = self.generate_fixture_shot_task()
        self.task_dict = self.task.serialize()
        self.person_dict = self.generate_fixture_person(
            first_name="Jane", email="*****@*****.**").serialize()

        self.comment = comments_service.new_comment(self.task.id,
                                                    self.task_status.id,
                                                    self.user["id"],
                                                    "first comment")