Completed
Push — master ( a99f81...d3b4d9 )
by Asif
10s
created

test_default_list_view_permission()   A

Complexity

Conditions 1

Size

Total Lines 5

Duplication

Lines 0
Ratio 0 %

Importance

Changes 2
Bugs 0 Features 0
Metric Value
c 2
b 0
f 0
dl 0
loc 5
rs 9.4285
cc 1
1
from django.test import TestCase
2
3
from crudbuilder.views import ViewBuilder
4
from crudbuilder.tests.crud import TestModelCrud
5
6
7
class ViewBuilderTestCase(TestCase):
8
    def setUp(self):
9
        self.builder = ViewBuilder('tests', 'testmodel', TestModelCrud)
10
11
    def test_get_model_class(self):
12
        model_class = self.builder.get_model_class
13
        self.assertEqual(model_class.__name__, "TestModel")
14
15
    def test_list_view(self):
16
        list_view = self.builder.generate_list_view()
17
        self.assertEqual(list_view.__name__, "TestmodelListView")
18
        self.assertEqual(list_view.table_pagination, {'per_page': self.builder.tables2_pagination})
19
20
    def test_create_view(self):
21
        create_view = self.builder.generate_create_view()
22
        self.assertEqual(create_view.__name__, 'TestmodelCreateView')
23
24
    def test_detail_view(self):
25
        detail_view = self.builder.generate_detail_view()
26
        self.assertEqual(detail_view.__name__, 'TestmodelDetailView')
27
28
    def test_update_view(self):
29
        update_view = self.builder.generate_update_view()
30
        self.assertEqual(update_view.__name__, 'TestmodelUpdateView')
31
32
    def test_table_pagination(self):
33
        tables2_pagination = self.builder.tables2_pagination
34
        self.assertEqual(tables2_pagination, 20)
35
36
        # test the default pagination
37
        self.builder.tables2_pagination = None
38
        list_view = self.builder.generate_list_view()
39
        self.assertEqual(list_view.table_pagination, {'per_page': 10})
40
41
    def test_tables2_fields(self):
42
        tables2_fields = self.builder.tables2_fields
43
        self.assertEqual(tables2_fields,  ('name', 'email'))
44
45
    def test_custom_list_view_permission(self):
46
        # test custom permission
47
        self.builder.permissions = dict(list='mycustom_list_perm')
48
        self.assertEqual(
49
            self.builder.view_permission('list'),
50
            'mycustom_list_perm')
51
52
    def test_default_list_view_permission(self):
53
        # test auto generated (default) permission
54
        self.assertEqual(
55
            self.builder.view_permission('list'),
56
            'tests.testmodel_list')
57
58
    def test_check_crud_views(self):
59
        self.builder.generate_crud()
60
        generated_views = [
61
            view_type for view_type in self.builder.classes.keys()]
62
        expected_views = [
63
            'TestmodelCreateView',
64
            'TestmodelListView',
65
            'TestmodelDetailView',
66
            'TestmodelUpdateView',
67
            'TestmodelDeleteView'
68
        ]
69
        self.assertEqual(sorted(generated_views), sorted(expected_views))
70