X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/eaf0711613bea8181528d8911b30ef7976b7bb42..HEAD:/src/catalogue/tests/test_book_import.py diff --git a/src/catalogue/tests/test_book_import.py b/src/catalogue/tests/test_book_import.py index 9fdb29889..f38aea8c3 100644 --- a/src/catalogue/tests/test_book_import.py +++ b/src/catalogue/tests/test_book_import.py @@ -1,6 +1,5 @@ -# -*- coding: utf-8 -*- -# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later. -# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information. +# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later. +# Copyright © Fundacja Wolne Lektury. See NOTICE for more information. # from django.core.files.base import ContentFile from catalogue.test_utils import * @@ -15,21 +14,21 @@ class BookImportLogicTests(WLTestCase): def setUp(self): WLTestCase.setUp(self) self.book_info = BookInfoStub( - url=WLURI.from_slug(u"default-book"), - about=u"http://wolnelektury.pl/example/URI/default_book", - title=u"Default Book", + url=WLURI("default-book"), + about="http://wolnelektury.pl/example/URI/default_book", + title="Default Book", author=PersonStub(("Jim",), "Lazy"), kind="X-Kind", genre="X-Genre", epoch="X-Epoch", - language=u"pol", + language="pol", ) self.expected_tags = [ - ('author', 'jim-lazy'), - ('genre', 'x-genre'), - ('epoch', 'x-epoch'), - ('kind', 'x-kind'), + ('author', 'jim-lazy'), + ('genre', 'x-genre'), + ('epoch', 'x-epoch'), + ('kind', 'x-kind'), ] self.expected_tags.sort() @@ -40,7 +39,7 @@ class BookImportLogicTests(WLTestCase): self.assertEqual(book.title, "Default Book") self.assertEqual(book.slug, "default-book") - self.assert_(book.parent is None) + self.assertTrue(book.parent is None) self.assertFalse(book.has_html_file()) # no fragments generated @@ -84,9 +83,9 @@ class BookImportLogicTests(WLTestCase): self.assertTrue(book.has_html_file()) self.assertEqual(book.fragments.count(), 1) - self.assertEqual(book.fragments.all()[0].text, u'

Ala ma kota

\n') + self.assertEqual(book.fragments.all()[0].text, '

Ala ma kota

