def setUp(self): super(CategoryResourceTestCase, self).setUp() self.c1 = DataCategory(name='Title', published=True) self.c1.save() self.c2 = DataCategory(name='Other', published=False) self.c2.save()
def setUp(self): management.call_command('avocado', 'init', 'search', quiet=True) # Create categories for test purposes parent = DataCategory(name='Harvest', published=True) parent.save() category = DataCategory(name='Avocado', parent=parent, published=True) category.save() DataField.objects.update(category=category) DataConcept.objects.update(category=category) management.call_command('rebuild_index', interactive=False, verbosity=0)
def _migrate_categories(self, **options): total_migrated = 0 # Migrate categories without a parent first for lc in legacy.Category.objects.order_by('-parent').iterator(): kwargs = { 'name__iexact': lc.name, } # Filter by parent if one exists since categories with the same # name can exists as sub-categories. if lc.parent_id: kwargs['parent__name'] = lc.parent.name if DataCategory.objects.filter(**kwargs).exists(): print '"{0}" already exists. Skipping...'.format(lc) continue if lc.parent_id: try: p = DataCategory.objects.get(name=lc.parent.name) except DataCategory.DoesNotExist: print( 'Parent category "{0}" does not exist for "{1}". ' 'Skipping...'.format(lc.parent.name, lc.name)) continue else: p = None c = DataCategory(name=lc.name, parent=p, order=lc.order) c.save() print 'Migrated "{0}"'.format(c) total_migrated += 1 print u'Categories migrated:\t{0}'.format(total_migrated)
def setUp(self): management.call_command('avocado', 'init', 'search', quiet=True) # Create categories for test purposes. category = DataCategory(name='Avocado', published=True) category.save() DataField.objects.update(category=category) DataConcept.objects.update(category=category) self._haystack = OPTIONAL_DEPS['haystack'] OPTIONAL_DEPS['haystack'] = None
def setUp(self): management.call_command('avocado', 'init', 'tests', publish=False, concepts=False, quiet=True) self.is_manager = DataField.objects.get_by_natural_key( 'tests', 'employee', 'is_manager') self.salary = DataField.objects.get_by_natural_key( 'tests', 'title', 'salary') DataCategory(published=False).save() self.category = DataCategory.objects.get(pk=1)
def test_get_all_category_sort(self): # Create some temporary concepts and categories cat1 = DataCategory(name='Category1', order=1.0, published=True) cat1.save() c1 = DataConcept(name='B', published=True, category=cat1) c1.save() field1 = DataConceptField(concept=c1, field=self.name_field, order=1) field1.save() c2 = DataConcept(name='C', published=True, category=cat1) c2.save() field2 = DataConceptField(concept=c2, field=self.name_field, order=1) field2.save() c3 = DataConcept(name='A', published=True, category=cat1) c3.save() field3 = DataConceptField(concept=c3, field=self.name_field, order=1) field3.save() # Check that category ordering is happening by default response = self.client.get('/api/concepts/', HTTP_ACCEPT='application/json') self.assertEqual(response.status_code, 200) self.assertEqual(len(json.loads(response.content)), 5) names = [concept.get('name', '') for concept in json.loads(response.content)] self.assertEqual(names, ['Title', 'Name', 'B', 'C', 'A']) # Reverse the ordering of the categories response = self.client.get('/api/concepts/', {'order': 'desc'}, HTTP_ACCEPT='application/json') self.assertEqual(response.status_code, 200) self.assertEqual(len(json.loads(response.content)), 5) names = [concept.get('name', '') for concept in json.loads(response.content)] self.assertEqual(names, ['B', 'C', 'A', 'Title', 'Name']) # Order by concept name in addition to category response = self.client.get('/api/concepts/', {'sort': 'name'}, HTTP_ACCEPT='application/json') self.assertEqual(response.status_code, 200) self.assertEqual(len(json.loads(response.content)), 5) names = [concept.get('name', '') for concept in json.loads(response.content)] self.assertEqual(names, ['Name', 'Title', 'A', 'B', 'C']) # Reverse the name and category sorting response = self.client.get('/api/concepts/', {'sort': 'name', 'order': 'desc'}, HTTP_ACCEPT='application/json') self.assertEqual(response.status_code, 200) self.assertEqual(len(json.loads(response.content)), 5) names = [concept.get('name', '') for concept in json.loads(response.content)] self.assertEqual(names, ['C', 'B', 'A', 'Title', 'Name']) c1.delete() c2.delete() c3.delete() field1.delete() field2.delete() field3.delete() cat1.delete()