def test_name_to_index(self): strains = helper.populate_test_strains(strain_dict=donezo.done) db.session.add_all(strains) self.assertEqual(Strain.name_to_index('3 Bears OG').first(), ('3-bears-og',)) self.assertEqual(Strain.name_to_index('12 Year OG').first(), ('12-year-og',)) self.assertEqual(Strain.name_to_index('24k Gold').first(), ('24k-gold',)) self.assertIsNone(Strain.name_to_index('zoo').first())
def test_follow_up_query(self): strains = helper.populate_test_strains(strain_dict=donezo.done) db.session.add_all(strains) self.assertEqual(Strain.follow_up_query('zoo').all(), []) self.assertEqual(Strain.follow_up_query('old').all(), [('24k Gold',)]) self.assertEqual(Strain.follow_up_query('ea').all(), [('12 Year OG',), ('3 Bears OG',)]) self.assertEqual(Strain.follow_up_query('og').all(), [('$100 OG',), ('12 Year OG',), ('3 Bears OG',)])
def test_has_not_tried(self): strains = helper.populate_test_strains(strain_dict=donezo.done) db.session.add_all(strains) user = helper.create_test_user() db.session.add(user) s = Strain.query.all() user.tried.extend(s[:5]) self.assertEqual(set(user.tried.all()), set(s[:5])) self.assertEqual(set(user.has_not_tried()), set(s[5:]))
def test_search(self): strains = helper.populate_test_strains(strain_dict=donezo.done) db.session.add_all(strains) gold = Strain.query.filter_by(name='24k Gold').first() year = Strain.query.filter_by(name='12 Year OG').first() hundred = Strain.query.filter_by(name='$100 OG').first() bears = Strain.query.filter_by(name='3 Bears OG').first() self.assertEqual(Strain.search('zoo').all(), []) self.assertEqual(Strain.search('old').all(), [gold]) self.assertEqual(Strain.search('ea').all(), [year, bears]) self.assertEqual(Strain.search('og').all(), [hundred, year, bears])
def test_get_search_results(self): strains = helper.populate_test_strains(strain_dict=donezo.done) db.session.add_all(strains) # 4 initial results, 1 secondary q = '1' initial_query = Strain.initial_query(q) count = initial_query.count() results = helper.get_search_results(count=count, initial=initial_query, per_page=5, search_string=q) self.assertEqual(results, ['1024', '10th Planet', '12 Year OG', '13 Dawgs', '$100 OG']) # 2 initial results, 1 secondary results q = '10' initial_query = Strain.initial_query(q) count = initial_query.count() results = helper.get_search_results(count=count, initial=initial_query, per_page=5, search_string=q) self.assertEqual(results, ['1024', '10th Planet', '$100 OG']) # 3 initial results, 2 secondary results q = '2' initial_query = Strain.initial_query(q) count = initial_query.count() results = helper.get_search_results(count=count, initial=initial_query, per_page=5, search_string=q) self.assertEqual(results, ['2 Fast 2 Vast', '22', '24k Gold', '1024', '12 Year OG']) # 0 initial results, 3 secondary results q = 'og' initial_query = Strain.initial_query(q) count = initial_query.count() results = helper.get_search_results(count=count, initial=initial_query, per_page=5, search_string=q) self.assertEqual(results, ['$100 OG', '12 Year OG', '3 Bears OG']) # 0 initial results, 5 secondary results q = 'g' initial_query = Strain.initial_query(q) count = initial_query.count() results = helper.get_search_results(count=count, initial=initial_query, per_page=5, search_string=q) self.assertEqual(results, ['$100 OG', '12 Year OG', '13 Dawgs', '24k Gold', '3 Bears OG'])
def test_create_prev_next_urls(self): strains = helper.populate_test_strains(strain_dict=donezo.done) db.session.add_all(strains) user = User() user.username = '******' user.hash_password('pass') db.session.add(user) strains_to_try = Strain.query.limit(5).all() for strain in strains_to_try: user.try_strain(strain) # db.session.commit() all_strains = Strain.query.paginate(1, 1, False) tried_strains = user.tried.paginate(1, 1, False) searched_strains = Strain.search('10').paginate(1, 1, False) # All Strains test prev_url, next_url = helper.create_prev_next_urls(all_strains) self.assertIsNone(prev_url) self.assertEqual(next_url, '/strains?page=2') all_strains = all_strains.next() prev_url, next_url = helper.create_prev_next_urls(all_strains) self.assertEqual(prev_url, '/strains?page=1') self.assertEqual(next_url, '/strains?page=3') while all_strains.has_next: all_strains = all_strains.next() prev_url, next_url = helper.create_prev_next_urls(all_strains) self.assertIsNone(next_url) self.assertEqual(prev_url, '/strains?page=9') # Tried Strains Test prev_url, next_url = helper.create_prev_next_urls(tried_strains, filt='tried') self.assertIsNone(prev_url) self.assertEqual(next_url, '/strains?filter=tried&page=2') tried_strains = tried_strains.next() prev_url, next_url = helper.create_prev_next_urls(tried_strains, filt='tried') self.assertEqual(prev_url, '/strains?filter=tried&page=1') self.assertEqual(next_url, '/strains?filter=tried&page=3') while tried_strains.has_next: tried_strains = tried_strains.next() prev_url, next_url = helper.create_prev_next_urls(tried_strains, filt='tried') self.assertIsNone(next_url) self.assertEqual(prev_url, '/strains?filter=tried&page=4') # Searched Strains Test prev_url, next_url = helper.create_prev_next_urls(searched_strains, filt='search', q='10') self.assertIsNone(prev_url) self.assertEqual(next_url, '/strains?filter=search&q=10&page=2') searched_strains = searched_strains.next() prev_url, next_url = helper.create_prev_next_urls(searched_strains, filt='search', q=10) self.assertEqual(prev_url, '/strains?filter=search&q=10&page=1') self.assertEqual(next_url, '/strains?filter=search&q=10&page=3') searched_strains = searched_strains.next() prev_url, next_url = helper.create_prev_next_urls(searched_strains, filt='search', q=10) self.assertEqual(prev_url, '/strains?filter=search&q=10&page=2') self.assertIsNone(next_url)
def test_initial_query(self): strains = helper.populate_test_strains(strain_dict=donezo.done) db.session.add_all(strains) self.assertEqual(Strain.initial_query('og').all(), []) self.assertEqual(Strain.initial_query('1').all(), [('1024',), ('10th Planet',), ('12 Year OG',), ('13 Dawgs',)])