123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- from unittest import mock
- from django.core.exceptions import ObjectDoesNotExist
- from .manager_case import ManagerTestCase
- from .factories import (
- IEDocFactory, GazetteItemFactory,
- EntityFactory, EntityKindFactory,
- )
- from iepy.data.models import GazetteItem, Entity
- from iepy.data.db import EntityOccurrenceManager
- class TestEntityGazetteRelation(ManagerTestCase):
- def test_delete_entity_removes_gazette_item(self):
- entity = EntityFactory()
- entity.gazette = GazetteItemFactory()
- entity.save()
- gazette_id = entity.gazette.id
- self.assertIsNotNone(GazetteItem.objects.get(pk=gazette_id))
- entity.delete()
- with self.assertRaises(ObjectDoesNotExist):
- GazetteItem.objects.get(pk=gazette_id)
- def test_entity_delete_withou_gazette_works(self):
- entity = EntityFactory()
- self.assertIsNone(entity.gazette)
- entity.delete()
- def test_delete_gazette_removes_entity(self):
- gazette = GazetteItemFactory()
- entity = EntityFactory()
- entity.gazette = gazette
- entity.save()
- gazette.save()
- entity_id = entity.id
- gazette.delete()
- with self.assertRaises(ObjectDoesNotExist):
- Entity.objects.get(pk=entity_id)
- def test_other_entities_are_not_deleted(self):
- gazette = GazetteItemFactory()
- entity1 = EntityFactory()
- entity2 = EntityFactory()
- gazette.save()
- entity1.gazette = gazette
- entity1.save()
- entity2.save()
- entity1_id = entity1.id
- entity2_id = entity2.id
- gazette.delete()
- with self.assertRaises(ObjectDoesNotExist):
- Entity.objects.get(pk=entity1_id)
- try:
- Entity.objects.get(pk=entity2_id)
- except ObjectDoesNotExist:
- self.fail("Entity does not exists and it should")
- class TestEntityOccurrenceCreation(ManagerTestCase):
- def test_entity_created(self):
- kind = EntityKindFactory()
- doc = IEDocFactory()
- offset = 0
- offset_end = 1
- entity_count = Entity.objects.all().count()
- EntityOccurrenceManager.create_with_entity(
- kind, doc, offset, offset_end
- )
- new_entity_count = Entity.objects.all().count()
- self.assertEqual(new_entity_count, entity_count + 1)
- def test_segmenter_is_run(self):
- with mock.patch("iepy.preprocess.segmenter.SyntacticSegmenterRunner") as mock_segmenter:
- kind = EntityKindFactory()
- doc = IEDocFactory()
- offset = 0
- offset_end = 1
- EntityOccurrenceManager.create_with_entity(
- kind, doc, offset, offset_end
- )
- self.assertTrue(mock_segmenter.called)
|