def _search_checkpoints(): """ A simple implementation of keyword search for Checkpoint. Append a wildcard to the left and right of the phrase, and search Checkpoint's Description, Name, and User's name (Facebook name) """ user_id = request.args.get("user_id") search_term = request.args.get("keyword").strip() user = get_user(user_id) search_results = search_user_checkpoints(user, search_term) return search_results
def test_search_user_checkpoints(self): """ unit test for search_user_checkpoints() """ user_a = self.create_saved_test_user_with_checkpoint() user_b = self.create_saved_test_user_with_checkpoint() user_c = self.create_saved_test_user_with_checkpoint() self.befriend_test_user(user_a, [user_b]) #search user_a facebook name user_a_fb_name = user_a.user_obj.facebook_user.name res = search_user_checkpoints(user_a.user_obj, user_a_fb_name) assert len(res) == 1 and res[0] == user_a.user_checkpoint_obj #search by desc desc = user_b.checkpoint_obj.description res = search_user_checkpoints(user_a.user_obj, desc) assert len(res) == 1 and res[0] == user_b.user_checkpoint_obj #search by name name = user_b.checkpoint_obj.name res = search_user_checkpoints(user_a.user_obj, name) assert len(res) == 1 and res[0] == user_b.user_checkpoint_obj