Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

category_tests.py 2.0KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. from django.core.urlresolvers import reverse
  2. from django_dynamic_fixture import G
  3. from oscar.test.testcases import WebTestCase
  4. from oscar.core.compat import get_user_model
  5. from oscar.apps.catalogue.models import Category
  6. from oscar.apps.catalogue.categories import create_from_breadcrumbs
  7. User = get_user_model()
  8. class TestCategoryDashboard(WebTestCase):
  9. def setUp(self):
  10. self.staff = G(User, is_staff=True)
  11. create_from_breadcrumbs('A > B > C')
  12. def test_redirects_to_main_dashboard_after_creating_top_level_category(self):
  13. a = Category.objects.get(name='A')
  14. category_add = self.app.get(reverse('dashboard:catalogue-category-create'),
  15. user=self.staff)
  16. form = category_add.form
  17. form['name'] = 'Top-level category'
  18. form['_position'] = 'right'
  19. form['_ref_node_id'] = a.id
  20. response = form.submit()
  21. self.assertRedirects(response,
  22. reverse('dashboard:catalogue-category-list'))
  23. def test_redirects_to_parent_list_after_creating_child_category(self):
  24. b = Category.objects.get(name='B')
  25. c = Category.objects.get(name='C')
  26. category_add = self.app.get(reverse('dashboard:catalogue-category-create'),
  27. user=self.staff)
  28. form = category_add.form
  29. form['name'] = 'Child category'
  30. form['_position'] = 'left'
  31. form['_ref_node_id'] = c.id
  32. response = form.submit()
  33. self.assertRedirects(response,
  34. reverse('dashboard:catalogue-category-detail-list',
  35. args=(b.pk,)))
  36. def test_handles_invalid_form_gracefully(self):
  37. dashboard_index = self.app.get(reverse('dashboard:index'),
  38. user=self.staff)
  39. category_index = dashboard_index.click("Categories")
  40. category_add = category_index.click("Create new category")
  41. response = category_add.form.submit()
  42. self.assertEqual(200, response.status_code)