def test_workflow_list_get(self): # set dates to test reverse chron ordering self.workflow1.creation_date = "2010-10-20 1:23Z" self.workflow1.save() self.workflow2.creation_date = "2015-09-18 2:34Z" self.workflow2.save() request = self._build_get('/api/workflows/', user=self.user) response = workflow_list(request) self.assertIs(response.status_code, status.HTTP_200_OK) self.assertEqual( len(response.data), 2) # should not pick up other user's workflows, even public ones self.assertEqual(response.data[0]['name'], 'Workflow 2') self.assertEqual(response.data[0]['id'], self.workflow2.id) self.assertEqual(response.data[0]['public'], self.workflow1.public) self.assertEqual( response.data[0]['read_only'], False) # if we can list it, it's ours and we can edit it self.assertIsNotNone(response.data[0]['last_update']) self.assertEqual(response.data[0]['owner_name'], user_display(self.workflow2.owner)) self.assertEqual(response.data[1]['name'], 'Workflow 1') self.assertEqual(response.data[1]['id'], self.workflow1.id)
def test_workflow_list_post(self): start_count = Workflow.objects.count() request = self._build_post('/api/workflows/', user=self.user) response = workflow_list(request) self.assertIs(response.status_code, status.HTTP_201_CREATED) self.assertEqual(Workflow.objects.count(), start_count+1) self.assertEqual(Workflow.objects.filter(name='New Workflow').count(), 1)
def test_workflow_list_post(self): request = self.factory.post('/api/workflows/', {'name': 'Workflow 3'}) force_authenticate(request, user=self.user) response = workflow_list(request) self.assertIs(response.status_code, status.HTTP_201_CREATED) self.assertEqual(Workflow.objects.count(), 3) self.assertEqual(Workflow.objects.filter(name='Workflow 3').count(), 1)
def test_workflow_list_exclude_lesson(self): self.workflow1.lesson_slug = 'some-lesson' self.workflow1.save() request = self._build_get('/api/workflows/', user=self.user) response = workflow_list(request) self.assertIs(response.status_code, status.HTTP_200_OK) self.assertEqual(len(response.data), 1)
def test_workflow_list_get(self): request = self.factory.get('/api/workflows/') force_authenticate(request, user=self.user) response = workflow_list(request) self.assertIs(response.status_code, status.HTTP_200_OK) self.assertEqual(len(response.data), 2) self.assertEqual(response.data[0]['name'], 'Workflow 1') self.assertEqual(response.data[1]['name'], 'Workflow 2')
def test_workflow_list_exclude_example_not_in_all_users_lists(self): self.other_workflow_public.example = True self.other_workflow_public.in_all_users_workflow_lists = False self.other_workflow_public.save() request = self._build_get('/api/workflows/', user=self.user) response = workflow_list(request) self.assertIs(response.status_code, status.HTTP_200_OK) self.assertEqual(len(response.data), 2)