\n') - self.assert_(('theme', 'love') in [(tag.category, tag.slug) for tag in book.fragments.all()[0].tags]) + self.assertTrue(('theme', 'love') in [(tag.category, tag.slug) for tag in book.fragments.all()[0].tags]) def test_book_with_empty_theme(self): """ empty themes should be ignored """ @@ -98,8 +97,14 @@ class BookImportLogicTests(WLTestCase): """ book = models.Book.from_text_and_meta(ContentFile(book_text), self.book_info) - self.assert_([('theme', 'love')], - book.fragments.all()[0].tags.filter(category='theme').values_list('category', 'slug')) + self.assertEqual( + [('theme', 'love')], + list( + book.fragments.all()[0].tags.filter( + category='theme' + ).values_list('category', 'slug') + ) + ) def test_book_with_no_theme(self): """ fragments with no themes shouldn't be created at all """ @@ -116,7 +121,7 @@ class BookImportLogicTests(WLTestCase): def test_book_with_invalid_slug(self): """ Book with invalid characters in slug shouldn't be imported """ - self.book_info.url = WLURI.from_slug(u"default_book") + self.book_info.url = WLURI("default_book") book_text = "" with self.assertRaises(ValueError): models.Book.from_text_and_meta(ContentFile(book_text), self.book_info) @@ -124,7 +129,7 @@ class BookImportLogicTests(WLTestCase): def test_book_replace_title(self): book_text = """""" models.Book.from_text_and_meta(ContentFile(book_text), self.book_info) - self.book_info.title = u"Extraordinary" + self.book_info.title = "Extraordinary" book = models.Book.from_text_and_meta(ContentFile(book_text), self.book_info, overwrite=True) tags = [(tag.category, tag.slug) for tag in book.tags] @@ -181,10 +186,10 @@ class BookImportLogicTests(WLTestCase): self.book_info.epochs = self.book_info.epoch, 'Y-Epoch', self.expected_tags.extend([ - ('author', 'joe-dilligent'), - ('genre', 'y-genre'), - ('epoch', 'y-epoch'), - ('kind', 'y-kind'), + ('author', 'joe-dilligent'), + ('genre', 'y-genre'), + ('epoch', 'y-epoch'), + ('kind', 'y-kind'), ]) self.expected_tags.sort() @@ -288,16 +293,16 @@ class TreeImportTest(WLTestCase): def test_ok(self): self.assertEqual( - list(self.client.get('/katalog/gatunek/x-genre/').context['object_list']), - [self.parent], - u"There should be only parent on common tag page." - ) + list(self.client.get('/katalog/gatunek/x-genre/').context['object_list']), + [self.parent], + "There should be only parent on common tag page." + ) # pies = models.Tag.objects.get(slug='pies') themes = self.parent.related_themes() - self.assertEqual(len(themes), 1, u"There should be child theme in parent theme counter.") + self.assertEqual(len(themes), 1, "There should be child theme in parent theme counter.") # TODO: book_count is deprecated, update here. # epoch = models.Tag.objects.get(slug='x-epoch') - # self.assertEqual(epoch.book_count, 1, u"There should be only parent in common tag's counter.") + # self.assertEqual(epoch.book_count, 1, "There should be only parent in common tag's counter.") def test_child_republish(self): child_text = """ @@ -309,17 +314,17 @@ class TreeImportTest(WLTestCase): models.Book.from_text_and_meta( ContentFile(child_text), self.child_info, overwrite=True) self.assertEqual( - list(self.client.get('/katalog/gatunek/x-genre/').context['object_list']), - [self.parent], - u"There should only be parent on common tag page." - ) + list(self.client.get('/katalog/gatunek/x-genre/').context['object_list']), + [self.parent], + "There should only be parent on common tag page." + ) # pies = models.Tag.objects.get(slug='pies') # kot = models.Tag.objects.get(slug='kot') self.assertEqual(len(self.parent.related_themes()), 2, - u"There should be child themes in parent theme counter.") + "There should be child themes in parent theme counter.") # TODO: book_count is deprecated, update here. # epoch = models.Tag.objects.get(slug='x-epoch') - # self.assertEqual(epoch.book_count, 1, u"There should only be parent in common tag's counter.") + # self.assertEqual(epoch.book_count, 1, "There should only be parent in common tag's counter.") def test_book_change_child(self): second_child_info = BookInfoStub( @@ -346,31 +351,31 @@ class TreeImportTest(WLTestCase): self.assertEqual( set(self.client.get('/katalog/gatunek/x-genre/').context['object_list']), {self.parent, self.child}, - u"There should be parent and old child on common tag page." + "There should be parent and old child on common tag page." ) # kot = models.Tag.objects.get(slug='kot') self.assertEqual(len(self.parent.related_themes()), 1, - u"There should only be new child themes in parent theme counter.") + "There should only be new child themes in parent theme counter.") # # book_count deprecated, update test. # epoch = models.Tag.objects.get(slug='x-epoch') # self.assertEqual(epoch.book_count, 2, - # u"There should be parent and old child in common tag's counter.") + # "There should be parent and old child in common tag's counter.") self.assertEqual( list(self.client.get('/katalog/lektura/parent/motyw/kot/').context['fragments']), [second_child.fragments.all()[0]], - u"There should be new child's fragments on parent's theme page." + "There should be new child's fragments on parent's theme page." ) self.assertEqual( list(self.client.get('/katalog/lektura/parent/motyw/pies/').context['fragments']), [], - u"There should be no old child's fragments on parent's theme page." + "There should be no old child's fragments on parent's theme page." ) class MultilingualBookImportTest(WLTestCase): def setUp(self): WLTestCase.setUp(self) - common_uri = WLURI.from_slug('common-slug') + common_uri = WLURI('common-slug') self.pol_info = BookInfoStub( genre='X-Genre', @@ -378,7 +383,7 @@ class MultilingualBookImportTest(WLTestCase): kind='X-Kind', author=PersonStub(("Joe",), "Doe"), variant_of=common_uri, - **info_args(u"Książka") + **info_args("Książka") ) self.eng_info = BookInfoStub( @@ -397,7 +402,7 @@ class MultilingualBookImportTest(WLTestCase): models.Book.from_text_and_meta(ContentFile(book_text), self.eng_info) self.assertEqual( - set([b.language for b in models.Book.objects.all()]), + {b.language for b in models.Book.objects.all()}, {'pol', 'eng'}, 'Books imported in wrong languages.' )