def setUp(self): main.app.testing = True self.app = main.app.test_client() self.userIds = ["testuid1", "testuid2"] self.from_location: UserLocation = LocationFactory.from_pickup_address("Tenaya Hall, San Diego, CA 92161") self.from_location.save() self.sublocation = Sublocation.get_with_latlng( latitude=self.from_location.latitude, longitude=self.from_location.longitude ) self.sublocation.save() testing_utils._wait() UserLocation.add_sublocation_with_id( self.from_location.doc_id, [self.sublocation.doc_id], ) self.to_location = LocationFactory.from_pickup_address("Tioga Hall, San Diego, CA 92161") self.to_location.save() testing_utils._wait() UserLocation.add_sublocation_with_id( self.to_location.doc_id, [self.sublocation.doc_id] ) self.users = { user_id: User.new(doc_id=user_id, name="My Name", email=f"{user_id}@myemail.com") for user_id in self.userIds } _ = [user.save() for _, user in self.users.items()] self.ride_host = RideHost.new( doc_id="tmp_ride_host_1", earliest_departure=1419851578, from_location=self.from_location, to_location=self.to_location, user_id=self.userIds[0], status="created" ) self.ride_host.save() self.rider_booking = RiderBooking.new( doc_id="tmp_rider_booking_1", earliest_departure=1419851578, from_location=self.from_location, to_location=self.to_location, user_id=self.userIds[1], status="created" ) self.rider_booking.save()
def test_create(self): main.user_sublocation_mediator.start() main.user_location_mediator.start() main.user_location_view_mediator.start() doc_ref: firestore.DocumentReference = \ CTX.db.document(self.expected_path) form = { 'latitude': 32.8794203, 'longitude': -117.2428555, 'address': 'Tenaya Hall, San Diego, CA 92161', 'placeId': 'test_place_id_1', } doc_ref.create( document_data=form ) testing_utils._wait() user_location = UserLocation.get(doc_id=self.doc_id) d = user_location.to_dict() assert d.items() >= {'obj_type': 'UserLocation', 'placeId': 'test_place_id_1', 'sublocations': [], 'doc_id': 'test_doc_id_1', 'userId': 'user_id_1', 'doc_ref': 'locations/test_doc_id_1', 'coordinates': {'longitude': -117.2428555, 'latitude': 32.8794203}, 'address': 'Tenaya Hall, San Diego, CA 92161'}.items()
def test_view(self): main.user_sublocation_mediator.start() main.user_location_mediator.start() main.user_location_view_mediator.start() doc_ref = CTX.db.document(self.user_location_path) doc_ref.set( document_data={'placeId': 'test_place_id_1', 'userId': 'user_id_1', 'longitude': -117.2428555, 'latitude': 32.8794203, 'address': 'Tenaya Hall, San Diego, CA 92161', 'id': 'test_doc_id_1', } ) testing_utils._wait() snapshot = UserLocation.ref_from_id(doc_id=self.user_location_id).get() obj = UserLocationView.new( snapshot=snapshot ) assert obj.to_dict().items() >= { 'id': 'test_doc_id_1', 'address': 'Tenaya Hall, San Diego, CA 92161', 'latitude': 32.8794203, 'longitude': -117.2428555, 'placeId': 'test_place_id_1', 'sublocations': [] }.items()
def test_create(self): main.user_sublocation_mediator.start() main.user_location_mediator.start() main.user_location_view_mediator.start() doc_ref = CTX.db.document(self.user_location_path) UserLocation.new(doc_id=self.user_location_id, user_id=self.user_id, **{ 'coordinates': { 'longitude': -117.2428555, 'latitude': 32.8794203}, 'address': 'Tenaya Hall, San Diego, CA 92161'} ).save() testing_utils._wait() sublocation_ref = CTX.db.document(self.expected_path) sublocation_ref.create( document_data={ 'latitude': 32.87952213052025, 'longitude': -117.2436009719968, } ) # Tests that a new location is created testing_utils._wait() sublocation = Sublocation.get(doc_id=self.doc_id) d = sublocation.to_dict() assert d == {'coordinates': {'longitude': -117.2436009719968, 'latitude': 32.87952213052025}, 'doc_id': 'sublocation_id', 'obj_type': 'Sublocation', 'doc_ref': 'locations/sublocation_id', 'address': 'Scholars Dr S, San Diego, CA 92161, USA'} # Tests that the new location is registered as a sublocation # of the parent UserLocation user_location = UserLocation.get(doc_id=self.user_location_id) d = user_location.to_dict() assert d["sublocations"] == [sublocation.doc_ref] testing_utils._wait()
def test_view_with_sublocation(self): main.user_sublocation_mediator.start() main.user_location_mediator.start() main.user_location_view_mediator.start() doc_ref = CTX.db.document(self.user_location_path) doc_ref.set( document_data={'placeId': 'test_place_id_1', 'userId': 'user_id_1', 'longitude': -117.2428555, 'latitude': 32.8794203, 'address': 'Tenaya Hall, San Diego, CA 92161', 'id': 'test_doc_id_1', } ) testing_utils._wait() sublocation_ref = CTX.db.document(self.expected_path) sublocation_ref.create( document_data={ 'latitude': 32.87952213052025, 'longitude': -117.2436009719968, } ) testing_utils._wait() snapshot = UserLocation.ref_from_id(doc_id=self.user_location_id).get() obj = UserLocationView.new( snapshot=snapshot ) assert obj.to_dict().items() >= { 'id': 'test_doc_id_1', 'address': 'Tenaya Hall, San Diego, CA 92161', 'latitude': 32.8794203, 'longitude': -117.2428555, 'placeId': 'test_place_id_1', 'sublocations': [ {'address': 'Scholars Dr S, San Diego, CA 92161, USA', 'coordinates': {'latitude': 32.87952213052025, 'longitude': -117.2436009719968}, 'doc_id': 'sublocation_id', 'doc_ref': 'locations/sublocation_id', 'obj_type': 'Sublocation'}] }.items()
def propagate_change(self): self.location.save() UserLocation.add_sublocation(location=self.user_location, sublocations=[self.location])
def new(cls, *args, doc_id=None, user_location_id=None, **kwargs): return super().new( *args, user_location=UserLocation.get(doc_id=user_location_id), location=Sublocation.new(doc_id=doc_id), **kwargs)
def new(cls, *args, user_id=None, doc_id=None, **kwargs): return super().new(*args, user_location=UserLocation.new(user_id=user_id, doc_id=doc_id), **kwargs)
instance_get_view=rider_booking_mediator._default_instance_get_view()) user_booking_mediator = UserBookingEditMediator( query=Context.db.collection_group("bookings_POST")) user_hosting_mediator = UserHostingEditMediator( query=Context.db.collection_group("hostings_POST")) user_location_mediator = UserLocationFormMediator( query=Context.db.collection_group("locations_POST")) user_sublocation_mediator = UserSublocationFormMediator( query=Context.db.collection_group("sublocations_POST")) user_location_view_mediator = UserLocationViewMediator( query=UserLocation.get_query()) booking_mediator = UserBookingMediator(query=RiderBooking.get_query()) ride_host_mediator = \ RHMediator(view_model_cls=RideHostForm, app=app, mutation_cls=RideHostMutation) ride_host_mediator.add_list_post( rule='/rideHosts', list_post_view=ride_host_mediator._default_list_post_view()) hosting_mediator = UserHostingMediator(query=RideHost.get_query()) # target_match_mediator = TargetMatchMediator( # query=RiderTarget.get_query() # )
def setUp(self): self.arr = [[12000000, 12005000, 32.8802438, -117.2426505, 'A'], [12000000, 12005000, 32.8796722, -117.2414153, 'B'], [12000000, 12005000, 32.8687404, -117.2306258, 'C'], [12005000, 12006000, 32.8805864, -117.2318744, 'D'], [12007000, 12009000, 32.83228020000001, -117.1480747, 'E'], [12009001, 12009900, 32.8255484, -117.1543703, 'F'], [11000000, 11009000, 32.8248571, -117.1559327, 'G']] arr = self.arr rideRequests = list() configs = list() configs_other = [[12000000, 12005000, 'A'], [12000000, 12005000, 'B'], [12000000, 12005000, 'C'], [12005000, 12006000, 'D'], [12007000, 12009000, 'E'], [12009001, 12009900, 'F'], [11000000, 11009000, 'G']] addresses = [ # These are ucsd addresed "9500 Gilman Dr, La Jolla, CA 92093", "Muir Ln, San Diego, CA 92161", "8825 Villa La Jolla Dr, La Jolla, CA 92037", # Whole foods "3390 Voigt Dr, San Diego, CA 92121", # Canyonview Aquatic Center # These are Kearny Mesa Addressed "8199 Clairemont Mesa Blvd Suite H, San Diego, CA 92111", # Camellia "4681 Convoy St, San Diego, CA 92111", # Tajima Japanese Restaurant "4646 Convoy St, San Diego, CA 92111" # Tasty Noodle House ] locations_ds = [ {'locationCategory': 'user', 'coordinates': {'latitude': 32.8802438, 'longitude': -117.2426505}, 'address': '9500 Gilman Dr, La Jolla, CA 92093'}, {'locationCategory': 'user', 'coordinates': {'latitude': 32.8796722, 'longitude': -117.2414153}, 'address': 'Muir Ln, San Diego, CA 92161'}, {'locationCategory': 'user', 'coordinates': {'latitude': 32.8687404, 'longitude': -117.2306258}, 'address': '8825 Villa La Jolla Dr, La Jolla, CA 92037'}, {'locationCategory': 'user', 'coordinates': {'latitude': 32.8805864, 'longitude': -117.2318744}, 'address': '3390 Voigt Dr, San Diego, CA 92121'}, {'locationCategory': 'user', 'coordinates': {'latitude': 32.83228020000001, 'longitude': -117.1480747}, 'address': '8199 Clairemont Mesa Blvd Suite H, San Diego, CA 92111'}, {'locationCategory': 'user', 'coordinates': {'latitude': 32.8255484, 'longitude': -117.1543703}, 'address': '4681 Convoy St, San Diego, CA 92111'}, {'locationCategory': 'user', 'coordinates': {'latitude': 32.8248571, 'longitude': -117.1559327}, 'address': '4646 Convoy St, San Diego, CA 92111'}, ] for i in range(len(configs_other)): earliest, latest, firestoreRef = configs_other[i] address = addresses[i] location_d = locations_ds[i] ride_request = test.store.model.getMockRideRequest( earliest=earliest, latest=latest, firestoreRef=firestoreRef, returnDict=False) # Generate Test Locations location = UserLocation.from_dict(location_d) location.save() ref = location.doc_ref ride_request.origin_ref = ref rideRequests.append(ride_request) self.ride_requests = rideRequests
def tearDown(self) -> None: CTX.db.document(self.expected_path).delete() UserLocation.ref_from_id(self.doc_id).delete()
def test_new(self): obj = UserLocation.new(coordinates={ "latitude": 32.8794203, "longitude": -117.2428555 }, address="Tenaya Hall, San Diego, CA 92161") assert obj.address == "Tenaya Hall, San Diego, CA 92161"