Skip to Content
Menu
Musisz się zarejestrować, aby móc wchodzić w interakcje z tą społecznością.
To pytanie dostało ostrzeżenie
3883 Widoki

I'm developing some unit tests for a some methods I added to the product model. In order to make the tests more lean I'm trying to avoid hitting the database and so I'm creating the objects on the fly like this:


class TestModelProduct(common.SingleTransactionCase):
...

   def my_test(self):
object_being_tested = self.env['product.product'].create({'field_something': 'value_something' }) 
child_product = self.env['product.product'].create({'parent_id': object_being_tested.product.id})
...
child_product.write({'field_I_want_to_change': 4.0})
_logger.warning("VALUE: %s", child_product.field_I_want_to_change)
#
#WARNING qa openerp.addons.my_module.tests.test_product:VALUE: 0.0

object_being_tested.method_being_tested(arg1,arg2,arg3)
...
#assertions


The problem I'm having is that when I set the value of 'field_I_want_to_change', that value is not set in the object for some reason.

Am I missing something about the objects that are created inside these tests?


EDIT: after further investigation I found the field is a function field so that may be the root of the problem. Is there a way to override that function?

Awatar
Odrzuć
Powiązane posty Odpowiedzi Widoki Czynność
6
gru 23
41641
1
sty 23
3894
0
paź 22
1518
0
sie 22
3
0
gru 21
51