Skip to content
Snippets Groups Projects
Commit 9ff5dcdd authored by ml bonhomme's avatar ml bonhomme :bee:
Browse files

partial/update text orientation

parent 3b78a2c8
No related branches found
No related tags found
No related merge requests found
# Generated by Django 3.2.6 on 2021-10-22 08:27
import enumfields.fields
from django.db import migrations
import arkindex.documents.models
class Migration(migrations.Migration):
dependencies = [
('documents', '0044_remove_metadata_index'),
]
operations = [
migrations.AddField(
model_name='transcription',
name='orientation',
field=enumfields.fields.EnumField(default='horizontal-lr', enum=arkindex.documents.models.TextOrientation, max_length=50),
),
]
......@@ -149,6 +149,88 @@ class TestEditTranscription(FixtureAPITestCase):
'worker_version_id': None,
})
def test_transcription_patch_orientation(self):
"""
Assert it is possible to edit only the text orientation
"""
self.client.force_login(self.user)
manual_tr_id = self.manual_transcription.id
response = self.client.patch(
reverse('api:transcription-edit', kwargs={'pk': manual_tr_id}),
format='json',
data={
'orientation': 'vertical-rl'
}
)
self.assertEqual(response.status_code, status.HTTP_200_OK)
self.manual_transcription.refresh_from_db()
self.assertDictEqual(response.json(), {
'id': str(manual_tr_id),
'confidence': None,
'score': None,
'text': 'A manual transcription',
'orientation': 'vertical-rl',
'worker_version_id': None,
})
def test_transcription_patch_invalid_orientation(self):
"""
An invalid text orientation value causes an error
"""
self.client.force_login(self.user)
manual_tr_id = self.manual_transcription.id
response = self.client.patch(
reverse('api:transcription-edit', kwargs={'pk': manual_tr_id}),
format='json',
data={
'orientation': 'wobbly'
}
)
self.assertEqual(response.status_code, status.HTTP_400_BAD_REQUEST)
self.assertEqual(response.json(), {'orientation': ['Value is not of type TextOrientation']})
def test_transcription_edit_orientation(self):
"""
Assert it is possible to edit the text orientation with UpdateTranscription
"""
self.client.force_login(self.user)
manual_tr_id = self.manual_transcription.id
response = self.client.put(
reverse('api:transcription-edit', kwargs={'pk': manual_tr_id}),
format='json',
data={
'text': 'a knight was living lonely',
'orientation': 'vertical-rl',
}
)
self.assertEqual(response.status_code, status.HTTP_200_OK)
self.manual_transcription.refresh_from_db()
self.assertDictEqual(response.json(), {
'id': str(manual_tr_id),
'confidence': None,
'score': None,
'text': 'a knight was living lonely',
'orientation': 'vertical-rl',
'worker_version_id': None,
})
def test_transcription_edit_invalid_orientation(self):
"""
An invalid text orientation value causes an error
"""
self.client.force_login(self.user)
manual_tr_id = self.manual_transcription.id
response = self.client.put(
reverse('api:transcription-edit', kwargs={'pk': manual_tr_id}),
format='json',
data={
'text': 'a knight was living lonely',
'orientation': 'wobbly',
}
)
self.assertEqual(response.status_code, status.HTTP_400_BAD_REQUEST)
self.assertEqual(response.json(), {'orientation': ['Value is not of type TextOrientation']})
def test_transcription_patch_write_right(self):
"""
A write right is required to patch a manual transcription
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment