Ejemplo n.º 1
0
 def test_is_satisfied_success(self):
     """
     Test `ManualEnrollmentOrderDiscountCondition.is_satisfied` works as expected when condition satisfies.
     """
     self.basket.add_product(self.seat_product)
     offer = ManualEnrollmentOrderOfferFactory()
     status = self.condition.is_satisfied(offer, self.basket)
     assert status
Ejemplo n.º 2
0
 def test_is_satisfied_with_wrong_path_info(self):
     """
     Test `ManualEnrollmentOrderDiscountCondition.is_satisfied` works as expected when request path_info is wrong.
     """
     with patch('crum.get_current_request') as request_patcher:
         request_patcher.return_value = RequestFactory().post('some_view_path')
         offer = ManualEnrollmentOrderOfferFactory()
         self.basket.add_product(self.seat_product)
         status = self.condition.is_satisfied(offer, self.basket)
         assert not status
Ejemplo n.º 3
0
    def test_is_satisfied_with_non_seat_type_product(self):
        """
        Test `ManualEnrollmentOrderDiscountCondition.is_satisfied` works as expected when there basket contains
        non seat type product.
        """
        product = ProductFactory()
        self.basket.add_product(product)

        offer = ManualEnrollmentOrderOfferFactory()
        status = self.condition.is_satisfied(offer, self.basket)
        assert not status
Ejemplo n.º 4
0
    def test_is_satisfied_with_wrong_order_lines(self):
        """
        Test `ManualEnrollmentOrderDiscountCondition.is_satisfied` works as expected when there wrong
        number of order lines.
        """
        for seat_product in self.course.seat_products:
            self.basket.add_product(seat_product)

        offer = ManualEnrollmentOrderOfferFactory()
        status = self.condition.is_satisfied(offer, self.basket)
        assert not status
Ejemplo n.º 5
0
    def test_is_satisfied_with_non_verified_seat_type_product(self):
        """
        Test `ManualEnrollmentOrderDiscountCondition.is_satisfied` works as expected when there basket contains
        seat type product but seat is not verified.
        """
        seat_product = self.course.seat_products.filter(
            attribute_values__value_text='audit'
        ).first()

        self.basket.add_product(seat_product)

        offer = ManualEnrollmentOrderOfferFactory()
        status = self.condition.is_satisfied(offer, self.basket)
        assert not status