def test_create_nicely(self): """ Try the straightforward use cases """ # create a chapter display_name = "Nicely created" resp = self.client.post( reverse("create_item"), json.dumps( {"parent_location": self.course.location.url(), "display_name": display_name, "category": "chapter"} ), content_type="application/json", ) self.assertEqual(resp.status_code, 200) # get the new item and check its category and display_name chap_location = self.response_id(resp) new_obj = modulestore().get_item(chap_location) self.assertEqual(new_obj.category, "chapter") self.assertEqual(new_obj.display_name, display_name) self.assertEqual(new_obj.location.org, self.course.location.org) self.assertEqual(new_obj.location.course, self.course.location.course) # get the course and ensure it now points to this one course = modulestore().get_item(self.course.location) self.assertIn(chap_location, course.children) # use default display name resp = self.client.post( reverse("create_item"), json.dumps({"parent_location": chap_location, "category": "vertical"}), content_type="application/json", ) self.assertEqual(resp.status_code, 200) vert_location = self.response_id(resp) # create problem w/ boilerplate template_id = "multiplechoice.yaml" resp = self.client.post( reverse("create_item"), json.dumps({"parent_location": vert_location, "category": "problem", "boilerplate": template_id}), content_type="application/json", ) self.assertEqual(resp.status_code, 200) prob_location = self.response_id(resp) problem = modulestore("draft").get_item(prob_location) # ensure it's draft self.assertTrue(problem.is_draft) # check against the template template = CapaDescriptor.get_template(template_id) self.assertEqual(problem.data, template["data"]) self.assertEqual(problem.display_name, template["metadata"]["display_name"]) self.assertEqual(problem.markdown, template["metadata"]["markdown"])
def test_create_nicely(self): """ Try the straightforward use cases """ # create a chapter display_name = 'Nicely created' resp = self.create_xblock(display_name=display_name, category='chapter') self.assertEqual(resp.status_code, 200) # get the new item and check its category and display_name chap_locator = self.response_locator(resp) new_obj = self.get_item_from_modulestore(chap_locator) self.assertEqual(new_obj.scope_ids.block_type, 'chapter') self.assertEqual(new_obj.display_name, display_name) self.assertEqual(new_obj.location.org, self.course.location.org) self.assertEqual(new_obj.location.course, self.course.location.course) # get the course and ensure it now points to this one course = self.get_item_from_modulestore(self.unicode_locator) self.assertIn(self.get_old_id(chap_locator).url(), course.children) # use default display name resp = self.create_xblock(parent_locator=chap_locator, category='vertical') self.assertEqual(resp.status_code, 200) vert_locator = self.response_locator(resp) # create problem w/ boilerplate template_id = 'multiplechoice.yaml' resp = self.create_xblock(parent_locator=vert_locator, category='problem', boilerplate=template_id) self.assertEqual(resp.status_code, 200) prob_locator = self.response_locator(resp) problem = self.get_item_from_modulestore(prob_locator, True) # ensure it's draft self.assertTrue(problem.is_draft) # check against the template template = CapaDescriptor.get_template(template_id) self.assertEqual(problem.data, template['data']) self.assertEqual(problem.display_name, template['metadata']['display_name']) self.assertEqual(problem.markdown, template['metadata']['markdown'])
def test_create_nicely(self): """ Try the straightforward use cases """ # create a chapter display_name = 'Nicely created' resp = self.create_xblock(display_name=display_name, category='chapter') self.assertEqual(resp.status_code, 200) # get the new item and check its category and display_name chap_locator = self.response_locator(resp) new_obj = self.get_item_from_modulestore(chap_locator) self.assertEqual(new_obj.scope_ids.block_type, 'chapter') self.assertEqual(new_obj.display_name, display_name) self.assertEqual(new_obj.location.org, self.course.location.org) self.assertEqual(new_obj.location.course, self.course.location.course) # get the course and ensure it now points to this one course = self.get_item_from_modulestore(self.unicode_locator) self.assertIn(self.get_old_id(chap_locator).url(), course.children) # use default display name resp = self.create_xblock(parent_locator=chap_locator, category='vertical') self.assertEqual(resp.status_code, 200) vert_locator = self.response_locator(resp) # create problem w/ boilerplate template_id = 'multiplechoice.yaml' resp = self.create_xblock( parent_locator=vert_locator, category='problem', boilerplate=template_id ) self.assertEqual(resp.status_code, 200) prob_locator = self.response_locator(resp) problem = self.get_item_from_modulestore(prob_locator, True) # ensure it's draft self.assertTrue(problem.is_draft) # check against the template template = CapaDescriptor.get_template(template_id) self.assertEqual(problem.data, template['data']) self.assertEqual(problem.display_name, template['metadata']['display_name']) self.assertEqual(problem.markdown, template['metadata']['markdown'])
def test_create_nicely(self): """ Try the straightforward use cases """ # create a chapter display_name = 'Nicely created' resp = self.client.post(reverse('create_item'), json.dumps({ 'parent_location': self.course.location.url(), 'display_name': display_name, 'category': 'chapter' }), content_type="application/json") self.assertEqual(resp.status_code, 200) # get the new item and check its category and display_name chap_location = self.response_id(resp) new_obj = modulestore().get_item(chap_location) self.assertEqual(new_obj.category, 'chapter') self.assertEqual(new_obj.display_name, display_name) self.assertEqual(new_obj.location.org, self.course.location.org) self.assertEqual(new_obj.location.course, self.course.location.course) # get the course and ensure it now points to this one course = modulestore().get_item(self.course.location) self.assertIn(chap_location, course.children) # use default display name resp = self.client.post(reverse('create_item'), json.dumps({ 'parent_location': chap_location, 'category': 'vertical' }), content_type="application/json") self.assertEqual(resp.status_code, 200) vert_location = self.response_id(resp) # create problem w/ boilerplate template_id = 'multiplechoice.yaml' resp = self.client.post(reverse('create_item'), json.dumps({ 'parent_location': vert_location, 'category': 'problem', 'boilerplate': template_id }), content_type="application/json") self.assertEqual(resp.status_code, 200) prob_location = self.response_id(resp) problem = modulestore('draft').get_item(prob_location) # ensure it's draft self.assertTrue(problem.is_draft) # check against the template template = CapaDescriptor.get_template(template_id) self.assertEqual(problem.data, template['data']) self.assertEqual(problem.display_name, template['metadata']['display_name']) self.assertEqual(problem.markdown, template['metadata']['markdown'])
def test_create_nicely(self): """ Try the straightforward use cases """ # create a chapter display_name = 'Nicely created' resp = self.client.post( reverse('create_item'), json.dumps({ 'parent_location': self.course.location.url(), 'display_name': display_name, 'category': 'chapter' }), content_type="application/json" ) self.assertEqual(resp.status_code, 200) # get the new item and check its category and display_name chap_location = self.response_id(resp) new_obj = modulestore().get_item(chap_location) self.assertEqual(new_obj.scope_ids.block_type, 'chapter') self.assertEqual(new_obj.display_name, display_name) self.assertEqual(new_obj.location.org, self.course.location.org) self.assertEqual(new_obj.location.course, self.course.location.course) # get the course and ensure it now points to this one course = modulestore().get_item(self.course.location) self.assertIn(chap_location, course.children) # use default display name resp = self.client.post( reverse('create_item'), json.dumps({ 'parent_location': chap_location, 'category': 'vertical' }), content_type="application/json" ) self.assertEqual(resp.status_code, 200) vert_location = self.response_id(resp) # create problem w/ boilerplate template_id = 'multiplechoice.yaml' resp = self.client.post( reverse('create_item'), json.dumps({ 'parent_location': vert_location, 'category': 'problem', 'boilerplate': template_id }), content_type="application/json" ) self.assertEqual(resp.status_code, 200) prob_location = self.response_id(resp) problem = modulestore('draft').get_item(prob_location) # ensure it's draft self.assertTrue(problem.is_draft) # check against the template template = CapaDescriptor.get_template(template_id) self.assertEqual(problem.data, template['data']) self.assertEqual(problem.display_name, template['metadata']['display_name']) self.assertEqual(problem.markdown, template['metadata']['markdown'])