浏览代码

Rework category dashboard tests to use WebTest

master
David Winterbottom 13 年前
父节点
当前提交
703d8b0d41
共有 1 个文件被更改,包括 25 次插入30 次删除
  1. 25
    30
      tests/functional/dashboard/category_tests.py

+ 25
- 30
tests/functional/dashboard/category_tests.py 查看文件

@@ -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'),

正在加载...
取消
保存