def test_filter_by_task_comment(self): """Test filter by comment""" task_id = self.generate_tasks_for_cycle(4)[0] comment_text = "123" task = CycleTaskGroupObjectTask.query.filter( CycleTaskGroupObjectTask.id == task_id).one() factories.CycleTaskEntryFactory( cycle_task_group_object_task=task, description=comment_text, ) self.assertSlugs("task comment", comment_text, [task.slug])
def test_get_cte_g_reader_no_role(self): """GET CycleTaskEntry collection logged in as GlobalReader & No Role.""" with factories.single_commit(): wf_factories.CycleTaskEntryFactory() self.setup_helper.setup_person(rbac_helper.GR_RNAME, "No Role") g_reader = self.setup_helper.get_person(rbac_helper.GR_RNAME, "No Role") self.api_helper.set_user(g_reader) comment = all_models.CycleTaskEntry.query.one() response = self.api_helper.get_collection(comment, (comment.id, )) self.assertTrue(response.json["cycle_task_entries_collection"] ["cycle_task_entries"])
def test_filter_by_task_comment(self, cycle_count, task_count): """Test filter groups by task comments.""" task_cycle_filter = self.generate_tasks_for_cycle( cycle_count, task_count) filter_params = {} for task_id, slug in task_cycle_filter.iteritems(): task = CycleTaskGroupObjectTask.query.filter( CycleTaskGroupObjectTask.id == task_id).one() comment = "comment for task # {}".format(task_id) factories.CycleTaskEntryFactory( cycle_task_group_object_task=task, description=comment, ) filter_params[comment] = slug for comment, slug in filter_params.iteritems(): self.assert_slugs("task comments", comment, [slug])
def test_comment_cascade_deletion_on_cycle_task_delete(self): # noqa pylint: disable=invalid-name """Test comment cascade deletion on CycleTask delete.""" ctask = all_models.CycleTaskGroupObjectTask.query.first() ctask_id = ctask.id wf_factories.CycleTaskEntryFactory( cycle=ctask.cycle, cycle_task_group_object_task=ctask, description="Cycle task comment", ) self.assertEqual(all_models.CycleTaskEntry.query.count(), 1) user = all_models.Person.query.filter_by(email=self.WORKFLOW_ADMIN).one() self.api.set_user(user) response = self.api.delete( all_models.CycleTaskGroupObjectTask.query.get(ctask_id)) self.assert200(response) self.assertEqual(all_models.CycleTaskGroupObjectTask.query.filter_by( id=ctask_id).count(), 0) self.assertEqual(all_models.CycleTaskEntry.query.count(), 0)
def _create_propagation_acl_test_data(self): # noqa pylint: disable=invalid-name """Create objects for Workflow ACL propagation test.""" with freezegun.freeze_time("2017-08-9"): with factories.single_commit(): workflow = wf_factories.WorkflowFactory( title='wf1', unit=all_models.Workflow.WEEK_UNIT, is_verification_needed=True, repeat_every=1) wf_factories.TaskGroupTaskFactory( title='tgt1', task_group=wf_factories.TaskGroupFactory( title='tg1', context=factories.ContextFactory(), workflow=workflow), # One cycle should be created start_date=datetime.date(2017, 8, 3), end_date=datetime.date(2017, 8, 7)) self.generator.activate_workflow(workflow) cycle = all_models.Cycle.query.one() cycle_task = all_models.CycleTaskGroupObjectTask.query.one() wf_factories.CycleTaskEntryFactory( cycle=cycle, cycle_task_group_object_task=cycle_task, description="Cycle task comment", ) workflow = all_models.Workflow.query.one() acl_map = { self.people_ids[0]: WF_ROLES['Admin'], self.people_ids[1]: WF_ROLES['Workflow Member'], self.people_ids[2]: WF_ROLES['Workflow Member'], } put_params = { 'access_control_list': acl_helper.get_acl_list(acl_map) } response = self.api.put(workflow, put_params) self.assert200(response)