| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- from django.urls import reverse
-
- from oscar.test.testcases import WebTestCase
-
-
- class TestVoucherListSearch(WebTestCase):
- is_staff = True
-
- TEST_CASES = [
- ({}, ['Not in a set']),
- (
- {'name': 'Bob Smith'},
- ['Name matches "Bob Smith"']
- ),
- (
- {'code': 'abcd1234'},
- ['Code is "ABCD1234"']
- ),
- (
- {'offer_name': 'Shipping offer'},
- ['Offer name matches "Shipping offer"']
- ),
- (
- {'is_active': True},
- ['Is active']
- ),
- (
- {'is_active': False},
- ['Is inactive']
- ),
- (
- {'in_set': True},
- ['In a set']
- ),
- (
- {'in_set': False},
- ['Not in a set']
- ),
- (
- {'has_offers': True},
- ['Has offers']
- ),
- (
- {'has_offers': False},
- ['Has no offers']
- ),
- (
- {
- 'name': 'Bob Smith',
- 'code': 'abcd1234',
- 'offer_name': 'Shipping offer',
- 'is_active': True,
- 'in_set': True,
- 'has_offers': True,
- },
- [
- 'Name matches "Bob Smith"',
- 'Code is "ABCD1234"',
- 'Offer name matches "Shipping offer"',
- 'Is active',
- 'In a set',
- 'Has offers',
- ]
- ),
- ]
-
- def test_search_filter_descriptions(self):
- url = reverse('dashboard:voucher-list')
- for params, expected_filters in self.TEST_CASES:
- response = self.get(url, params=params)
- self.assertEqual(response.status_code, 200)
- applied_filters = [
- el.text.strip() for el in
- response.html.select('.search-filter-list .badge')
- ]
- self.assertEqual(applied_filters, expected_filters)
|