def test_has_item(self): ''' has_item(BlockUsageLocator) ''' # positive tests of various forms locator = BlockUsageLocator(version_guid=self.GUID_D1, usage_id='head12345') self.assertTrue(modulestore().has_item(locator), "couldn't find in %s" % self.GUID_D1) locator = BlockUsageLocator(course_id='GreekHero', usage_id='head12345', revision='draft') self.assertTrue( modulestore().has_item(locator), "couldn't find in 12345" ) self.assertTrue( modulestore().has_item(BlockUsageLocator( course_id=locator.course_id, revision='draft', usage_id=locator.usage_id )), "couldn't find in draft 12345" ) self.assertFalse( modulestore().has_item(BlockUsageLocator( course_id=locator.course_id, revision='published', usage_id=locator.usage_id)), "found in published 12345" ) locator.revision = 'draft' self.assertTrue( modulestore().has_item(locator), "not found in draft 12345" ) # not a course obj locator = BlockUsageLocator(course_id='GreekHero', usage_id='chapter1', revision='draft') self.assertTrue( modulestore().has_item(locator), "couldn't find chapter1" ) # in published course locator = BlockUsageLocator(course_id="wonderful", usage_id="head23456", revision='draft') self.assertTrue(modulestore().has_item(BlockUsageLocator(course_id=locator.course_id, usage_id=locator.usage_id, revision='published')), "couldn't find in 23456") locator.revision = 'published' self.assertTrue(modulestore().has_item(locator), "couldn't find in 23456")
def test_get_item(self): ''' get_item(blocklocator) ''' # positive tests of various forms locator = BlockUsageLocator(version_guid=self.GUID_D1, usage_id='head12345') block = modulestore().get_item(locator) self.assertIsInstance(block, CourseDescriptor) locator = BlockUsageLocator(course_id='GreekHero', usage_id='head12345', revision='draft') block = modulestore().get_item(locator) self.assertEqual(block.location.course_id, "GreekHero") # look at this one in detail self.assertEqual(len(block.tabs), 6, "wrong number of tabs") self.assertEqual(block.display_name, "The Ancient Greek Hero") self.assertEqual(block.advertised_start, "Fall 2013") self.assertEqual(len(block.children), 3) self.assertEqual(block.definition_locator.definition_id, "head12345_12") # check dates and graders--forces loading of descriptor self.assertEqual(block.edited_by, "*****@*****.**") self.assertDictEqual( block.grade_cutoffs, {"Pass": 0.45}, ) # try to look up other revisions self.assertRaises(ItemNotFoundError, modulestore().get_item, BlockUsageLocator(course_id=locator.as_course_locator(), usage_id=locator.usage_id, revision='published')) locator.revision = 'draft' self.assertIsInstance( modulestore().get_item(locator), CourseDescriptor )