Esempio n. 1
0
    def test_places_nearby(self):
        with write() as session:
            session.add(PlaceCategory(name="test"))
            session.flush()
            session.add(
                Place(name="test",
                      place_category_id=1,
                      google_place_id="test",
                      coordinates=make_point(LOCATION2["lat"],
                                             LOCATION2["lng"])))
            session.flush()
            session.add(PlaceActivity(place_id=1, activity_id=1))
        self.start()

        # should return the place
        res = get("/app/activity/places",
                  dict(lat=LOCATION["lat"], lng=LOCATION["lng"], radius=200),
                  self.token)
        self.assertEqual(res.status_code, 200)
        data = res.get_json()["results"]
        self.assertEqual(len(data), 1)
        data = data[0]
        self.assertEqual(data["name"], "test")
        self.assertEqual(data["id"], 1)

        # too far
        res = get("/app/activity/places",
                  dict(lat=LOCATION["lat"], lng=LOCATION["lng"], radius=100),
                  self.token)
        self.assertEqual(res.status_code, 200)
        data = res.get_json()["results"]
        self.assertEqual(len(data), 0)
Esempio n. 2
0
 def start(self, from_place=False):
     with write() as session:
         session.add(PlaceCategory(name="test"))
         session.flush()
         session.add(
             Place(name="test",
                   google_place_id="test",
                   coordinates=make_point(PLACE_LOCATION["lat"],
                                          PLACE_LOCATION["lng"]),
                   place_category_id=1))
     post("/app/activity",
          data=dict(activity_id=1, location=LOCATION),
          token=self.token)
     post("/app/activity",
          data=dict(activity_id=1, location=LOCATION2),
          token=self.token_2)
     post("/app/chat/messages",
          dict(recipient_user_id=self.user_id_2, data=dict(text="test")),
          self.token)
     res = post("/app/meetups",
                data=dict(thread_id=1,
                          location=None if from_place else PLACE_LOCATION,
                          place_id=1 if from_place else None),
                token=self.token_2)
     self.assertEqual(res.status_code, 200)
     self.meetup_id = res.get_json()["id"]
Esempio n. 3
0
 def put_filter(self, filter: UserFilter):
     with write() as session:
         old = session.query(UserFilter).filter(
             UserFilter.user_id == filter.user_id).first()
         if old is not None:
             session.delete(old)
             session.flush()
         session.add(filter)
Esempio n. 4
0
 def test_send_place(self):
     with write() as session:
         session.add(PlaceCategory(name="test"))
         session.flush()
         session.add(
             Place(name="test", google_place_id="test", place_category_id=1))
     res = post("/app/chat/messages",
                dict(recipient_user_id=self.user_id_2, data=dict(place_id=1)), self.token)
     self.assertEqual(res.status_code, 200)
     self.assertEqual(res.get_json()["place_id"], 1)
Esempio n. 5
0
    def test_wrong_activity(self):
        with write() as session:
            session.add(PlaceCategory(name="test"))
            session.flush()
            session.add(
                Place(name="test",
                      place_category_id=1,
                      google_place_id="test",
                      coordinates=make_point(LOCATION2["lat"],
                                             LOCATION2["lng"])))
            session.flush()
            session.add(PlaceActivity(place_id=1, activity_id=1))
        self.start(2)

        res = get("/app/activity/places",
                  dict(lat=LOCATION["lat"], lng=LOCATION["lng"], radius=200),
                  self.token)
        self.assertEqual(res.status_code, 200)
        data = res.get_json()["results"]
        self.assertEqual(len(data), 0)
Esempio n. 6
0
    def test_place_interests(self):
        with write() as session:
            session.add(PlaceCategory(name="test"))
            session.flush()
            session.add(
                Place(name="test", google_place_id="test", place_category_id=1))
        self.start(1, 1)
        self.start(2, 1)

        # notify interest
        res = post("/app/activity/places/1/interests", dict(), self.token)
        self.assertEqual(res.status_code, 200)
        self.assertTrue(res.get_json()["success"])

        # self should not return results
        res = get("/app/activity/places/1/interests", dict(), self.token)
        self.assertEqual(res.status_code, 200)
        self.assertEqual(len(res.get_json()["results"]), 0)

        # for other should return 1 result
        res = get("/app/activity/places/1/interests", dict(), self.token_2)
        self.assertEqual(res.status_code, 200)
        results = res.get_json()["results"]
        self.assertEqual(len(results), 1)

        # results should be the user status
        status = get("/app/activity/users/1", dict(), self.token_2).get_json()
        self.assertDictEqual(results[0], status)

        # remove interest
        res = delete("/app/activity/places/1/interests", dict(), self.token)
        self.assertEqual(res.status_code, 200)
        self.assertTrue(res.get_json()["success"])

        # should no longer appear for other
        res = get("/app/activity/places/1/interests", dict(), self.token_2)
        self.assertEqual(res.status_code, 200)
        self.assertEqual(len(res.get_json()["results"]), 0)