def test_food_and_atmosphere_rating(self): vendor = Vendor(name="Test Vendor") vendor.save() self.assertEqual(vendor.food_rating(), None) self.assertEqual(vendor.atmosphere_rating(), None) Review(vendor=vendor, approval_status=SF.APPROVED, food_rating=1, atmosphere_rating=1, author=self.user).save() self.assertEqual(vendor.food_rating(), 1) self.assertEqual(vendor.atmosphere_rating(), 1) review2 = Review( vendor=vendor, approval_status=SF.PENDING, food_rating=4, atmosphere_rating=4, author=self.user ) review2.save() self.assertEqual(vendor.food_rating(), 1) self.assertEqual(vendor.atmosphere_rating(), 1) review2.approval_status = SF.APPROVED review2.save() # Floored Average self.assertEqual(vendor.food_rating(), 2) self.assertEqual(vendor.atmosphere_rating(), 2) review3 = Review( vendor=vendor, approval_status=SF.APPROVED, food_rating=4, atmosphere_rating=4, author=self.user ) review3.save() # Floored Average self.assertEqual(vendor.food_rating(), 3) self.assertEqual(vendor.atmosphere_rating(), 3)
def test_food_and_atmosphere_rating(self): vendor = Vendor(name="Test Vendor") vendor.save() self.assertEqual(vendor.food_rating(), None) self.assertEqual(vendor.atmosphere_rating(), None) Review(vendor=vendor, approved=True, food_rating=1, atmosphere_rating=1, author=self.user).save() self.assertEqual(vendor.food_rating(), 1) self.assertEqual(vendor.atmosphere_rating(), 1) review2 = Review(vendor=vendor, approved=False, food_rating=4, atmosphere_rating=4, author=self.user) review2.save() self.assertEqual(vendor.food_rating(), 1) self.assertEqual(vendor.atmosphere_rating(), 1) review2.approved = True review2.save() # Floored Average self.assertEqual(vendor.food_rating(), 2) self.assertEqual(vendor.atmosphere_rating(), 2) review3 = Review(vendor=vendor, approved=True, food_rating=4, atmosphere_rating=4, author=self.user) review3.save() # Floored Average self.assertEqual(vendor.food_rating(), 3) self.assertEqual(vendor.atmosphere_rating(), 3)
def setUp(self): self.user = get_user() self.vendor = Vendor(name="Test Vendor", address="123 Main St") self.vendor.save() self.vegan_dish1 = VeganDish(name="Tofu Scramble") self.vegan_dish1.save() self.vegan_dish2 = VeganDish(name="Tempeh Hash") self.vegan_dish2.save() self.review1 = Review(vendor=self.vendor, author=self.user, content="ahhhh") self.review1.save() self.vendor.vegan_dishes.add(self.vegan_dish1) self.vendor.vegan_dishes.add(self.vegan_dish2)
class VendorVeganDishValidationTest(TestCase): """ Tests that trying to delete vegan dish relationships for vendors that have reviews will signal an error. """ def setUp(self): self.user = get_user() self.vendor = Vendor(name="Test Vendor", address="123 Main St") self.vendor.save() self.vegan_dish1 = VeganDish(name="Tofu Scramble") self.vegan_dish1.save() self.vegan_dish2 = VeganDish(name="Tempeh Hash") self.vegan_dish2.save() self.review1 = Review(vendor=self.vendor, author=self.user, content="ahhhh") self.review1.save() self.vendor.vegan_dishes.add(self.vegan_dish1) self.vendor.vegan_dishes.add(self.vegan_dish2) def test_can_delete_relationship_without_any_reviews(self): self.assertEqual(self.vendor.vegan_dishes.count(), 2) self.vendor.vegan_dishes.remove(self.vegan_dish1) self.assertEqual(self.vendor.vegan_dishes.count(), 1) def test_can_delete_relationship_with_reviews_on_other_vegan_dish(self): self.review1.best_vegan_dish = self.vegan_dish1 self.review1.save() self.assertEqual(self.vendor.vegan_dishes.count(), 2) self.vendor.vegan_dishes.remove(self.vegan_dish2) self.assertEqual(self.vendor.vegan_dishes.count(), 1) def test_can_clear_relationship_without_any_reviews(self): self.assertEqual(self.vendor.vegan_dishes.count(), 2) self.vendor.vegan_dishes.clear() self.assertEqual(self.vendor.vegan_dishes.count(), 0) def test_cant_clear_relationship_with_any_reviews(self): self.review1.best_vegan_dish = self.vegan_dish1 self.review1.save() self.assertRaises(ValidationError, self.vendor.vegan_dishes.clear) def test_cant_delete_relationship_with_reviews(self): self.review1.best_vegan_dish = self.vegan_dish1 self.review1.save() self.assertRaises(ValidationError, self.vendor.vegan_dishes.remove, self.vegan_dish1)