def get(self, request, *args, **kwargs): user, categories = request.user, request.GET.get("categories", []) coords = [ request.GET.get('latitude'), request.GET.get('longitude'), request.GET.get("radius", 25) ] today = date.today() start, end = request.GET.get("startDate", str(today)), request.GET.get( "endDate", str(today + timedelta(days=7))) meetup_type = request.GET.get('type', 'public') latitude, longitude, radius = get_user_coordinates(coords, request) if meetup_type == "public": meetups = Meetup.get_public(categories, coords, request, start, end) elif meetup_type == "private": meetups = Meetup.get_private(categories, coords, request, user, start, end) else: return Response(status=status.HTTP_400_BAD_REQUEST) meetups_json = {} if meetups: for meetup in meetups.all(): serializer = MeetupSerializer(meetup, context={"user": user}) meetups_json[meetup.uri] = serializer.data return Response({ "meetups": meetups_json, 'count': len(meetups_json), "coords": { "latitude": float(latitude), "longitude": float(longitude) } })
def test_get_private_meetups_no_categories(self): meetups = Meetup.get_private([], [34.228754, -118.2351192, 25], None, self.user, yesterday, tomorrow) self.assertEqual(meetups.count(), 1) self.assertEqual(meetups.first(), self.private)