def test_filter_by_category(self): items1 = Item.get_filtered_items(category=self.textbooks) self.assertIn(self.textbook_3091_1, items1) self.assertIn(self.textbook_3091_2, items1) items2 = Item.get_filtered_items(category=self.videos) self.assertIn(self.video_5111, items2) items3 = Item.get_filtered_items(category=self.girs) self.assertIn(self.cheat_sheets, items3)
def test_filter_by_id(self): textbook_1 = Item.get_filtered_items(id=self.textbook_3091_1.id) self.assertEqual(len(textbook_1), 1) self.assertIn(self.textbook_3091_1, textbook_1) textbook_2 = Item.get_filtered_items(id=self.textbook_3091_2.id) self.assertEqual(len(textbook_2), 1) self.assertIn(self.textbook_3091_2, textbook_2) video = Item.get_filtered_items(id=self.video_5111.id) self.assertEqual(len(video), 1) self.assertIn(self.video_5111, video) sheets = Item.get_filtered_items(id=self.cheat_sheets.id) self.assertEqual(len(sheets), 1) self.assertIn(self.cheat_sheets, sheets)
def test_filter_by_search(self): textbooks = Item.get_filtered_items(search_query='Textbook') self.assertIn(self.textbook_3091_1, textbooks) self.assertIn(self.textbook_3091_2, textbooks) videos = Item.get_filtered_items(search_query='Video') self.assertIn(self.video_5111, videos) solid_state = Item.get_filtered_items(search_query='3.091') self.assertIn(self.textbook_3091_1, solid_state) self.assertIn(self.textbook_3091_2, solid_state) self.assertIn(self.cheat_sheets, solid_state) principles = Item.get_filtered_items(search_query='5.111') self.assertIn(self.video_5111, principles) self.assertIn(self.cheat_sheets, principles)
def buy_page(request): render_params = base_params(request) render_params[NAV_PAGE] = BUY category = None if 'category' in request.GET: category = Category.get_category(request.GET['category']) search_query = request.GET.get('search_query', None) id = request.GET.get('id', None) page = (int)(request.GET.get('page', 0)) matching_items = Item.get_filtered_items(category, search_query, id) if page * BUY_PAGE_ITEMS_PER_PAGE > len(matching_items): page = 0 render_params['items'] = matching_items[page * 10 : (page + 1) * 10] render_params['category'] = category render_params['search_query'] = search_query render_params['id'] = id render_params['page'] = page render_params['pages'] = 1 + (len(matching_items) - 1) / BUY_PAGE_ITEMS_PER_PAGE return render(request, 'buy/buy.html', render_params, \ context_instance=RequestContext(request))
def buy_page(request): render_params = base_params(request) category = None if 'category' in request.GET: category = Category.get_category(request.GET['category']) search_query = request.GET.get('search_query', None) id = request.GET.get('id', None) render_params['items'] = Item.get_filtered_items(category, search_query, id) return render(request, 'buy.html', render_params, \ context_instance=RequestContext(request))