Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
import json
from django.test import Client
from django.test import RequestFactory, TestCase
# initialize the APIClient app
from connections.models import Entry, POS, Status, ExampleConnection
from examples.models import Example, ExampleOpinion, ExampleSource
from freelus.views import create_new_slowal_frame, add_argument_to_frame, attach_examples_to_frame
from meanings.models import LexicalUnit, Synset
from semantics.models import FrameOpinion, Frame, SemanticRole, ArgumentRole
client = Client()
class ApiTest(TestCase):
def tearDown(self) -> None:
pass
@classmethod
def tearDownClass(cls):
pass
def setUp(self):
self.factory = RequestFactory()
FrameOpinion.objects.create(key='unk', priority=1)
self.synset = Synset.objects.create(id=1, definition='definition')
self.lu = LexicalUnit.objects.create(base='test', sense=1, pos='A', synset=self.synset)
pos = POS.objects.create(tag='test_tag')
status = Status.objects.create(key='status_key', priority=1)
self.entry = Entry.objects.create(name='test', status=status, pos=pos)
self.semantic_role = SemanticRole.objects.create(role='test_role', priority=1)
self.argument_role = ArgumentRole.objects.create(role=self.semantic_role)
example_opinion = ExampleOpinion.objects.create(key='key', priority=1)
example_source = ExampleSource.objects.create(key='key', priority=1)
self.example = Example.objects.create(entry=self.entry, sentence='test sentence', opinion=example_opinion, source=example_source)
def test_create_new_slowal_frame(self):
request = self.factory.post("/pl/freelus/create_new_slowal_frame/",
HTTP_X_REQUESTED_WITH='XMLHttpRequest',
data={'entry_id': self.entry.pk,
'lu_ids': json.dumps([self.lu.pk], separators=(',', ':'))})
response = create_new_slowal_frame(request)
self.assertEqual(1, Frame.objects.all().count())
frame = Frame.objects.all()[0]
self.assertEqual(0, len(frame.arguments.all()))
def test_add_argument_to_frame(self):
request = self.factory.post("/pl/freelus/create_new_slowal_frame/",
HTTP_X_REQUESTED_WITH='XMLHttpRequest',
data={'entry_id': self.entry.pk,
'lu_ids': json.dumps([self.lu.pk], separators=(',', ':'))})
response = create_new_slowal_frame(request)
frame = Frame.objects.all()[0]
request = self.factory.post("/pl/freelus/add_argument_to_frame/",
HTTP_X_REQUESTED_WITH='XMLHttpRequest',
data={'frame_id': frame.pk,
'role_id': self.argument_role.pk,
'role_type': 1})
response = add_argument_to_frame(request)
frame = Frame.objects.all()[0]
self.assertEqual(1, len(frame.arguments.all()))
def test_attach_examples_to_frame(self):
request = self.factory.post("/pl/freelus/create_new_slowal_frame/",
HTTP_X_REQUESTED_WITH='XMLHttpRequest',
data={'entry_id': self.entry.pk,
'lu_ids': json.dumps([self.lu.pk], separators=(',', ':'))})
response = create_new_slowal_frame(request)
frame = Frame.objects.all()[0]
request = self.factory.post("/pl/freelus/add_argument_to_frame/",
HTTP_X_REQUESTED_WITH='XMLHttpRequest',
data={'frame_id': frame.pk,
'role_id': self.argument_role.pk,
'role_type': 1})
response = add_argument_to_frame(request)
argument = frame.arguments.all()[0]
request = self.factory.post("/pl/freelus/attach_examples_to_frame/",
HTTP_X_REQUESTED_WITH='XMLHttpRequest',
data={'frame_id': frame.pk,
'example_ids': json.dumps([self.example.pk], separators=(',', ':'))})
response = attach_examples_to_frame(request)