def get_venues(query: VenueListQueryModel) -> GetVenueListResponseModel: venue_list = offerers_repository.get_filtered_venues( pro_user_id=current_user.id, user_is_admin=current_user.isAdmin, active_offerers_only=query.active_offerers_only, offerer_id=query.offerer_id, validated_offerer=query.validated, validated_offerer_for_user=query.validated_for_user, ) return GetVenueListResponseModel( venues=[ VenueListItemResponseModel( id=venue.id, managingOffererId=venue.managingOfferer.id, name=venue.name, offererName=venue.managingOfferer.name, publicName=venue.publicName, isVirtual=venue.isVirtual, bookingEmail=venue.bookingEmail, withdrawalDetails=venue.withdrawalDetails, audioDisabilityCompliant=venue.audioDisabilityCompliant, mentalDisabilityCompliant=venue.mentalDisabilityCompliant, motorDisabilityCompliant=venue.motorDisabilityCompliant, visualDisabilityCompliant=venue.visualDisabilityCompliant, ) for venue in venue_list ] )
def test_empty_return_value(self, app): # given pro_user = users_factories.ProFactory(email="*****@*****.**") # when venue_list = offerers_repository.get_filtered_venues( pro_user_id=pro_user.id, user_is_admin=False) # then assert len(venue_list) == 0
def test_get_all_not_validated_venues(self, app): # given admin = users_factories.AdminFactory() venues = self._setup_venues_for_users() # when venue_list = offerers_repository.get_filtered_venues( pro_user_id=admin.id, user_is_admin=True, validated_offerer=False) # then assert len(venue_list) == 2 venue_ids = [venue.id for venue in venue_list] assert venues["venue_not_validated"].id in venue_ids assert venues["other_venue_not_validated"].id in venue_ids
def test_get_all_venues_from_active_and_inactive_offerers(self, app): # given pro_user = users_factories.ProFactory() venues = self._setup_venues_for_pro_user(pro_user) # when venue_list = offerers_repository.get_filtered_venues( pro_user_id=pro_user.id, user_is_admin=False, active_offerers_only=False, ) # then assert len(venue_list) == 5 venue_ids = [venue.id for venue in venue_list] assert venues["venue_from_inactive_offerer"].id in venue_ids
def test_get_all_not_validated_for_user_venues(self, app): # given pro_user = users_factories.ProFactory() venues = self._setup_venues_for_pro_user(pro_user) # when venue_list = offerers_repository.get_filtered_venues( pro_user_id=pro_user.id, user_is_admin=False, validated_offerer_for_user=False, ) # then assert len(venue_list) == 1 venue_ids = [venue.id for venue in venue_list] assert venues["owned_venue_not_validated_for_user"].id in venue_ids
def test_get_venues_for_offerer_id(self, app): # given pro_user = users_factories.ProFactory() venues = self._setup_venues_for_pro_user(pro_user) expected_venue = venues["owned_venue_validated"] # when venue_list = offerers_repository.get_filtered_venues( pro_user_id=pro_user.id, user_is_admin=False, offerer_id=expected_venue.managingOfferer.id, ) # then assert len(venue_list) == 1 venue_ids = [venue.id for venue in venue_list] assert expected_venue.id in venue_ids
def test_return_value_and_order(self, app): # given pro_user = users_factories.ProFactory(email="*****@*****.**") offerer = offers_factories.OffererFactory() offers_factories.UserOffererFactory(user=pro_user, offerer=offerer) venue_2 = offers_factories.VenueFactory(name="BB - name", managingOfferer=offerer) venue_1 = offers_factories.VenueFactory(name="AA - name", managingOfferer=offerer) venue_3 = offers_factories.VenueFactory(name="CC - name", managingOfferer=offerer) # when venue_list = offerers_repository.get_filtered_venues( pro_user_id=pro_user.id, user_is_admin=False) # then assert len(venue_list) == 3 assert venue_list[0] == venue_1 assert venue_list[1].name == venue_2.name assert venue_list[2].name == venue_3.name