changeset 743f684556ef in trytond:default
details: https://hg.tryton.org/trytond?cmd=changeset;node=743f684556ef
description:
        Test _changed_values with rec_name

        issue8637
        review280081004
diffstat:

 trytond/tests/__init__.py       |  10 ++--------
 trytond/tests/modelview.py      |  36 +++++++++++++++++++++++-------------
 trytond/tests/test_modelview.py |  18 ++++++++++++++++++
 3 files changed, 43 insertions(+), 21 deletions(-)

diffs (133 lines):

diff -r 7f8346875359 -r 743f684556ef trytond/tests/__init__.py
--- a/trytond/tests/__init__.py Wed Sep 11 23:49:34 2019 +0200
+++ b/trytond/tests/__init__.py Wed Sep 11 23:50:20 2019 +0200
@@ -8,7 +8,6 @@
 
 
 from ..pool import Pool
-from .modelview import *
 from .mptt import *
 from . import import_data
 from .export_data import *
@@ -20,6 +19,7 @@
 from .field_context import *
 from . import model
 from . import modelstorage
+from . import modelview
 from . import modelsql
 from . import field_boolean
 from . import field_integer
@@ -48,13 +48,6 @@
 
 def register():
     Pool.register(
-        ModelViewChangedValues,
-        ModelViewChangedValuesTarget,
-        ModelViewButton,
-        ModelViewButtonDepends,
-        ModelViewRPC,
-        ModelViewEmptyPage,
-        ModelViewCircularDepends,
         MPTT,
         ExportDataTarget,
         ExportData,
@@ -77,6 +70,7 @@
     access.register('tests')
     model.register('tests')
     modelstorage.register('tests')
+    modelview.register('tests')
     modelsql.register('tests')
     field_boolean.register('tests')
     field_integer.register('tests')
diff -r 7f8346875359 -r 743f684556ef trytond/tests/modelview.py
--- a/trytond/tests/modelview.py        Wed Sep 11 23:49:34 2019 +0200
+++ b/trytond/tests/modelview.py        Wed Sep 11 23:50:20 2019 +0200
@@ -1,19 +1,8 @@
 # This file is part of Tryton.  The COPYRIGHT file at the top level of
 # this repository contains the full copyright notices and license terms.
 
-
-from trytond.model import ModelView, fields
-
-
-__all__ = [
-    'ModelViewChangedValues',
-    'ModelViewChangedValuesTarget',
-    'ModelViewButton',
-    'ModelViewButtonDepends',
-    'ModelViewRPC',
-    'ModelViewEmptyPage',
-    'ModelViewCircularDepends',
-    ]
+from trytond.model import ModelView, ModelSQL, fields
+from trytond.pool import Pool
 
 
 class ModelViewChangedValues(ModelView):
@@ -21,6 +10,8 @@
     __name__ = 'test.modelview.changed_values'
     name = fields.Char('Name')
     target = fields.Many2One('test.modelview.changed_values.target', 'Target')
+    stored_target = fields.Many2One(
+        'test.modelview.changed_values.stored_target', "Stored Target")
     ref_target = fields.Reference('Target Reference', [
             ('test.modelview.changed_values.target', 'Target'),
             ])
@@ -37,6 +28,12 @@
     parent = fields.Many2One('test.modelview.changed_values', 'Parent')
 
 
+class ModelViewChangedValuesStoredTarget(ModelSQL):
+    "ModelSQL Changed Values Target"
+    __name__ = 'test.modelview.changed_values.stored_target'
+    name = fields.Char("Name")
+
+
 class ModelViewButton(ModelView):
     'ModelView Button'
     __name__ = 'test.modelview.button'
@@ -143,3 +140,16 @@
     foo = fields.Char("Char", depends=['bar'])
     bar = fields.Char("Char", depends=['foobar'])
     foobar = fields.Char("Char", depends=['foo'])
+
+
+def register(module):
+    Pool.register(
+        ModelViewChangedValues,
+        ModelViewChangedValuesTarget,
+        ModelViewChangedValuesStoredTarget,
+        ModelViewButton,
+        ModelViewButtonDepends,
+        ModelViewRPC,
+        ModelViewEmptyPage,
+        ModelViewCircularDepends,
+        module=module, type_='model')
diff -r 7f8346875359 -r 743f684556ef trytond/tests/test_modelview.py
--- a/trytond/tests/test_modelview.py   Wed Sep 11 23:49:34 2019 +0200
+++ b/trytond/tests/test_modelview.py   Wed Sep 11 23:50:20 2019 +0200
@@ -89,6 +89,24 @@
                     },
                 })
 
+    @with_transaction()
+    def test_changed_values_rec_name(self):
+        "Test rec_name of ModelStorage is added"
+        pool = Pool()
+        Model = pool.get('test.modelview.changed_values')
+        Target = pool.get('test.modelview.changed_values.stored_target')
+
+        target, = Target.create([{'name': "Target"}])
+        record = Model()
+        record.stored_target = target
+
+        self.assertEqual(record._changed_values, {
+                'stored_target': target.id,
+                'stored_target.': {
+                    'rec_name': "Target",
+                    },
+                })
+
     @with_transaction(context={'_check_access': True})
     def test_button_access(self):
         'Test Button Access'

Reply via email to