Rajout des tests sur fields
[OpenERP/testing.git] / testing_inheritance.py
1 #-*- coding: utf8 -*-
2 from openerp.osv import osv, fields
3
4
5 class BaseA(osv.Model):
6     """Classe parente A"""
7
8     _name = "testing.base.a"
9
10     _description = "BaseA"
11
12     _columns = {
13         "name": fields.char(string="name", size=8, required=True),
14         "a1": fields.char(string="A1", size=8, required=True),
15         "a2": fields.char(string="A2", size=8, required=True),
16     }
17
18
19 class BaseB(osv.Model):
20     """Classe parente B"""
21
22     _name = "testing.base.b"
23
24     _description = "BaseB"
25
26     _columns = {
27         "name": fields.char(string="name", size=8, required=True),
28         "b1": fields.char(string="B1", size=8, required=True),
29         "b2": fields.char(string="B2", size=8, required=True),
30     }
31
32
33 class BaseC(osv.Model):
34     """Classe parente C"""
35
36     _name = "testing.base.c"
37
38     _description = "BaseC"
39
40     _columns = {
41         "name": fields.char(string="name", size=8, required=True),
42         "c1": fields.char(string="C1", size=8, required=True),
43         "c2": fields.char(string="C2", size=8, required=True),
44     }
45
46
47 class BaseD(osv.Model):
48     """Classe parente D"""
49
50     _name = "testing.base.d"
51
52     _description = "BaseD"
53
54     _columns = {
55         "name": fields.char(string="name", size=8, required=True),
56         "d1": fields.char(string="D1", size=8, required=True),
57         "d2": fields.char(string="D2", size=8, required=True),
58     }
59
60
61 class ClassInheritance(osv.Model):
62     """Test d'héritage de classe"""
63
64     _name = "testing.base.c"
65
66     _description = "ClassInheritance"
67
68     _inherit = "testing.base.c"
69
70     _columns = {
71         "name": fields.char(string="name", size=8, required=True),
72         "c1": fields.char(string="C1", size=8, required=True),
73         "c3": fields.char(string="C3", size=8, required=True),
74     }
75
76
77 class PrototypeInheritance(osv.Model):
78     """Test d'héritage de prototype"""
79
80     _name = "testing.inheritance.prototype"
81
82     _description = "PrototypeInheritance"
83
84     _inherit = "testing.base.d"
85
86     _columns = {
87         "name": fields.char(string="name", size=8, required=True),
88         "d1": fields.char(string="D1", size=8, required=True),
89         "d3": fields.char(string="D3", size=8, required=True),
90     }
91
92
93 class DelegationInheritance1(osv.Model):
94     """Test d'héritage par délégation"""
95
96     _name = "testing.inheritance.delegation1"
97
98     _description = "DelegationInheritance1"
99
100     _inherits = {"testing.base.a": "custom_base_a_id"}
101
102     _columns = {
103         "name": fields.char(string="name", size=8, required=True),
104         "a1": fields.char(string="A1", size=8, required=True),
105         "a3": fields.char(string="A3", size=8, required=True),
106     }
107
108
109 class DelegationInheritance2(osv.Model):
110     """Test d'héritage par délégation"""
111
112     _name = "testing.inheritance.delegation2"
113
114     _description = "DelegationInheritance2"
115
116     _inherits = {
117                  "testing.base.a": "custom_base_a_id",
118                  "testing.base.b": "custom_base_b_id",
119     }
120
121     _columns = {
122         "name": fields.char(string="name", size=8, required=True),
123         "a1": fields.char(string="A1", size=8, required=True),
124         "a3": fields.char(string="A3", size=8, required=True),
125         "b1": fields.char(string="B1", size=8, required=True),
126         "b3": fields.char(string="B3", size=8, required=True),
127     }
128
129
130 class DelegationInheritance3(osv.Model):
131     """Test d'héritage par délégation"""
132
133     _name = "testing.inheritance.delegation3"
134
135     _description = "DelegationInheritance3"
136
137     _inherits = {"testing.base.a": "custom_base_a_id"}
138
139     _columns = {
140         "name": fields.char(string="name", size=8, required=True),
141         "custom_base_a_id": fields.many2one("testing.base.a", 'Base A', required=True, ondelete='CASCADE'),
142         "a1": fields.char(string="A1", size=8, required=True),
143         "a3": fields.char(string="A3", size=8, required=True),
144     }
145
146
147 class DelegationInheritance4(osv.Model):
148     """Test d'héritage par délégation"""
149
150     _name = "testing.inheritance.delegation4"
151
152     _description = "DelegationInheritance4"
153
154     _inherits = {
155                  "testing.base.a": "custom_base_a_id",
156                  "testing.base.b": "custom_base_b_id",
157     }
158
159     _columns = {
160         "name": fields.char(string="name", size=8, required=True),
161         "custom_base_a_id": fields.many2one("testing.base.a", 'Base A', required=True, ondelete='CASCADE'),
162         "custom_base_b_id": fields.many2one("testing.base.b", 'Base B', required=True, ondelete='CASCADE'),
163         "a1": fields.char(string="A1", size=8, required=True),
164         "a3": fields.char(string="A3", size=8, required=True),
165         "b1": fields.char(string="B1", size=8, required=True),
166         "b3": fields.char(string="B3", size=8, required=True),
167     }
168