|
|
@@ -68,42 +68,37 @@ class TestCategoryForm(TestCase):
|
|
68
|
68
|
self.assertEqual(conflicting, False)
|
|
69
|
69
|
|
|
70
|
70
|
|
|
71
|
|
-class CategoryTests(ClientTestCase):
|
|
72
|
|
- is_staff = True
|
|
|
71
|
+class TestCategoryDashboard(WebTestCase):
|
|
73
|
72
|
|
|
74
|
73
|
def setUp(self):
|
|
75
|
|
- super(CategoryTests, self).setUp()
|
|
76
|
|
- create_test_category_tree()
|
|
|
74
|
+ self.staff = G(User, is_staff=True)
|
|
|
75
|
+ create_from_breadcrumbs('A > B > C')
|
|
77
|
76
|
|
|
78
|
|
- def test_category_create(self):
|
|
|
77
|
+ def test_redirects_to_main_dashboard_after_creating_top_level_category(self):
|
|
79
|
78
|
a = Category.objects.get(name='A')
|
|
|
79
|
+ category_add = self.app.get(reverse('dashboard:catalogue-category-create'),
|
|
|
80
|
+ user=self.staff)
|
|
|
81
|
+ form = category_add.form
|
|
|
82
|
+ form['name'] = 'Top-level category'
|
|
|
83
|
+ form['_position'] = 'right'
|
|
|
84
|
+ form['_ref_node_id'] = a.id
|
|
|
85
|
+ response = form.submit()
|
|
|
86
|
+ self.assertRedirects(response,
|
|
|
87
|
+ reverse('dashboard:catalogue-category-list'))
|
|
|
88
|
+
|
|
|
89
|
+ def test_redirects_to_parent_list_after_creating_child_category(self):
|
|
80
|
90
|
b = Category.objects.get(name='B')
|
|
81
|
91
|
c = Category.objects.get(name='C')
|
|
82
|
|
-
|
|
83
|
|
- # Redirect to subcategory list view
|
|
84
|
|
- response = self.client.post(reverse('dashboard:catalogue-category-create'),
|
|
85
|
|
- {'name': 'Testee',
|
|
86
|
|
- '_position': 'left',
|
|
87
|
|
- '_ref_node_id': c.id,})
|
|
88
|
|
-
|
|
89
|
|
- self.assertIsRedirect(response, reverse('dashboard:catalogue-category-detail-list',
|
|
90
|
|
- args=(b.pk,)))
|
|
91
|
|
-
|
|
92
|
|
- # Redirect to main category list view
|
|
93
|
|
- response = self.client.post(reverse('dashboard:catalogue-category-create'),
|
|
94
|
|
- {'name': 'Testee',
|
|
95
|
|
- '_position': 'right',
|
|
96
|
|
- '_ref_node_id': a.id,})
|
|
97
|
|
-
|
|
98
|
|
- self.assertIsRedirect(response, reverse('dashboard:catalogue-category-list'))
|
|
99
|
|
-
|
|
100
|
|
- self.assertEqual(Category.objects.all().count(), 9)
|
|
101
|
|
-
|
|
102
|
|
-
|
|
103
|
|
-class TestCategoryDashboard(WebTestCase):
|
|
104
|
|
-
|
|
105
|
|
- def setUp(self):
|
|
106
|
|
- self.staff = G(User, is_staff=True)
|
|
|
92
|
+ category_add = self.app.get(reverse('dashboard:catalogue-category-create'),
|
|
|
93
|
+ user=self.staff)
|
|
|
94
|
+ form = category_add.form
|
|
|
95
|
+ form['name'] = 'Child category'
|
|
|
96
|
+ form['_position'] = 'left'
|
|
|
97
|
+ form['_ref_node_id'] = c.id
|
|
|
98
|
+ response = form.submit()
|
|
|
99
|
+ self.assertRedirects(response,
|
|
|
100
|
+ reverse('dashboard:catalogue-category-detail-list',
|
|
|
101
|
+ args=(b.pk,)))
|
|
107
|
102
|
|
|
108
|
103
|
def test_handles_invalid_form_gracefully(self):
|
|
109
|
104
|
dashboard_index = self.app.get(reverse('dashboard:index'),
|