Example #1
0
 def test_task_auto_accept_taskmembers(self):
     """
     When saving a task with accepting=automatic new task members should be accepted instantly
     """
     task = TaskFactory(accepting='automatic')
     task_member = TaskMemberFactory(task=task)
     self.assertEqual(task_member.status, 'accepted')
Example #2
0
    def setUp(self):
        from bluebottle.bb_projects.models import ProjectPhase, ProjectTheme

        super(WallpostMailTests, self).setUp()

        self.init_projects()

        self.user_a = self.create_user(email='*****@*****.**',
                                       first_name='aname ',
                                       last_name='alast',
                                       primary_language='fr')
        self.user_b = self.create_user(email='*****@*****.**',
                                       first_name='bname ',
                                       last_name='blast',
                                       primary_language='nl')
        self.user_c = self.create_user(email='*****@*****.**',
                                       first_name='cname ',
                                       last_name='clast',
                                       primary_language='en')
        self.user_d = self.create_user(email='*****@*****.**',
                                       first_name='dname ',
                                       last_name='dlast',
                                       primary_language='en')

        # self.project = self.create_project(owner=self.user_a)

        self.theme_1 = ProjectTheme.objects.get(translations__name='Education')
        self.phase_1 = ProjectPhase.objects.get(slug='campaign')

        self.project_1 = ProjectFactory.create(owner=self.user_a,
                                               status=self.phase_1,
                                               theme=self.theme_1)

        self.task_1 = TaskFactory(author=self.user_a, project=self.project_1)
Example #3
0
    def test_taskmember_project_role_permissions(self):
        """
        Test task_manager and owner roles when accepting task members
        """
        self.some_project.owner = self.some_user
        self.some_project.task_manager = self.another_user
        self.some_project.save()

        task = TaskFactory(project=self.some_project, author=self.another_user)
        task_member = TaskMemberFactory(task=task, status='applied')

        # Project owner should be allowed to see taskmember
        task_member_url = reverse('task-member-detail',
                                  kwargs={'pk': task_member.id})
        response = self.client.get(task_member_url,
                                   HTTP_AUTHORIZATION=self.some_token)
        self.assertEqual(response.status_code, status.HTTP_200_OK)

        # Project owner should be disallowed to accept taskmember
        task_member_url = reverse('task-member-detail',
                                  kwargs={'pk': task_member.id})
        response = self.client.patch(task_member_url, {'status': 'accepted'},
                                     HTTP_AUTHORIZATION=self.some_token)
        self.assertEqual(response.status_code, status.HTTP_403_FORBIDDEN)

        # Task manager should have rights to accept taskmember
        task_member_url = reverse('task-member-detail',
                                  kwargs={'pk': task_member.id})
        response = self.client.patch(task_member_url, {'status': 'accepted'},
                                     HTTP_AUTHORIZATION=self.another_token)
        self.assertEqual(response.status_code, status.HTTP_200_OK)

        task = TaskFactory(project=self.some_project, author=self.another_user)
        task_member = TaskMemberFactory(task=task, status='applied')

        self.some_project.task_manager = self.some_user
        self.some_project.save()

        # Project owner should be disallowed to accept taskmember
        task_member_url = reverse('task-member-detail',
                                  kwargs={'pk': task_member.id})
        response = self.client.patch(task_member_url, {'status': 'accepted'},
                                     HTTP_AUTHORIZATION=self.some_token)
        self.assertEqual(response.status_code, status.HTTP_200_OK)
Example #4
0
    def setUp(self):
        super(TestProjectStatusUpdate, self).setUp()

        self.init_projects()

        self.theme = ProjectThemeFactory(slug='test-theme')
        self.project = ProjectFactory(theme=self.theme)
        self.task = TaskFactory(project=self.project)

        self.survey = SurveyFactory(link='https://example.com/survey/1/', active=True)
Example #5
0
    def setUp(self):
        super(TestSurveyGizmoAdapter, self).setUp()

        self.init_projects()

        self.theme = ProjectThemeFactory(slug='test-theme')
        self.project = ProjectFactory()

        self.task = TaskFactory(project=self.project)

        self.survey = SurveyFactory(remote_id='test-id',
                                    last_synced=timezone.now())
Example #6
0
 def test_task_auto_accept_with_needs_motivation(self):
     """
     When saving a task with accepting=automatic should reset needs_motivation to False
     """
     task = TaskFactory(needs_motivation=True, accepting='automatic')
     self.assertEqual(task.needs_motivation, False)