test/unittest_entity.py
branchstable
changeset 9731 027bfc467a46
parent 9432 030745ac9873
child 9769 d3f8866a48f5
equal deleted inserted replaced
9678:c34f0cee89b7 9731:027bfc467a46
     1 # -*- coding: utf-8 -*-
     1 # -*- coding: utf-8 -*-
     2 # copyright 2003-2013 LOGILAB S.A. (Paris, FRANCE), all rights reserved.
     2 # copyright 2003-2014 LOGILAB S.A. (Paris, FRANCE), all rights reserved.
     3 # contact http://www.logilab.fr/ -- mailto:contact@logilab.fr
     3 # contact http://www.logilab.fr/ -- mailto:contact@logilab.fr
     4 #
     4 #
     5 # This file is part of CubicWeb.
     5 # This file is part of CubicWeb.
     6 #
     6 #
     7 # CubicWeb is free software: you can redistribute it and/or modify it under the
     7 # CubicWeb is free software: you can redistribute it and/or modify it under the
    41 
    41 
    42     def tearDown(self):
    42     def tearDown(self):
    43         super(EntityTC, self).tearDown()
    43         super(EntityTC, self).tearDown()
    44         for cls in self.vreg['etypes'].iter_classes():
    44         for cls in self.vreg['etypes'].iter_classes():
    45             cls.fetch_attrs, cls.cw_fetch_order = self.backup_dict[cls]
    45             cls.fetch_attrs, cls.cw_fetch_order = self.backup_dict[cls]
       
    46 
       
    47     def test_no_prefill_related_cache_bug(self):
       
    48         session = self.session
       
    49         usine = session.create_entity('Usine', lieu=u'Montbeliard')
       
    50         produit = session.create_entity('Produit')
       
    51         # usine was prefilled in glob_add_entity
       
    52         # let's simulate produit creation without prefill
       
    53         produit._cw_related_cache.clear()
       
    54         # use add_relations
       
    55         session.add_relations([('fabrique_par', [(produit.eid, usine.eid)])])
       
    56         self.assertEqual(1, len(usine.reverse_fabrique_par))
       
    57         self.assertEqual(1, len(produit.fabrique_par))
    46 
    58 
    47     def test_boolean_value(self):
    59     def test_boolean_value(self):
    48         e = self.vreg['etypes'].etype_class('CWUser')(self.request())
    60         e = self.vreg['etypes'].etype_class('CWUser')(self.request())
    49         self.assertTrue(e)
    61         self.assertTrue(e)
    50 
    62