def test_documented_initial_insert(self): from sqlalchemy_mptt import tree_manager engine = create_engine('sqlite:///:memory:') Session = mptt_sessionmaker(sessionmaker(bind=engine)) session = Session() Base.metadata.create_all(engine) tree_manager.register_events(remove=True) # Disable MPTT events _tree_id = 'tree1' for node_id, parent_id in [(1, None), (2, 1), (3, 1), (4, 2)]: item = Tree( id=node_id, parent_id=parent_id, left=0, right=0, tree_id=_tree_id ) session.add(item) session.commit() tree_manager.register_events() # enabled MPTT events back Tree.rebuild_tree( session, _tree_id ) # rebuild lft, rgt value automatically
def test_remove(self): from sqlalchemy_mptt import tree_manager tree_manager.register_events(remove=True) self.assertFalse( contains( Tree, 'before_insert', tree_manager.before_insert ) ) self.assertFalse( contains( Tree, 'before_update', tree_manager.before_update ) ) self.assertFalse( contains( Tree, 'before_delete', tree_manager.before_delete ) ) tree_manager.register_events()
def test_register(self): from sqlalchemy_mptt import tree_manager tree_manager.register_events() self.assertTrue(contains(BaseNestedSets, 'before_insert', tree_manager.before_insert)) self.assertTrue(contains(BaseNestedSets, 'before_update', tree_manager.before_update)) self.assertTrue(contains(BaseNestedSets, 'before_delete', tree_manager.before_delete))
def test_remove(self): from sqlalchemy_mptt import tree_manager tree_manager.register_events(remove=True) self.assertFalse(contains(Tree, 'before_insert', tree_manager.before_insert)) self.assertFalse(contains(Tree, 'before_update', tree_manager.before_update)) self.assertFalse(contains(Tree, 'before_delete', tree_manager.before_delete)) tree_manager.register_events()