Ejemplo n.º 1
0
    def test_should_not_get_offers_on_things(self, app):
        # Given
        offerer = create_offerer()
        venue = create_venue(offerer)
        offer = create_offer_with_thing_product(venue)
        stock = create_stock(beginning_datetime=None, offer=offer)

        repository.save(stock)

        # When
        offers = build_query_offers_with_max_stock_date_between_today_and_end_of_quarantine(
            FIRST_DAY_AFTER_QUARANTINE, TODAY).all()

        # Then
        assert offers == []
Ejemplo n.º 2
0
    def test_should_get_offer_with_a_date_between_today_and_15_04(self, app):
        # Given
        offerer = create_offerer()
        venue = create_venue(offerer)
        offer = create_offer_with_event_product(venue)
        stock = create_stock(beginning_datetime=datetime(2020, 4, 15, 23, 59),
                             offer=offer)

        repository.save(stock)

        # When
        offers = build_query_offers_with_max_stock_date_between_today_and_end_of_quarantine(
            FIRST_DAY_AFTER_QUARANTINE, TODAY).all()

        # Then
        assert offers == [offer]
def fetch_user_emails_for_offers_with_max_stock_date_between_today_and_end_of_quarantine(
    first_day_after_quarantine: datetime, today: datetime
):
    offers_query = build_query_offers_with_max_stock_date_between_today_and_end_of_quarantine(
        first_day_after_quarantine, today
    )
    users_info = (
        offers_query.join(Venue)
        .join(Offerer)
        .join(UserOfferer)
        .join(User)
        .distinct(User.email)
        .with_entities(User.email)
        .all()
    )

    return [user_info.email for user_info in users_info]
Ejemplo n.º 4
0
    def test_should_not_get_offers_with_dates_only_before_today(self, app):
        # Given
        yesterday = TODAY - timedelta(days=1)

        offerer = create_offerer()
        venue = create_venue(offerer)
        offer = create_offer_with_event_product(venue)
        stock = create_stock(beginning_datetime=yesterday, offer=offer)

        repository.save(stock)

        # When
        offers = build_query_offers_with_max_stock_date_between_today_and_end_of_quarantine(
            FIRST_DAY_AFTER_QUARANTINE, TODAY).all()

        # Then
        assert offers == []