def test_get_like_by_user_2(self) -> None: """ Test get_like_by_user: user doesn’t exist """ Like.create_like(Like(self.user, self.event)) likes = Like.get_like_by_user('1') events = [like.event for like in likes] self.assertListEqual(events, [])
def test_get_like_by_user_1(self) -> None: """ Test get_like_by_user: user exists """ Like.create_like(Like(self.user, self.event)) likes = Like.get_like_by_user(self.user) events = [like.event for like in likes] self.assertListEqual(events, [self.event])
def get_all_ongoing_event_by_user(email: str): """ :param email: Email of user :return: A list of event which is ongoing, and is attended by user. """ likes = Like.get_like_by_user(email) liked_events = set(like.event for like in likes) cnx = db_connector.get_connection() cursor = cnx.cursor() query = ("SELECT * FROM `event` " "WHERE `id` IN " "(SELECT `event` FROM `join` WHERE `user` = '" + email + "') and `time` >= now();") cursor.execute(query) events = [] for (event_id, name, host, address, longitude, latitude, zipcode, event_time, description, image, num_likes, category) in cursor: new_event = Event(user=host, name=name, address=address, longitude=longitude, latitude=latitude, zipcode=zipcode, event_time=datetime.datetime.strptime( str(event_time), "%Y-%m-%d %H:%M:%S")) new_event.event_id = event_id new_event.description = description new_event.image = image new_event.num_likes = num_likes new_event.category = category if event_id in liked_events: new_event.liked = True new_event.attended = True events.append(new_event) cursor.close() cnx.close() # return json.dumps([ob.__dict__ for ob in events], use_decimal=True, default=str) return events
def get_all_event_created_by_user(email: str): """ :param email: Email of user :return: A list of event which is created by the given user. """ likes = Like.get_like_by_user(email) liked_events = set(like.event for like in likes) cnx = db_connector.get_connection() cursor = cnx.cursor() query = ("SELECT * FROM `event` WHERE host='" + email + "'") cursor.execute(query) events = [] for (event_id, name, host, address, longitude, latitude, zipcode, event_time, description, image, num_likes, category) in cursor: new_event = Event(user=host, name=name, address=address, longitude=longitude, latitude=latitude, zipcode=zipcode, event_time=datetime.datetime.strptime( str(event_time), "%Y-%m-%d %H:%M:%S")) new_event.event_id = event_id new_event.description = description new_event.image = image new_event.category = category new_event.num_likes = num_likes if event_id in liked_events: new_event.liked = True new_event.attended = True events.append(new_event) cursor.close() cnx.close() return events