Exemplo n.º 1
0
 def test_my_checkpoints(self):
     """
     unit test for get_my_checkpoints()
     """
     #test demo checkpoints
     user = self.create_saved_test_user()
     demo_cp_count = len(get_my_checkpoints(user.user_obj))
     assert demo_cp_count > 0
     
     user2 = self.create_saved_test_user_with_checkpoint()
     assert len(get_my_checkpoints(user2.user_obj)) == demo_cp_count + 1
Exemplo n.º 2
0
 def test_sort_checkpoints(self):
     """
     tests sort_checkpoints() method
     """
     user = self.create_saved_test_user()
     liker = self.create_saved_test_user()
     
     demo_cp = get_my_checkpoints(user.user_obj)
     
     #create various checkpoints (mocked data) for sorting
     cp_a_data = CheckpointTests.mock_checkpoint_data(user.user_obj.id, (0.0,0.0))
     cp_b_data = CheckpointTests.mock_checkpoint_data(user.user_obj.id, (1.0,1.0))
     cp_c_data = CheckpointTests.mock_checkpoint_data(user.user_obj.id, (2.0,2.0))
     
     #create them
     cp_a = add_checkpoint(*cp_a_data)
     time.sleep(1) #have to sleep since datetime doesnt seem to register millisecond differences
     cp_b = add_checkpoint(*cp_b_data)
     time.sleep(1)
     cp_c = add_checkpoint(*cp_c_data)
     ucp_a = add_checkpoint_to_user(user.user_obj, cp_a)
     ucp_b = add_checkpoint_to_user(user.user_obj, cp_b)
     ucp_c = add_checkpoint_to_user(user.user_obj, cp_c)
     
     #get all ucp
     ucp_lis = get_my_checkpoints(user.user_obj)
     assert len(ucp_lis) == 3 + len(demo_cp)
     
     #like checkpoints
     add_like(liker.user_obj, ucp_b)
     
     #sort nearest
     nearest_ucp = sort_checkpoints(ucp_lis, "nearest", longitude = 0.0, latitude = 0.0)
     assert nearest_ucp[0].id == ucp_a.id
     assert nearest_ucp[1].id == ucp_b.id
     assert nearest_ucp[2].id == ucp_c.id
     
     #sort newest
     newest_ucp = sort_checkpoints(ucp_lis, "newest")
     assert newest_ucp[0].id == ucp_c.id
     assert newest_ucp[1].id == ucp_b.id
     assert newest_ucp[2].id == ucp_a.id
     
     #sort popularity
     popular_ucp = sort_checkpoints(ucp_lis, "popular")
     assert popular_ucp[0].id == ucp_b.id
Exemplo n.º 3
0
def _my_checkpoints():
    """
    return all user checkpoints that belong to user
    as well as notifications on new comments, etc.
    """
    user_id = request.args.get("user_id")
    user = get_user(user_id)
    sort_method = request.args.get("sort_by", "newest") #can be newest, nearest, popular
    
    user_checkpoints = get_my_checkpoints(user)
    user_checkpoints = sort_checkpoints(user_checkpoints, sort_method, 
                                        longitude=float(request.args.get("longitude", 0.0)),
                                        latitude=float(request.args.get("latitude", 0.0))
                                        )
    
    
    return user_checkpoints