Exemplo n.º 1
0
    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)
Exemplo n.º 2
0
    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)
Exemplo n.º 3
0
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)
Exemplo n.º 4
0
    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)
Exemplo n.º 5
0
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)
Exemplo n.º 6
0
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)
Exemplo n.º 7
0
    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)