def test_delete_parent(self): trekA = TrekFactory(name=u"A") trekB = TrekFactory(name=u"B") trekC = TrekFactory(name=u"C") OrderedTrekChild(parent=trekB, child=trekA, order=1).save() OrderedTrekChild(parent=trekC, child=trekA, order=2).save() self.assertTrue(OrderedTrekChild.objects.filter(parent=trekB).exists()) self.assertQuerysetEqual(trekA.parents, ['<Trek: B>', '<Trek: C>'], ordered=False) self.assertQuerysetEqual(trekB.children, ['<Trek: A>']) self.assertQuerysetEqual(trekC.children, ['<Trek: A>']) self.assertEqual(trekA.parents_id, [trekB.id, trekC.id]) self.assertEqual(list(trekB.children_id), [trekA.id]) self.assertEqual(list(trekC.children_id), [trekA.id]) trekB.delete() self.assertEqual(trekA.previous_id_for(trekC), None) self.assertEqual(trekA.next_id_for(trekC), None) self.assertEqual(trekA.next_id, {trekC.id: None}) self.assertEqual(trekA.previous_id, {trekC.id: None}) self.assertFalse( OrderedTrekChild.objects.filter(parent=trekB).exists()) self.assertQuerysetEqual(trekA.parents, ['<Trek: C>']) self.assertQuerysetEqual(trekC.children, ['<Trek: A>']) self.assertEqual(trekA.parents_id, [trekC.id]) self.assertEqual(list(trekC.children_id), [trekA.id])
def test_delete_parent(self): trekA = TrekFactory(name=u"A") trekB = TrekFactory(name=u"B") trekC = TrekFactory(name=u"C") OrderedTrekChild(parent=trekB, child=trekA, order=1).save() OrderedTrekChild(parent=trekC, child=trekA, order=2).save() self.assertTrue(OrderedTrekChild.objects.filter(parent=trekB).exists()) self.assertQuerysetEqual(trekA.parents, ['<Trek: B>', '<Trek: C>'], ordered=False) self.assertQuerysetEqual(trekB.children, ['<Trek: A>']) self.assertQuerysetEqual(trekC.children, ['<Trek: A>']) self.assertEqual(trekA.parents_id, [trekB.id, trekC.id]) self.assertEqual(list(trekB.children_id), [trekA.id]) self.assertEqual(list(trekC.children_id), [trekA.id]) trekB.delete() self.assertEqual(trekA.previous_id_for(trekC), None) self.assertEqual(trekA.next_id_for(trekC), None) self.assertEqual(trekA.next_id, {trekC.id: None}) self.assertEqual(trekA.previous_id, {trekC.id: None}) self.assertFalse(OrderedTrekChild.objects.filter(parent=trekB).exists()) self.assertQuerysetEqual(trekA.parents, ['<Trek: C>']) self.assertQuerysetEqual(trekC.children, ['<Trek: A>']) self.assertEqual(trekA.parents_id, [trekC.id]) self.assertEqual(list(trekC.children_id), [trekA.id])
def setUp(self): self.login() polygon = 'SRID=%s;MULTIPOLYGON(((0 0, 0 3, 3 3, 3 0, 0 0)))' % settings.SRID self.city = CityFactory(geom=polygon) self.district = DistrictFactory(geom=polygon) self.parent = TrekFactory.create(published=True) self.trek = TrekFactory.create( parent=self.parent, no_path=True, points_reference=MultiPoint([Point(0, 0), Point(1, 1)], srid=settings.SRID), parking_location=Point(0, 0, srid=settings.SRID) ) path1 = PathFactory.create(geom='SRID=%s;LINESTRING(0 0, 1 0)' % settings.SRID) self.trek.add_path(path1) self.attachment = AttachmentFactory.create(obj=self.trek, attachment_file=get_dummy_uploaded_image()) self.information_desk = tourism_factories.InformationDeskFactory.create() self.trek.information_desks.add(self.information_desk) self.theme = ThemeFactory.create() self.trek.themes.add(self.theme) self.accessibility = AccessibilityFactory.create() self.trek.accessibilities.add(self.accessibility) self.network = TrekNetworkFactory.create() self.trek.networks.add(self.network) self.weblink = WebLinkFactory.create() self.trek.web_links.add(self.weblink) self.source = RecordSourceFactory.create() self.trek.source.add(self.source) self.trek_b = TrekFactory.create(no_path=True, geom='SRID=%s;POINT(2 2)' % settings.SRID, published=True) path2 = PathFactory.create(geom='SRID=%s;LINESTRING(0 1, 1 1)' % settings.SRID) self.trek_b.add_path(path2) TrekRelationshipFactory.create(has_common_departure=True, has_common_edge=False, is_circuit_step=True, trek_a=self.trek, trek_b=self.trek_b) self.touristic_content = tourism_factories.TouristicContentFactory(geom='SRID=%s;POINT(1 1)' % settings.SRID, published=True) tourism_factories.TouristicContentFactory(geom='SRID=%s;POINT(1 1)' % settings.SRID, published=False) # not published tourism_factories.TouristicContentFactory(geom='SRID=%s;POINT(1 1)' % settings.SRID, published=True).delete() # deleted tourism_factories.TouristicContentFactory(geom='SRID=%s;POINT(1000 1000)' % settings.SRID, published=True) # too far self.touristic_event = tourism_factories.TouristicEventFactory(geom='SRID=%s;POINT(2 2)' % settings.SRID, published=True) tourism_factories.TouristicEventFactory(geom='SRID=%s;POINT(2 2)' % settings.SRID, published=False) # not published tourism_factories.TouristicEventFactory(geom='SRID=%s;POINT(2 2)' % settings.SRID, published=True).delete() # deleted tourism_factories.TouristicEventFactory(geom='SRID=%s;POINT(2000 2000)' % settings.SRID, published=True) # too far trek2 = TrekFactory(no_path=True, published=False) # not published trek2.add_path(path2) trek3 = TrekFactory(no_path=True, published=True) # deleted trek3.add_path(path2) trek3.delete() trek4 = TrekFactory(no_path=True, published=True) # too far trek4.add_path(PathFactory.create(geom='SRID=%s;LINESTRING(0 2000, 1 2000)' % settings.SRID)) self.child1 = TrekFactory.create(published=False, parent=self.trek) self.child2 = TrekFactory.create(published=True, parent=self.trek) self.pk = self.trek.pk url = '/api/treks/%s/' % self.pk self.response = self.client.get(url) self.result = json.loads(self.response.content)