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)
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)))
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)])
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)])
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)
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"], [])
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"], [])
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"], [])
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
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)])