From 09281db6e75005635f496159c793e968559bc278 Mon Sep 17 00:00:00 2001 From: dcz <dcz@ipipan.waw.pl> Date: Tue, 14 Nov 2023 19:13:19 +0100 Subject: [PATCH] Tests --- shellvalier/settings-test.py | 1 + vertical_relations/tests/__init__.py | 0 vertical_relations/tests/test.py | 81 ++++++++++++++++++++++++++++ 3 files changed, 82 insertions(+) create mode 100644 vertical_relations/tests/__init__.py create mode 100644 vertical_relations/tests/test.py diff --git a/shellvalier/settings-test.py b/shellvalier/settings-test.py index dd60eac..32221ea 100644 --- a/shellvalier/settings-test.py +++ b/shellvalier/settings-test.py @@ -35,6 +35,7 @@ INSTALLED_APPS = [ 'unifier.apps.UnifierConfig', 'financial_settlement.apps.FinStatementConfig', 'freelus.apps.FreeLusConfig', + 'vertical_relations.apps.VerticalRelationsConfig', ] SECRET_KEY = get_environment('SECRET_KEY') diff --git a/vertical_relations/tests/__init__.py b/vertical_relations/tests/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/vertical_relations/tests/test.py b/vertical_relations/tests/test.py new file mode 100644 index 0000000..34ec807 --- /dev/null +++ b/vertical_relations/tests/test.py @@ -0,0 +1,81 @@ +from django.test import Client +from django.test import RequestFactory, TestCase + +# initialize the APIClient app +from semantics.models import ArgumentRole, SemanticRole +from unifier.models import UnifiedFrame, UnifiedFrameArgument +from vertical_relations.models import MainVerticalRelation, UnifiedFrameVerticalRelation, VerticalRelationNegation, \ + TemporalVerticalRelation +from vertical_relations.views import save_main_vertical_relation, save_vertical_relation_negation, save_iter_relation + +client = Client() + + +class ApiTest(TestCase): + + def tearDown(self) -> None: + pass + + @classmethod + def tearDownClass(cls): + pass + + def setUp(self): + self.factory = RequestFactory() + + self.unified_frame1 = UnifiedFrame.objects.create(status='status1', title='title1') + self.unified_frame2 = UnifiedFrame.objects.create(status='status2', title='title2') + + self.semantic_role = SemanticRole.objects.create(role='test_role', priority=1) + self.argument_role = ArgumentRole.objects.create(role=self.semantic_role) + self.unified_frame_argument = UnifiedFrameArgument.objects.create(unified_frame=self.unified_frame1, + role=self.argument_role) + + self.main_relation = MainVerticalRelation.objects.create(name='main-relation', priority=1) + self.neg = VerticalRelationNegation.objects.create(name='neg', priority=1) + self.temporal = TemporalVerticalRelation.objects.create(name='temp', priority=1) + + + def create_new_vertical_relation(self): + request = self.factory.post("/pl/vertical_relations/save_main_vertical_relation/", + HTTP_X_REQUESTED_WITH='XMLHttpRequest', + data={'source_unified_frame_id': self.unified_frame1.pk, + 'target_unified_frame_id': self.unified_frame2.pk, + 'main_vertical_relation_id': self.main_relation.pk}) + response = save_main_vertical_relation(request) + + def test_create_new_vertical_relation(self): + self.create_new_vertical_relation() + self.assertEqual(1, UnifiedFrameVerticalRelation.objects.all().count()) + relation = UnifiedFrameVerticalRelation.objects.all()[0] + self.assertEqual(self.unified_frame1.pk, relation.source_unified_frame.id) + self.assertEqual(self.unified_frame2.pk, relation.target_unified_frame.id) + + unified_frame = UnifiedFrame.objects.get(id=self.unified_frame1.pk) + self.assertEqual(True, unified_frame.has_vertical_relations) + + def test_save_vertical_relation_negation(self): + self.create_new_vertical_relation() + request = self.factory.post("/pl/vertical_relations/save_vertical_relation_negation/", + HTTP_X_REQUESTED_WITH='XMLHttpRequest', + data={'source_unified_frame_id': self.unified_frame1.pk, + 'target_unified_frame_id': self.unified_frame2.pk, + 'vertical_relation_id': self.main_relation.pk, + 'unified_frame_argument_id': self.unified_frame_argument.pk, + 'negation_id': self.neg.pk}) + response = save_vertical_relation_negation(request) + relation = UnifiedFrameVerticalRelation.objects.all()[0] + self.assertEqual(self.neg.pk, relation.negation.id) + self.assertEqual(self.unified_frame_argument.pk, relation.negation_argument.id) + + def test_save_iter_relation(self): + self.create_new_vertical_relation() + request = self.factory.post("/pl/vertical_relations/save_iter_relation/", + HTTP_X_REQUESTED_WITH='XMLHttpRequest', + data={'source_unified_frame_id': self.unified_frame1.pk, + 'target_unified_frame_id': self.unified_frame2.pk, + 'vertical_relation_id': self.main_relation.pk, + 'temporal_vertical_relation_id': self.temporal.pk}) + response = save_iter_relation(request) + relation = UnifiedFrameVerticalRelation.objects.all()[0] + self.assertEqual(self.temporal.pk, relation.iter_temporal_vertical_relation.id) -- GitLab