def test_index_get(self): # set dates to test reverse chron ordering self.workflow1.creation_date = "2010-10-20 1:23Z" self.workflow1.save() self.workflow2 = Workflow.objects.create( name='Workflow 2', owner=self.user, creation_date='2015-09-18 2:34Z') request = self._build_get('/api/workflows/', user=self.user) response = Index.as_view()(request) self.assertIs(response.status_code, status.HTTP_200_OK) workflows = response.context_data['initState']['workflows'] # should not pick up other user's workflows, even public ones self.assertEqual( len(workflows['owned']) + len(workflows['shared']) + len(workflows['templates']), 2) self.assertEqual(workflows['owned'][0]['name'], 'Workflow 2') self.assertEqual(workflows['owned'][0]['id'], self.workflow2.id) self.assertEqual(workflows['owned'][0]['public'], self.workflow1.public) self.assertEqual(workflows['owned'][0]['read_only'], False) # user is owner self.assertEqual(workflows['owned'][0]['is_owner'], True) # user is owner self.assertIsNotNone(workflows['owned'][0]['last_update']) self.assertEqual(workflows['owned'][0]['owner_name'], user_display(self.workflow2.owner)) self.assertEqual(workflows['owned'][1]['name'], 'Workflow 1') self.assertEqual(workflows['owned'][1]['id'], self.workflow1.id)
def test_index_get(self): # set dates to test reverse chron ordering self.workflow1.creation_date = "2010-10-20 1:23Z" self.workflow1.save() self.workflow2 = Workflow.objects.create( name="Workflow 2", owner=self.user, creation_date="2015-09-18 2:34Z" ) request = self._build_get("/api/workflows/", user=self.user) response = Index.as_view()(request) self.assertIs(response.status_code, status.HTTP_200_OK) workflows = response.context_data["initState"]["workflows"] # should not pick up other user's workflows, even public ones self.assertEqual( len(workflows["owned"]) + len(workflows["shared"]) + len(workflows["templates"]), 2, ) self.assertEqual(workflows["owned"][0]["name"], "Workflow 2") self.assertEqual(workflows["owned"][0]["id"], self.workflow2.id) self.assertEqual(workflows["owned"][0]["public"], self.workflow1.public) self.assertEqual(workflows["owned"][0]["read_only"], False) # user is owner self.assertEqual(workflows["owned"][0]["is_owner"], True) # user is owner self.assertIsNotNone(workflows["owned"][0]["last_update"]) self.assertEqual( workflows["owned"][0]["owner_name"], user_display(self.workflow2.owner) ) self.assertEqual(workflows["owned"][1]["name"], "Workflow 1") self.assertEqual(workflows["owned"][1]["id"], self.workflow1.id)
def test_index_exclude_lesson(self): self.workflow1.lesson_slug = 'some-lesson' self.workflow1.save() self.workflow2 = Workflow.objects.create(owner=self.user) request = self._build_get('/api/workflows/', user=self.user) response = Index.as_view()(request) workflows = response.context_data['initState']['workflows'] self.assertIs(response.status_code, status.HTTP_200_OK) self.assertEqual(len(workflows['owned']), 1)
def test_index_exclude_lesson(self): self.workflow1.lesson_slug = "some-lesson" self.workflow1.save() self.workflow2 = Workflow.objects.create(owner=self.user) request = self._build_get("/api/workflows/", user=self.user) response = Index.as_view()(request) workflows = response.context_data["initState"]["workflows"] self.assertIs(response.status_code, status.HTTP_200_OK) self.assertEqual(len(workflows["owned"]), 1)
def test_index_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() self.workflow2 = Workflow.objects.create(owner=self.user) request = self._build_get('/api/workflows/', user=self.user) response = Index.as_view()(request) self.assertIs(response.status_code, status.HTTP_200_OK) workflows = response.context_data['initState']['workflows'] self.assertEqual(len(workflows['owned']), 2) self.assertEqual(len(workflows['templates']), 0)
def test_index_include_example_in_all_users_workflow_lists(self): self.other_workflow_public.example = True self.other_workflow_public.in_all_users_workflow_lists = True self.other_workflow_public.save() self.workflow2 = Workflow.objects.create(owner=self.user) request = self._build_get("/api/workflows/", user=self.user) response = Index.as_view()(request) self.assertIs(response.status_code, status.HTTP_200_OK) workflows = response.context_data["initState"]["workflows"] self.assertEqual(len(workflows["owned"]), 2) self.assertEqual(len(workflows["templates"]), 1)