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')
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)
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)
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)
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())
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)