From 64a590f9ee7590ad04f6e559f15ff4a24394a981 Mon Sep 17 00:00:00 2001 From: ajurna Date: Thu, 25 Jun 2015 12:36:55 +0100 Subject: [PATCH] added tests for the comicbook model fixed bug related to last page link --- comic/models.py | 18 +- comic/templates/comic/read_comic.html | 2 +- comic/test/test1.rar | Bin 0 -> 212 bytes comic/test/test2.rar | Bin 0 -> 212 bytes comic/test/test3.rar | Bin 0 -> 212 bytes comic/test/test4.rar | Bin 0 -> 212 bytes comic/test/test_folder/blank.txt | 0 comic/util.py | 6 - comic/views.py | 2 +- comic_auth/tests.py | 227 ++++++++++++++++++++++++++ 10 files changed, 236 insertions(+), 19 deletions(-) create mode 100644 comic/test/test1.rar create mode 100644 comic/test/test2.rar create mode 100644 comic/test/test3.rar create mode 100644 comic/test/test4.rar create mode 100644 comic/test/test_folder/blank.txt diff --git a/comic/models.py b/comic/models.py index 2e64f88..a9ed5e7 100644 --- a/comic/models.py +++ b/comic/models.py @@ -55,7 +55,7 @@ class ComicBook(models.Model): self.prev_path = '' self.cur_index = 0 self.cur_path = '' - self.q_prev_comic = False + self.q_prev_to_directory = False self.q_next_to_directory = False def nav(self, comic_path, page): @@ -94,7 +94,7 @@ class ComicBook(models.Model): else: prev_comic = dir_list[comic_index - 1] comic_path = path.join(directory, prev_comic) - if not path.isdir(path.join(base_dir, prev_comic)): + if not path.isdir(path.join(base_dir, directory, prev_comic)): try: book = ComicBook.objects.get(file_name=prev_comic) except ComicBook.DoesNotExist: @@ -192,7 +192,7 @@ class ComicBook(models.Model): df.isdir = True df.icon = 'glyphicon-folder-open' df.location = urlsafe_base64_encode(path.join(comic_path, fn)) - elif fn.lower().endswith('cbz') or fn.lower().endswith('cbr'): + elif fn.lower()[-4:] in ['.rar', '.zip', '.cbr', '.cbz']: df.iscb = True df.icon = 'glyphicon-book' df.location = urlsafe_base64_encode(path.join(comic_path, fn)) @@ -213,20 +213,16 @@ class ComicBook(models.Model): df.label = 'Unprocessed' files.append(df) return files - class Comic: - def __init__(self): - self.name = '' - self.index = 0 + @property def pages(self): out = [] for item in ComicPage.objects.filter(Comic=self).order_by('index'): - i = self.Comic() - i.name = item.page_file_name - i.index = item.index - out.append(i) + out.append(item) return out + def page_name(self, index): + return ComicPage.objects.get(Comic=self, index=index).page_file_name class ComicPage(models.Model): Comic = models.ForeignKey(ComicBook) diff --git a/comic/templates/comic/read_comic.html b/comic/templates/comic/read_comic.html index d8b90b1..419a5c8 100644 --- a/comic/templates/comic/read_comic.html +++ b/comic/templates/comic/read_comic.html @@ -34,7 +34,7 @@ diff --git a/comic/test/test1.rar b/comic/test/test1.rar new file mode 100644 index 0000000000000000000000000000000000000000..66d0c37f8e2995cc819da955ece1d116accd2e3e GIT binary patch literal 212 zcmWGaEK-zWXE;Bhn1O+p0Rncll_*TmV&DMsK$z*@A7KOGq8o0q1{@3uK!MEMbVI$Y zf^>!haMlB$4qc!W1TcZ9@3|;CjPwff(it}7uTAT9!c@$bhoab6FFiAjVZ)&&RW2V) b#fuA26r1QJ!haMlB$4qc!W1TcZ9@3|;CjPwff(it}7uTAT9!c@$bhoab6FFiAjVZ)&&RW2V) b#fuA26r1QJ!haMlB$4qc!W1TcZ9@3|;CjPwff(it}7uTAT9!c@$bhoab6FFiAjVZ)&&RW2V) b#fuA26r1QJ!haMlB$4qc!W1TcZ9@3|;CjPwff(it}7uTAT9!c@$bhoab6FFiAjVZ)&&RW2V) b#fuA26r1QJUnread') + self.assertEqual(dir2.cur_page, 0) + + dir3 = folders[2] + self.assertEqual(dir3.name, 'test2.rar') + self.assertFalse(dir3.isdir) + self.assertEqual(dir3.icon, 'glyphicon-book') + self.assertTrue(dir3.iscb) + location = urlsafe_base64_encode(path.join('comic', 'test', 'test2.rar')) + self.assertEqual(dir3.location, location) + self.assertEqual(dir3.label, '3/4') + self.assertEqual(dir3.cur_page, 2) + + dir3 = folders[3] + self.assertEqual(dir3.name, 'test3.rar') + self.assertFalse(dir3.isdir) + self.assertEqual(dir3.icon, 'glyphicon-book') + self.assertTrue(dir3.iscb) + location = urlsafe_base64_encode(path.join('comic', 'test', 'test3.rar')) + self.assertEqual(dir3.location, location) + self.assertEqual(dir3.label, 'Unprocessed') + self.assertEqual(dir3.cur_page, 0) + + def test_pages(self): + book = ComicBook.objects.get(file_name='test1.rar') + pages = book.pages + self.assertEqual(pages[0].page_file_name, 'img1.jpg') + self.assertEqual(pages[0].index, 0) + self.assertEqual(pages[1].page_file_name, 'img2.png') + self.assertEqual(pages[1].index, 1) + self.assertEqual(pages[2].page_file_name, 'img3.gif') + self.assertEqual(pages[2].index, 2) + self.assertEqual(pages[3].page_file_name, 'img4.bmp') + self.assertEqual(pages[3].index, 3) + + def test_page_name(self): + book = ComicBook.objects.get(file_name='test1.rar') + self.assertEqual(book.page_name(0), 'img1.jpg') + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +