Пример #1
0
 def test_import_project_connections(self):
     self.load_fixture("persons")
     self.load_fixture("projects")
     self.load_fixture("projectconnections")
     projects = self.get("data/projects")
     project = projects_service.get_project_with_relations(
         projects[0]["id"])
     self.assertEqual(len(project["team"]), 2)
     project = projects_service.get_project_with_relations(
         projects[1]["id"])
     self.assertEqual(len(project["team"]), 1)
Пример #2
0
    def test_check_project_access(self):
        from zou.app import app

        with app.app_context():
            self.generate_fixture_user_cg_artist()
            self.log_in_cg_artist()
            with self.assertRaises(permissions.PermissionDenied):
                user_service.check_project_access(str(self.project_id))

            projects_service.add_team_member(
                str(self.project.id), str(self.get_current_user_raw().id))
            projects_service.get_project_with_relations(self.project_id)
            self.assertTrue(
                user_service.check_project_access(str(self.project_id)))
Пример #3
0
 def test_add_task_type_setting(self):
     self.generate_fixture_department()
     self.generate_fixture_task_type()
     projects_service.add_task_type_setting(self.project.id,
                                            self.task_type.id)
     project = projects_service.get_project_with_relations(self.project.id)
     self.assertEqual(project["task_types"], [str(self.task_type.id)])
Пример #4
0
 def test_add_team_member(self):
     self.person_id = str(self.generate_fixture_person().id)
     self.post("data/projects/%s/team" % self.project_id, {
         "person_id": self.person_id
     })
     project = projects_service.get_project_with_relations(self.project_id)
     self.assertEqual(project["team"], [str(self.person_id)])
Пример #5
0
    def test_import_project_connection(self):
        self.load_fixture("persons")
        self.load_fixture("projects")
        sg_project_persons = {
            "id": 1,
            "project": {
                "type": "Project",
                "id": 1,
                "name": "Agent327"
            },
            "user": {
                "type": "HumanUser",
                "id": 1,
                "name": "Jhon Doe"
            },
            "type": "ProjectUserConnection",
        }

        api_path = "/import/shotgun/projectconnections"
        self.projects = self.post(api_path, [sg_project_persons], 200)
        self.assertEqual(len(self.projects), 1)

        projects = self.get("data/projects")
        project = projects_service.get_project_with_relations(
            projects[1]["id"])
        self.assertEqual(len(project["team"]), 1)
Пример #6
0
 def test_remove_team_member(self):
     self.generate_fixture_person()
     projects_service.add_team_member(self.project.id, self.person.id)
     self.delete("data/projects/%s/team/%s" %
                 (self.project.id, self.person.id))
     project = projects_service.get_project_with_relations(self.project.id)
     self.assertEqual(project["team"], [])
Пример #7
0
 def test_remove_task_status(self):
     self.generate_fixture_task_status()
     projects_service.add_task_status_setting(self.project.id,
                                              self.task_status.id)
     projects_service.remove_task_status_setting(self.project.id,
                                                 self.task_status.id)
     project = projects_service.get_project_with_relations(self.project.id)
     self.assertEqual(project["task_statuses"], [])
Пример #8
0
 def test_remove_asset_type(self):
     self.generate_fixture_asset_type()
     projects_service.add_asset_type_setting(self.project.id,
                                             self.asset_type.id)
     projects_service.remove_asset_type_setting(self.project.id,
                                                self.asset_type.id)
     project = projects_service.get_project_with_relations(self.project.id)
     self.assertEqual(project["asset_types"], [])
Пример #9
0
def check_belong_to_project(project_id):
    """
    Return true if current user is assigned to a task of the given project or
    if current_user is part of the project team.
    """
    if project_id is None:
        return False

    project = projects_service.get_project_with_relations(str(project_id))
    current_user = persons_service.get_current_user()
    if current_user["id"] in project["team"]:
        return True
    else:
        return False
Пример #10
0
 def test_add_team_member(self):
     self.generate_fixture_person()
     projects_service.add_team_member(self.project.id, self.person.id)
     project = projects_service.get_project_with_relations(self.project.id)
     self.assertEqual(project["team"], [str(self.person.id)])