diff --git a/boards/models/post/sync.py b/boards/models/post/sync.py --- a/boards/models/post/sync.py +++ b/boards/models/post/sync.py @@ -111,7 +111,7 @@ class SyncManager: tag_tags = et.SubElement(content_tag, TAG_TAGS) for tag in thread.get_tags(): tag_tag = et.SubElement(tag_tags, TAG_TAG) - tag_tag.text = tag.name + tag_tag.text = tag.get_name() else: tag_thread = et.SubElement(content_tag, TAG_THREAD) thread_id = et.SubElement(tag_thread, TAG_ID) @@ -225,7 +225,7 @@ class SyncManager: tag_tags = tag_content.find(TAG_TAGS) for tag_tag in tag_tags: tag, created = Tag.objects.get_or_create( - name=tag_tag.text) + aliases__name=tag_tag.text) tags.append(tag) # TODO Check that the replied posts are already present diff --git a/boards/tests/test_api.py b/boards/tests/test_api.py --- a/boards/tests/test_api.py +++ b/boards/tests/test_api.py @@ -10,7 +10,7 @@ from boards.utils import datetime_to_epo class ApiTest(TestCase): def test_thread_diff(self): - tag = Tag.objects.create(name='test_tag') + tag, created = Tag.objects.get_or_create_with_alias(name='test_tag') opening_post = Post.objects.create_post(title='title', text='text', tags=[tag]) @@ -50,7 +50,7 @@ class ApiTest(TestCase): def test_get_threads(self): # Create 10 threads - tag = Tag.objects.create(name='test_tag') + tag, created = Tag.objects.get_or_create_with_alias(name='test_tag') for i in range(5): Post.objects.create_post(title='title', text='text', tags=[tag]) diff --git a/boards/tests/test_forms.py b/boards/tests/test_forms.py --- a/boards/tests/test_forms.py +++ b/boards/tests/test_forms.py @@ -22,7 +22,7 @@ class FormTest(TestCase): valid_tags = 'tag1 tag_2 тег_3' invalid_tags = '$%_356 ---' - Tag.objects.create(name='tag1', required=True) + Tag.objects.get_or_create_with_alias(name='tag1', required=True) response = client.post(NEW_THREAD_PAGE, {'title': 'test title', 'text': TEST_TEXT, diff --git a/boards/tests/test_pages.py b/boards/tests/test_pages.py --- a/boards/tests/test_pages.py +++ b/boards/tests/test_pages.py @@ -18,7 +18,7 @@ class PagesTest(TestCase): """Test receiving error 404 when opening a non-existent page""" tag_name = 'test_tag' - tag = Tag.objects.create(name=tag_name) + tag, created = Tag.objects.get_or_create_with_alias(name=tag_name) client = Client() Post.objects.create_post('title', TEST_TEXT, tags=[tag]) diff --git a/boards/tests/test_post.py b/boards/tests/test_post.py --- a/boards/tests/test_post.py +++ b/boards/tests/test_post.py @@ -9,7 +9,7 @@ from boards.models.thread import STATUS_ class PostTests(TestCase): def _create_post(self): - tag, created = Tag.objects.get_or_create(name='test_tag') + tag, created = Tag.objects.get_or_create_with_alias(name='test_tag') return Post.objects.create_post(title='title', text='text', tags=[tag]) @@ -19,7 +19,7 @@ class PostTests(TestCase): post = self._create_post() self.assertIsNotNone(post, 'No post was created.') - self.assertEqual('test_tag', post.get_thread().tags.all()[0].name, + self.assertEqual('test_tag', post.get_thread().tags.all()[0].get_name(), 'No tags were added to the post.') def test_delete_post(self): @@ -83,7 +83,7 @@ class PostTests(TestCase): def test_create_post_with_tag(self): """Test adding tag to post""" - tag = Tag.objects.create(name='test_tag') + tag, created = Tag.objects.get_or_create_with_alias(name='test_tag') post = Post.objects.create_post(title='title', text='text', tags=[tag]) thread = post.get_thread() @@ -117,7 +117,7 @@ class PostTests(TestCase): key = KeyPair.objects.generate_key(primary=True) - tag = Tag.objects.create(name='test_tag') + tag, created = Tag.objects.get_or_create_with_alias(name='test_tag') post = Post.objects.create_post(title='', text='', tags=[tag]) post_local_reflink = Post.objects.create_post(title='', @@ -133,7 +133,7 @@ class PostTests(TestCase): ways. """ - tag = Tag.objects.create(name='test_tag') + tag, created = Tag.objects.get_or_create_with_alias(name='test_tag') opening_post = Post.objects.create_post(title='title', text='text', tags=[tag]) thread = opening_post.get_thread() diff --git a/boards/tests/test_sync.py b/boards/tests/test_sync.py --- a/boards/tests/test_sync.py +++ b/boards/tests/test_sync.py @@ -15,7 +15,7 @@ class SyncTest(TestCase): """ key = KeyPair.objects.generate_key(primary=True) - tag = Tag.objects.create(name='tag1') + tag, created = Tag.objects.get_or_create_with_alias(name='tag1') post = Post.objects.create_post(title='test_title', text='test_text\rline two', tags=[tag]) @@ -49,7 +49,7 @@ class SyncTest(TestCase): post.global_id.key_type, post.title, post.get_sync_text(), - post.get_thread().get_tags().first().name, + post.get_thread().get_tags().first().get_name(), post.get_pub_time_str(), post.version, ) in response, @@ -66,7 +66,7 @@ class SyncTest(TestCase): parsed_post = Post.objects.first() self.assertEqual('tag1', - parsed_post.get_thread().get_tags().first().name, + parsed_post.get_thread().get_tags().first().get_name(), 'Invalid tag was parsed.') SyncManager.parse_response_get(response, None) @@ -98,7 +98,7 @@ class SyncTest(TestCase): post.global_id.key_type, post.title, post.get_sync_text(), - post.get_thread().get_tags().first().name, + post.get_thread().get_tags().first().get_name(), post.get_pub_time_str(), post.version, ) in response, @@ -106,7 +106,7 @@ class SyncTest(TestCase): def test_list_all(self): key = KeyPair.objects.generate_key(primary=True) - tag = Tag.objects.create(name='tag1') + tag, created = Tag.objects.get_or_create_with_alias(name='tag1') post = Post.objects.create_post(title='test_title', text='test_text\rline two', tags=[tag]) @@ -148,7 +148,7 @@ class SyncTest(TestCase): def test_list_existing_thread(self): key = KeyPair.objects.generate_key(primary=True) - tag = Tag.objects.create(name='tag1') + tag, created = Tag.objects.get_or_create_with_alias(name='tag1') post = Post.objects.create_post(title='test_title', text='test_text\rline two', tags=[tag]) @@ -186,7 +186,7 @@ class SyncTest(TestCase): def test_list_non_existing_thread(self): key = KeyPair.objects.generate_key(primary=True) - tag = Tag.objects.create(name='tag1') + tag, created = Tag.objects.get_or_create_with_alias(name='tag1') post = Post.objects.create_post(title='test_title', text='test_text\rline two', tags=[tag]) @@ -215,7 +215,7 @@ class SyncTest(TestCase): def test_list_pub_time(self): key = KeyPair.objects.generate_key(primary=True) - tag = Tag.objects.create(name='tag1') + tag, created = Tag.objects.get_or_create_with_alias(name='tag1') post = Post.objects.create_post(title='test_title', text='test_text\rline two', tags=[tag])