def test_get_task_overview_for_worker(self): task = self.tasks['review_task'] with self.assertRaises(TaskAssignmentError): get_task_overview_for_worker(task.id, self.workers[2]) data = get_task_overview_for_worker(task.id, self.workers[0]) expected = { 'project': {'details': task.project.short_description, 'id': task.project.id, 'project_data': {}, 'team_messages_url': None}, 'workflow': {'slug': 'w1', 'name': 'Workflow One'}, 'workflow_version': {'slug': 'test_workflow', 'name': 'The workflow'}, 'prerequisites': {}, 'step': {'slug': 'step1', 'name': 'The first step'}, 'status': 'Submitted', 'task': {'data': {'test_key': 'test_value'}, 'status': 'Pending Review'}, 'task_id': task.id, 'assignment_id': task.assignments.get(worker=self.workers[0]).id, 'is_reviewer': False, 'is_read_only': True, 'worker': { 'username': self.workers[0].user.username, 'first_name': self.workers[0].user.first_name, 'last_name': self.workers[0].user.last_name, } } self.assertEquals(data, expected)
def test_get_task_overview_for_worker(self): task = self.tasks['review_task'] with self.assertRaises(TaskAssignmentError): get_task_overview_for_worker(task.id, self.workers[2]) data = get_task_overview_for_worker(task.id, self.workers[0]) expected = { 'project': { 'details': task.project.short_description, 'id': task.project.id, 'project_data': {}, 'status': 'Active', 'team_messages_url': None }, 'workflow': { 'slug': 'w1', 'name': 'Workflow One' }, 'workflow_version': { 'slug': 'test_workflow', 'name': 'The workflow' }, 'prerequisites': {}, 'step': { 'slug': 'step1', 'name': 'The first step' }, 'status': 'Submitted', 'task': { 'data': { 'test_key': 'test_value' }, 'status': 'Pending Review' }, 'task_id': task.id, 'assignment_id': task.assignments.get(worker=self.workers[0]).id, 'is_reviewer': False, 'is_read_only': True, 'is_project_admin': False, 'worker': { 'username': self.workers[0].user.username, 'first_name': self.workers[0].user.first_name, 'last_name': self.workers[0].user.last_name, } } self.assertEqual(data, expected) # Superuser should have access to latest task data superuser = get_user_model().objects.create_superuser( 'superuser', '*****@*****.**', 'test-password') superworker = Worker.objects.create(user=superuser) data = get_task_overview_for_worker(task.id, superworker) expected['is_project_admin'] = True self.assertEqual(data, expected)
def task_assignment_information(request): try: worker = Worker.objects.get(user=request.user) return get_task_overview_for_worker(json.loads(request.body.decode())["task_id"], worker) except TaskAssignmentError as e: raise BadRequest(e) except Task.DoesNotExist as e: raise BadRequest(e)
def test_get_task_overview_for_worker(self): task = self.tasks['review_task'] with self.assertRaises(TaskAssignmentError): get_task_overview_for_worker(task.id, self.workers[2]) data = get_task_overview_for_worker(task.id, self.workers[0]) expected = { 'project': { 'details': task.project.short_description, 'id': task.project.id, 'project_data': {}, 'team_messages_url': None }, 'workflow': { 'slug': 'w1', 'name': 'Workflow One' }, 'workflow_version': { 'slug': 'test_workflow', 'name': 'The workflow' }, 'prerequisites': {}, 'step': { 'slug': 'step1', 'name': 'The first step' }, 'status': 'Submitted', 'task': { 'data': { 'test_key': 'test_value' }, 'status': 'Pending Review' }, 'task_id': task.id, 'assignment_id': task.assignments.get(worker=self.workers[0]).id, 'is_reviewer': False, 'is_read_only': True, 'worker': { 'username': self.workers[0].user.username, 'first_name': self.workers[0].user.first_name, 'last_name': self.workers[0].user.last_name, } } self.assertEquals(data, expected)
def task_assignment_information(request): try: worker = Worker.objects.get(user=request.user) return get_task_overview_for_worker( load_encoded_json(request.body)['task_id'], worker) except TaskAssignmentError as e: raise BadRequest(e) except Task.DoesNotExist as e: raise BadRequest(e)
def task_assignment_information(request): try: worker = Worker.objects.get(user=request.user) return get_task_overview_for_worker( load_encoded_json(request.body)['task_id'], worker) except TaskAssignmentError as e: raise BadRequest(e) except Task.DoesNotExist as e: raise BadRequest(e)
def test_get_task_overview_for_worker(self): task = self.tasks['review_task'] with self.assertRaises(TaskAssignmentError): get_task_overview_for_worker(task.id, self.workers[2]) data = get_task_overview_for_worker(task.id, self.workers[0]) expected = {'project': {'details': task.project.short_description, 'id': task.project.id, 'project_data': {}, 'review_document_url': None}, 'workflow': {'slug': 'test_workflow', 'name': 'The workflow'}, 'prerequisites': {}, 'step': {'slug': 'step1', 'name': 'The first step'}, 'status': 'Submitted', 'task': {'data': {'test_key': 'test_value'}, 'status': 'Pending Review'}, 'task_id': task.id, 'is_reviewer': False, 'is_read_only': True, 'work_times_seconds': []} self.assertEquals(data, expected)