Esempio n. 1
0
    def test_should_return_true_when_stock_is_unlimited(self, app):
        # Given
        stock = offers_factories.ThingStockFactory(offer__isActive=True,
                                                   price=0,
                                                   quantity=None)
        bookings_factories.IndividualBookingFactory(stock=stock, quantity=2)

        # When
        is_active = _is_offer_active_for_recap(stock)

        # Then
        assert is_active
Esempio n. 2
0
    def test_should_return_false_when_stock_booking_limit_is_past(self, app):
        # Given
        stock = offers_factories.EventStockFactory(
            offer__isActive=True,
            price=0,
            quantity=2,
            bookingLimitDatetime=datetime.now() - timedelta(days=6))
        bookings_factories.IndividualBookingFactory(stock=stock, quantity=2)

        # When
        is_active = _is_offer_active_for_recap(stock)

        # Then
        assert not is_active
Esempio n. 3
0
    def test_should_return_false_when_offer_is_not_active(self, app):
        # Given
        event_date = datetime.now() + timedelta(days=6)
        stock = offers_factories.EventStockFactory(
            offer__isActive=False,
            quantity=2,
            bookingLimitDatetime=event_date,
            beginningDatetime=event_date)

        # When
        is_active = _is_offer_active_for_recap(stock)

        # Then
        assert not is_active
    def test_should_return_true_when_stock_is_unlimited(self, app):
        # Given
        user = create_user()
        offerer = create_offerer()
        venue = create_venue(offerer)
        offer = create_offer_with_thing_product(venue, is_active=True)
        stock = create_stock_from_offer(offer, price=0, quantity=None)
        booking = create_booking(user=user, stock=stock, quantity=2)
        repository.save(booking)

        # When
        is_active = _is_offer_active_for_recap(stock)

        # Then
        assert is_active
    def test_should_return_false_when_offer_is_not_active(self, app):
        # Given
        offerer = create_offerer()
        venue = create_venue(offerer)
        offer = create_offer_with_thing_product(venue, is_active=False)
        stock = create_stock_from_offer(offer,
                                        quantity=2,
                                        booking_limit_datetime=datetime.now() +
                                        timedelta(days=6))
        repository.save(stock)

        # When
        is_active = _is_offer_active_for_recap(stock)

        # Then
        assert not is_active
Esempio n. 6
0
    def test_should_return_false_when_stock_has_no_remaining_quantity(
            self, app):
        # Given
        event_date = datetime.now() + timedelta(days=6)
        stock = offers_factories.EventStockFactory(
            offer__isActive=True,
            price=0,
            quantity=2,
            bookingLimitDatetime=event_date,
            beginningDatetime=event_date)
        bookings_factories.IndividualBookingFactory(stock=stock, quantity=2)

        # When
        is_active = _is_offer_active_for_recap(stock)

        # Then
        assert not is_active
    def test_should_return_false_when_stock_booking_limit_is_past(self, app):
        # Given
        user = create_user()
        offerer = create_offerer()
        venue = create_venue(offerer)
        offer = create_offer_with_thing_product(venue, is_active=True)
        stock = create_stock_from_offer(offer,
                                        price=0,
                                        quantity=2,
                                        booking_limit_datetime=datetime.now() -
                                        timedelta(days=6))
        booking = create_booking(user=user, stock=stock, quantity=2)
        repository.save(booking)

        # When
        is_active = _is_offer_active_for_recap(stock)

        # Then
        assert not is_active