Example #1
0
    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)
Example #2
0
    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)
Example #3
0
    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)
Example #4
0
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)