X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/60b06883b6d5a336ef47c01103ec1ce25aafae69..fd9768648fe3e37115655245f7fe7aba2adcc5e5:/apps/catalogue/tests/book_import.py diff --git a/apps/catalogue/tests/book_import.py b/apps/catalogue/tests/book_import.py index 29be73177..f4588d169 100644 --- a/apps/catalogue/tests/book_import.py +++ b/apps/catalogue/tests/book_import.py @@ -7,7 +7,7 @@ from catalogue import models from nose.tools import raises import tempfile -from os import unlink,path +from os import unlink, path, makedirs class BookImportLogicTests(WLTestCase): @@ -211,6 +211,15 @@ class ChildImportTests(WLTestCase): **info_args("Parent") ) + def test_child(self): + TEXT = """""" + child = models.Book.from_text_and_meta(ContentFile(TEXT), self.child_info) + parent = models.Book.from_text_and_meta(ContentFile(TEXT), self.parent_info) + author = parent.tags.get(category='author') + books = self.client.get(author.get_absolute_url()).context['object_list'] + self.assertEqual(len(books), 1, + "Only parent book should be visible on author's page") + def test_child_replace(self): PARENT_TEXT = """""" CHILD_TEXT = """ @@ -236,32 +245,26 @@ class ChildImportTests(WLTestCase): class BookImportGenerateTest(WLTestCase): def setUp(self): WLTestCase.setUp(self) - self.book_info = BookInfoStub( - url=u"http://wolnelektury.pl/example/default-book", - about=u"http://wolnelektury.pl/example/URI/default_book", - title=u"Default Book", - author=PersonStub(("Jim",), "Lazy"), - kind="X-Kind", - genre="X-Genre", - epoch="X-Epoch", - ) - - self.expected_tags = [ - ('author', 'jim-lazy'), - ('genre', 'x-genre'), - ('epoch', 'x-epoch'), - ('kind', 'x-kind'), - ] - self.expected_tags.sort() + input = path.join(path.dirname(__file__), 'files/fraszka-do-anusie.xml') + self.book = models.Book.from_xml_file(input) def test_gen_pdf(self): - input = open(path.dirname(__file__) + '/but-w-butonierce-but-w-butonierce.xml') - book = models.Book.from_text_and_meta(File(input), self.book_info, overwrite=True) - book.build_pdf() - self.assertTrue(path.exists(book.pdf_file.path)) - - def test_gen_pdf_child(self): - input = open(path.dirname(__file__) + "/fraszka-do-anusie.xml") - book = models.Book.from_text_and_meta(File(input), self.book_info, overwrite=True) - book.build_pdf() - self.assertTrue(path.exists(book.pdf_file.path)) + self.book.build_pdf() + self.assertTrue(path.exists(self.book.pdf_file.path)) + + def test_gen_pdf_parent(self): + """This book contains a child.""" + input = path.join(path.dirname(__file__), "files/fraszki.xml") + parent = models.Book.from_xml_file(input) + parent.build_pdf() + self.assertTrue(path.exists(parent.pdf_file.path)) + + def test_custom_pdf(self): + out = models.get_dynamic_path(None, 'test-custom', ext='pdf') + absoulute_path = path.join(settings.MEDIA_ROOT, out) + + if not path.exists(path.dirname(absoulute_path)): + makedirs(path.dirname(absoulute_path)) + + self.book.build_pdf(customizations=['nofootnotes', '13pt', 'a4paper'], file_name=out) + self.assertTrue(path.exists(absoulute_path))