def test_save_book_info_book(self): 'Tests creating and updating book' book = Book(title='title', lang='en') save_book_inf(book, [], [], []) self.failUnlessEqual(Book.objects.all()[0].title, 'title') self.failUnlessEqual(Book.objects.all()[0].lang, 'en') self.failUnlessEqual(Book.objects.all().count(), 1) # test update lang book = Book(title='title2', lang='', language=self.unknown_language) book.save() book.lang = 'fr' save_book_inf(book, [], [], []) self.failUnlessEqual(Book.objects.all()[1].title, 'title2') self.failUnlessEqual(Book.objects.all()[1].lang, 'fr') self.failUnlessEqual(Book.objects.all().count(), 2)
def test_save_book_info_add_files(self): 'tests adding book_files to book' book = Book(title='title', lang='en') book_file = BookFile(link='link', link_hash=md5('link').hexdigest()) book_file.save() # set book_file to unexisting book save_book_inf(book, [], [book_file], []) self.failUnlessEqual(Book.objects.all()[0].book_file.all().count(), 1) self.failUnlessEqual(Book.objects.all()[0].book_file.all()[0], book_file) book_file2 = BookFile(link='link2', link_hash=md5('link2').hexdigest()) book_file2.save() # add book_file to existing book save_book_inf(book, [], [book_file2, book_file], []) self.failUnlessEqual(Book.objects.all()[0].book_file.all().count(), 2) self.failUnlessEqual(Book.objects.all()[0].book_file.all()[1], book_file2)
def test_save_book_info_add_author(self): 'tests adding authors to book' book = Book(title='title', lang='en') Author(name='auhtor name').save() Author(name='auhtor name2').save() save_book_inf(book, Author.objects.all(), [], []) self.failUnlessEqual(Author.objects.all().count(), 2) self.failUnlessEqual(Book.objects.all()[0].author.all().count(), 2) self.failUnlessEqual(Author.objects.all()[0], Book.objects.all()[0].author.all()[0]) self.failUnlessEqual(Author.objects.all()[1], Book.objects.all()[0].author.all()[1]) book = Book(title='title', lang='') author3 = Author(name='auhtor name3') author3.save() save_book_inf(book, Author.objects.all(), [], []) self.failUnlessEqual(Author.objects.all().count(), 3) self.failUnlessEqual(Book.objects.all()[1].author.all().count(), 3) self.failUnlessEqual(Author.objects.all()[0], Book.objects.all()[1].author.all()[0]) self.failUnlessEqual(Author.objects.all()[1], Book.objects.all()[1].author.all()[1]) self.failUnlessEqual(Author.objects.all()[2], Book.objects.all()[1].author.all()[2])