def test_create_category(): cat = model.category.Category() cat.label = 'HOUSE' cat_id = cat.save() new_cat = model.category.Category(cat_id) assert_eq('HOUSE', new_cat.label)
def test_all_listings(): user_id = db.mock_data.create_fake_user() assert_eq(len(model.listing.get_all_listings()), 0) model.listing.create_new_listing( 'title', 'description', user_id) assert_eq(len(model.listing.get_all_listings()), 1)
def test_get_comments_for_listing(): uid = db.mock_data.create_fake_user() lid = db.mock_data.create_fake_listings(uid) assert_eq(0, len(model.comment.get_comments_for_listing(lid))) comment = model.comment.Comment() comment.lid = lid comment.uid = uid comment.body = 'This is my comment' cid1 = comment.save() assert_eq(1, len(model.comment.get_comments_for_listing(lid))) comment = model.comment.Comment() comment.lid = lid comment.uid = uid comment.body = 'This is my second comment' cid2 = comment.save() assert_eq(2, len(model.comment.get_comments_for_listing(lid))) lid2 = db.mock_data.create_fake_listings(uid) comment = model.comment.Comment() comment.lid = lid2 comment.uid = uid comment.body = 'This is my other comment' cid3 = comment.save() assert_eq(2, len(model.comment.get_comments_for_listing(lid))) assert_eq(1, len(model.comment.get_comments_for_listing(lid2)))
def test_non_existent_user(): assert_eq(model.user.get_number_of_users(), 0) user = model.user.User(10) assert not user.name assert not user.email user = model.user.User() assert not user.name assert not user.email
def test_add_listing_to_category(): uid = db.mock_data.create_fake_user() lid = db.mock_data.create_fake_listings(uid) cat = model.category.Category() cat.label = 'HOUSE' cat_id = cat.save() assert_eq(0, len(model.category.listing_categories(lid))) model.category.add_listing_to_category(lid, cat_id) assert_eq(1, len(model.category.listing_categories(lid)))
def test_user_creation(): assert_eq(model.user.get_number_of_users(), 0) user_id = model.user.create_new_user('michael', '*****@*****.**', 'mypassword') assert_eq(model.user.get_number_of_users(), 1) user = model.user.User(user_id) assert_eq(user.id, user_id) assert_eq(user.name, 'michael') assert_eq(user.email, '*****@*****.**')
def test_listing_search_query_trigger_delete(): user_id = db.mock_data.create_fake_user() listing_ids = [] for title, description in listings: ids = model.listing.create_new_listing(title, description, user_id) listing_ids.append(ids) for listing_id in listing_ids: l = model.listing.Listing(listing_id) l.delete() assert_eq(0, len(model.search.all_listing_search_entries()))
def test_cat_ids_to_labels(): uid = db.mock_data.create_fake_user() lid = db.mock_data.create_fake_listings(uid) cat_ids = [] for label in ['HOUSE', "ASDF"]: cat = model.category.Category() cat.label = label cat_id = cat.save() cat_ids.append(cat_id) assert_eq(['HOUSE', 'ASDF'], model.category.cat_ids_to_labels(cat_ids))
def test_create_or_retrieve_category(): uid = db.mock_data.create_fake_user() lid = db.mock_data.create_fake_listings(uid) cat = model.category.Category() cat.label = 'HOUSE' cat_id = cat.save() assert_eq(cat_id, model.category.create_or_retrieve_category('HOUSE')) cat_id2 = model.category.create_or_retrieve_category('APPLE') assert_eq('APPLE', model.category.Category(cat_id2).label)
def test_get_listings_info(): user_id = db.mock_data.create_fake_user() assert_eq(model.user.get_number_of_users(), 1) ids = [] for i in xrange(2): listing = model.listing.Listing() listing.title = 'My awesome thing.' listing.description = 'Blah blah' listing.owner_id = user_id listing_id = listing.save() ids.append(listing_id) print ids, model.listing.get_listings_info(ids) assert_eq( ids, [x['lid'] for x in model.listing.get_listings_info(ids)])
def test_create_listing(): user_id = db.mock_data.create_fake_user() assert_eq(model.user.get_number_of_users(), 1) listing = model.listing.Listing() listing.title = 'My awesome thing.' listing.description = 'Blah blah' listing.owner_id = user_id listing_id = listing.save() new_listing_obj = model.listing.Listing(listing_id) assert_eq(new_listing_obj.title, 'My awesome thing.') assert_eq(new_listing_obj.description, 'Blah blah') assert_eq(new_listing_obj.owner_id, user_id)
def test_get_lids_by_cat_id(): uid = db.mock_data.create_fake_user() lid1 = db.mock_data.create_fake_listings(uid) lid2 = db.mock_data.create_fake_listings(uid) cat_id = model.category.create_or_retrieve_category('TMP') assert_eq(0, len(model.listing.get_lids_by_cat_ids([cat_id], 20))) model.category.add_listing_to_category(lid1, cat_id) model.category.add_listing_to_category(lid2, cat_id) assert_eq(2, len(model.listing.get_lids_by_cat_ids([cat_id], 20))) lids = model.listing.get_lids_by_cat_ids([cat_id], 20) assert_eq(lid2, lids[0]) assert_eq(lid1, lids[1])
def test_get_comments_for_listing_reverse_time_order(): uid = db.mock_data.create_fake_user() lid = db.mock_data.create_fake_listings(uid) assert_eq(0, len(model.comment.get_comments_for_listing(lid))) comment = model.comment.Comment() comment.lid = lid comment.uid = uid comment.body = 'This is my comment' cid1 = comment.save() assert_eq(1, len(model.comment.get_comments_for_listing(lid))) comment = model.comment.Comment() comment.lid = lid comment.uid = uid comment.body = 'This is my second comment' cid2 = comment.save() assert_eq(2, len(model.comment.get_comments_for_listing(lid))) comments = model.comment.get_comments_for_listing(lid, False) assert_eq(cid2, comments[0]['cid']) assert_eq(cid1, comments[1]['cid'])
def test_update_listing(): user_id = db.mock_data.create_fake_user() assert_eq(model.user.get_number_of_users(), 1) listing = model.listing.Listing() listing.title = 'My awesome thing.' listing.description = 'Blah blah' listing.owner_id = user_id listing_id = listing.save() assert_eq(listing.id, listing_id) listing.title = 'Another title.' listing.save() assert_eq(listing.title, 'Another title.') assert_eq(listing.title, 'Another title.')
def test_number_of_listings(): user_id = db.mock_data.create_fake_user() assert_eq(model.listing.get_number_of_listings(), 0) model.listing.create_new_listing( 'title', 'description', user_id) assert_eq(model.listing.get_number_of_listings(), 1) for _ in xrange(5): model.listing.create_new_listing( 'title', 'description', user_id) assert_eq(model.listing.get_number_of_listings(), 6)
def test_create_comment(): uid = db.mock_data.create_fake_user() lid = db.mock_data.create_fake_listings(uid) comment = model.comment.Comment() comment.lid = lid comment.uid = uid comment.body = 'This is my comment' cid = comment.save() new_comment_obj = model.comment.Comment(cid) assert_eq('This is my comment', new_comment_obj.body) assert_eq(uid, new_comment_obj.uid) assert_eq(lid, new_comment_obj.lid)
def test_cant_change_owner(): user_id = db.mock_data.create_fake_user() assert_eq(model.user.get_number_of_users(), 1) listing = model.listing.Listing() listing.title = 'My awesome thing.' listing.description = 'Blah blah' listing.owner_id = user_id listing_id = listing.save() assert_eq(listing.id, listing_id) listing.owner_id = 2 listing.save() # Unchanged. assert_eq(listing.owner_id, user_id)
def test_listing_search_query_trigger_update(): user_id = db.mock_data.create_fake_user() listing_ids = [] for title, description in listings: ids = model.listing.create_new_listing(title, description, user_id) listing_ids.append(ids) for listing_id in listing_ids: l = model.listing.Listing(listing_id) if l.title == "pear": l.title = "mango" if "apple" in l.description: l.description = "pineapple" l.save() assert_eq(3, len(model.search.listings('pineapple', 20))) assert_eq(2, len(model.search.listings('mango', 20))) assert_eq(2, len(model.search.listings('pear', 20)))
def test_listing_search_query(): user_id = db.mock_data.create_fake_user() for title, description in listings: model.listing.create_new_listing(title, description, user_id) assert_eq(3, len(model.search.listings('apple', 20))) assert_eq(3, model.search.listings_count('apple')) assert_eq(3, len(model.search.listings('orange', 20))) assert_eq(3, model.search.listings_count('orange')) assert_eq(4, len(model.search.listings('pear', 20))) assert_eq(4, model.search.listings_count('pear')) assert_eq(4, len(model.search.listings('peach', 20))) assert_eq(4, model.search.listings_count('peach')) assert_eq(0, len(model.search.listings('grapes', 20))) assert_eq(0, model.search.listings_count('grapes'))
def test_listing_search_triggers(): user_id = db.mock_data.create_fake_user() for title, description in listings: model.listing.create_new_listing(title, description, user_id) assert_eq(6, len(model.search.all_listing_search_entries()))
def test_get_latest_listings(): user_id = db.mock_data.create_fake_user() assert_eq(len(model.listing.get_latest_listings(20)), 0) lid = model.listing.create_new_listing( 'title1', 'description', user_id) assert_eq(len(model.listing.get_latest_listings(20)), 1) model.listing.create_new_listing( 'title2', 'description', user_id) model.listing.create_new_listing( 'title3', 'description', user_id) assert_eq(len(model.listing.get_latest_listings(20)), 3) last_two_listings = model.listing.get_latest_listings(2) assert_eq(len(last_two_listings), 2) assert_eq(last_two_listings[0]['title'], 'title3') assert_eq(last_two_listings[1]['title'], 'title2')
def test_user_update_and_save(): assert_eq(model.user.get_number_of_users(), 0) user_id = model.user.create_new_user('michael', '*****@*****.**', 'mypassword') assert_eq(model.user.get_number_of_users(), 1) user = model.user.User(user_id) assert_eq(user.id, user_id) assert_eq(user.name, 'michael') assert_eq(user.email, '*****@*****.**') user.name = 'John' user.bio = 'asdf' user.save() new_user_obj = model.user.User(user_id) assert_eq(new_user_obj.name, 'John') assert_eq(new_user_obj.bio, 'asdf')
def test_latest_schema(self): assert_eq(db.latest_schema(), self.latest) db.remove() assert_eq(db.latest_schema(), 0)
def test_list_tables(self): assert 'schema_table' in db.list_tables() db.remove() assert_eq(db.list_tables(), [])