def init_projects(self): """ Set up some basic models needed for project creation. """ phase_data = [{'id': 1, 'name': 'Plan - New', 'viewable': False}, {'id': 2, 'name': 'Plan - Submitted', 'viewable': False}, {'id': 3, 'name': 'Plan - Needs Work', 'viewable': False}, {'id': 4, 'name': 'Plan - Rejected', 'viewable': False}, {'id': 6, 'name': 'Plan - Accepted', 'viewable': True}, {'id': 5, 'name': 'Campaign', 'viewable': True}, {'id': 7, 'name': 'Stopped', 'viewable': False}, {'id': 8, 'name': 'Done - Complete', 'viewable': True}, {'id': 9, 'name': 'Done - Incomplete', 'viewable': True}] theme_data = [{'id': 1, 'name': 'Education'}, {'id': 2, 'name': 'Environment'}] language_data = [{'id': 1, 'code': 'en', 'language_name': 'English', 'native_name': 'English'}, {'id': 2, 'code': 'nl', 'language_name': 'Dutch', 'native_name': 'Nederlands'}] partner_data = [{'id': 1, 'slug': 'cheetah', 'name': 'The Cheetah Campaign'}, {'id': 2, 'slug': 'macro_micro', 'name': 'Macro Micro'}] for partner in partner_data: PartnerFactory.create(**partner) for phase in phase_data: ProjectPhaseFactory.create(**phase) for theme in theme_data: ProjectThemeFactory.create(**theme) for language in language_data: LanguageFactory.create(**language)
def test_create_phase_log(self): phase1 = ProjectPhaseFactory.create() phase2 = ProjectPhaseFactory.create() project = ProjectFactory.create(status=phase1) phase_logs = PROJECT_PHASE_LOG_MODEL.objects.all() self.assertEquals(len(phase_logs), 1) self.assertEquals(phase_logs[0].status, project.status) project.status = phase2 project.save() phase_logs = PROJECT_PHASE_LOG_MODEL.objects.all().order_by("-start") self.assertEquals(len(phase_logs), 2) self.assertEquals(phase_logs[0].status, project.status)
def test_create_phase_log(self): phase1 = ProjectPhaseFactory.create() phase2 = ProjectPhaseFactory.create() project = ProjectFactory.create(status=phase1) phase_logs = ProjectPhaseLog.objects.all() self.assertEquals(len(phase_logs), 1) self.assertEquals(phase_logs[0].status, project.status) project.status = phase2 project.save() phase_logs = ProjectPhaseLog.objects.all().order_by("-start") self.assertEquals(len(phase_logs), 2) self.assertEquals(phase_logs[0].status, project.status)
def test_task_preview_search(self): # create project phases phase1 = ProjectPhaseFactory.create(viewable=True) phase2 = ProjectPhaseFactory.create(viewable=False) self.some_project.status = phase1 self.some_project.save() self.another_project.status = phase2 self.another_project.save() # create tasks for projects self.task1 = TaskFactory.create( status=Task.TaskStatuses.in_progress, author=self.some_project.owner, project=self.some_project, deadline=timezone.datetime(2010, 05, 05, tzinfo=timezone.get_current_timezone()) )
def test_task_preview_search(self): # create project phases phase1 = ProjectPhaseFactory.create(viewable=True) phase2 = ProjectPhaseFactory.create(viewable=False) self.some_project.status = phase1 self.some_project.save() self.another_project.status = phase2 self.another_project.save() # create tasks for projects self.task1 = TaskFactory.create( status=BB_TASK_MODEL.TaskStatuses.in_progress, author=self.some_project.owner, project=self.some_project, ) self.task2 = TaskFactory.create( status=BB_TASK_MODEL.TaskStatuses.open, author=self.another_project.owner, project=self.another_project, ) self.assertEqual(2, BB_PROJECT_MODEL.objects.count()) self.assertEqual(2, BB_TASK_MODEL.objects.count()) api_url = self.task_url + 'previews/' # test that only one task preview is returned response = self.client.get(api_url, token=self.some_token) self.assertEqual(response.status_code, status.HTTP_200_OK, response.data) self.assertEqual(response.data['count'], 1) response = self.client.get(api_url, {'status': 'in progress'}, token=self.some_token) self.assertEqual(response.status_code, status.HTTP_200_OK, response.data) self.assertEqual(response.data['count'], 1) response = self.client.get(api_url, {'status': 'open'}, token=self.some_token) self.assertEqual(response.status_code, status.HTTP_200_OK, response.data) self.assertEqual(response.data['count'], 0) skill = self.task1.skill response = self.client.get(api_url, {'skill': skill.id}, token=self.some_token) self.assertEqual(response.status_code, status.HTTP_200_OK, response.data) self.assertEqual(response.data['count'], 1) self.assertEqual(response.data['results'][0]['id'], self.task1.id)
def test_task_preview_search(self): # create project phases phase1 = ProjectPhaseFactory.create(viewable=True) phase2 = ProjectPhaseFactory.create(viewable=False) self.some_project.status = phase1 self.some_project.save() self.another_project.status = phase2 self.another_project.save() # create tasks for projects task1 = TaskFactory.create(status=Task.TaskStatuses.in_progress, author=self.some_project.owner, project=self.some_project, deadline=timezone.datetime( 2010, 05, 05, tzinfo=timezone.get_current_timezone()))
def setUp(self): phase_data = [{'sequence': 1, 'name': 'Plan - New', 'viewable': False}, {'sequence': 2, 'name': 'Plan - Submitted', 'viewable': False}, {'sequence': 3, 'name': 'Plan - Needs Work', 'viewable': False}, {'sequence': 4, 'name': 'Running', 'viewable': True}, {'sequence': 5, 'name': 'Realised', 'viewable': True}, {'sequence': 6, 'name': 'Closed', 'viewable': False}] for phase in phase_data: ProjectPhaseFactory.create(**phase) self.some_user = BlueBottleUserFactory.create() self.another_user = BlueBottleUserFactory.create() self.phase1 = ProjectPhaseFactory.create(slug='realised') # Required model for bb_payouts signals self.project = ProjectFactory(owner=self.some_user, status=self.phase1) self.task = TaskFactory.create( author=self.project.owner, project=self.project, )
def setUp(self): super(FollowTests, self).setUp() self.init_projects() self.some_user = BlueBottleUserFactory.create() self.another_user = BlueBottleUserFactory.create() self.phase1 = ProjectPhaseFactory.create(slug='realised') # Required model for bb_payouts signals self.project = ProjectFactory(owner=self.some_user, status=self.phase1) self.task = TaskFactory.create( author=self.project.owner, project=self.project, )
def setUp(self): super(FollowTests, self).setUp() self.init_projects() self.some_user = BlueBottleUserFactory.create() self.another_user = BlueBottleUserFactory.create() self.phase1 = ProjectPhaseFactory.create( slug='realised') # Required model for bb_payouts signals self.project = ProjectFactory(owner=self.some_user, status=self.phase1) self.task = TaskFactory.create( author=self.project.owner, project=self.project, )
def setUp(self): self.user_a = self.create_user(email='*****@*****.**', first_name='aname ', last_name='alast') self.user_b = self.create_user(email='*****@*****.**', first_name='bname ', last_name='blast') self.user_c = self.create_user(email='*****@*****.**', first_name='cname ', last_name='clast') #self.project = self.create_project(owner=self.user_a) self.theme_1 = ProjectThemeFactory.create() self.phase_1 = ProjectPhaseFactory.create() 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 setUp(self): super(TestProjectStatusUpdateStatGeneration, self).setUp() self.tenant = self.client.tenant self.init_projects() with patch('bluebottle.analytics.utils.queue_analytics_record'): self.theme = ProjectThemeFactory.create(name='Cleaning the beach', slug='cleaning-the-beach') self.country = CountryFactory.create() self.status = ProjectPhaseFactory.create(slug='realised') self.project = ProjectFactory.create(theme=self.theme, status=self.status, country=self.country) self.count = ProjectPhase.objects.all().count()