'Tests permmod when moving trees of pages.
1. build following tree (master node is approved and published)
slave-home
/    |                   A     B     C
/                    D    E
/  |                     F   G   H
2. perform move operations:
1. move G under C
2. move E under G
slave-home
/    |                   A     B     C
/                          D          G
E
/                               F     H
3. approve nodes in following order:
1. approve H
2. approve G
3. approve E
4. approve F'

def test_patricks_move(self):

    self.assertEqual(self.pg.parent_id, self.pe.pk)
    self.assertEqual(self.pg.publisher_public.parent_id, self.pe.publisher_public_id)
    self.move_page(self.pg, self.pc)
    self.reload_pages()
    self.assertEqual(self.pg.parent_id, self.pc.pk)
    self.assertEqual(self.pg.publisher_public.parent_id, self.pc.publisher_public_id)
    self.assertEqual(self.pg.publisher_public.parent.get_absolute_url(), self.pc.publisher_public.get_absolute_url())
    self.assertEqual(self.pg.get_absolute_url(), self.pg.publisher_public.get_absolute_url())
    self.move_page(self.pe, self.pg)
    self.reload_pages()
    self.assertEqual(self.pe.parent_id, self.pg.pk)
    self.assertEqual(self.pe.publisher_public.parent_id, self.pg.publisher_public_id)
    self.ph = self.ph.reload()
    self.assertEqual(self.pg.publisher_public.get_absolute_url(), self.pg.get_absolute_url())
    self.assertEqual(self.ph.publisher_public.get_absolute_url(), self.ph.get_absolute_url())
    self.assertEqual(self.pg.publisher_public.parent.pk, self.pc.publisher_public_id)
    self.assertEqual(self.pe.publisher_public.parent.pk, self.pg.publisher_public_id)
    self.assertEqual(self.ph.publisher_public.parent.pk, self.pe.publisher_public_id)
    self.assertEqual(self.pg.publisher_public.get_absolute_url(), (u'%smaster/slave-home/pc/pg/' % self.get_pages_root()))
    self.assertEqual(self.ph.publisher_public.get_absolute_url(), (u'%smaster/slave-home/pc/pg/pe/ph/' % self.get_pages_root()))
