def test_compare(self): ''' Tests the custom compare method based on values ''' ingredient1 = Ingredient.objects.get(pk=1) ingredient2 = Ingredient.objects.get(pk=1) ingredient2.name = 'A different name altogether' self.assertFalse(ingredient1 == ingredient2) ingredient1 = Ingredient() ingredient1.name = 'ingredient name' ingredient1.energy = 150 ingredient1.protein = 30 ingredient2 = Ingredient() ingredient2.name = 'ingredient name' ingredient2.energy = 150 self.assertFalse(ingredient1 == ingredient2) ingredient2.protein = 31 self.assertFalse(ingredient1 == ingredient2) ingredient2.protein = None self.assertFalse(ingredient1 == ingredient2) ingredient2.protein = 30 self.assertEqual(ingredient1, ingredient2) meal = Meal.objects.get(pk=1) self.assertFalse(ingredient1 == meal)
def test_total_energy(self): ''' Tests the custom clean() method ''' self.user_login('admin') # Values OK ingredient = Ingredient() ingredient.name = 'FooBar, cooked, with salt' ingredient.energy = 50 ingredient.protein = 0.5 ingredient.carbohydrates = 12 ingredient.fat = 0.1 ingredient.language_id = 1 self.assertFalse(ingredient.full_clean()) # Values wrong ingredient.protein = 20 self.assertRaises(ValidationError, ingredient.full_clean) ingredient.protein = 0.5 ingredient.fat = 5 self.assertRaises(ValidationError, ingredient.full_clean) ingredient.fat = 0.1 ingredient.carbohydrates = 20 self.assertRaises(ValidationError, ingredient.full_clean) ingredient.fat = 5 ingredient.carbohydrates = 20 self.assertRaises(ValidationError, ingredient.full_clean)
def test_compare(self): ''' Tests the custom compare method based on values ''' language = Language.objects.get(pk=1) ingredient1 = Ingredient.objects.get(pk=1) ingredient2 = Ingredient.objects.get(pk=1) ingredient2.name = 'A different name altogether' self.assertFalse(ingredient1 == ingredient2) ingredient1 = Ingredient() ingredient1.name = 'ingredient name' ingredient1.energy = 150 ingredient1.protein = 30 ingredient1.language = language ingredient2 = Ingredient() ingredient2.name = 'ingredient name' ingredient2.energy = 150 ingredient2.language = language self.assertFalse(ingredient1 == ingredient2) ingredient2.protein = 31 self.assertFalse(ingredient1 == ingredient2) ingredient2.protein = None self.assertFalse(ingredient1 == ingredient2) ingredient2.protein = 30 self.assertEqual(ingredient1, ingredient2) meal = Meal.objects.get(pk=1) self.assertFalse(ingredient1 == meal)
'fat_saturated': saturated, 'fibres': fibre, 'sodium': sodium, 'code': code, 'source_name': source_name, 'source_url': source_url, 'common_name': common_name, 'brand': brand, 'status': 2, 'license_id': 5, 'license_author': 'Open Food Facts', } # Add entries as new products if MODE == 'insert': bulk_update_bucket.append(Ingredient(**ingredient_data)) if len(bulk_update_bucket) > BULK_SIZE: try: Ingredient.objects.bulk_create(bulk_update_bucket) print('***** Bulk adding products *****') except Exception as e: print( '--> Error while saving the product bucket. Saving individually' ) print(e) # Try saving the ingredients individually as most will be correct for ingredient in bulk_update_bucket: try: ingredient.save()