Пример #1
0
    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)
Пример #2
0
    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)
Пример #3
0
    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)
Пример #4
0
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))
Пример #5
0
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))