e88fe507d10fdb363bc6d31f3ba0dae32a218980
[wolnelektury.git] / apps / dictionary / tests.py
1 # -*- coding: utf-8 -*-
2 # This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
3 # Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
4 #
5 from django.core.files.base import ContentFile
6 from catalogue.test_utils import *
7 from catalogue.models import Book
8
9
10 class DictionaryTests(WLTestCase):
11
12     def setUp(self):
13         WLTestCase.setUp(self)
14         self.book_info = BookInfoStub(
15             author=PersonStub(("Jim",), "Lazy"),
16             kind="X-Kind",
17             genre="X-Genre",
18             epoch="X-Epoch",
19             **info_args(u"Default Book")
20         )
21
22     def test_book_with_footnote(self):
23         BOOK_TEXT = """<utwor>
24         <opowiadanie>
25             <akap><pe><slowo_obce>rose</slowo_obce> --- kind of a flower.</pe></akap>
26         </opowiadanie></utwor>
27         """
28
29         book = Book.from_text_and_meta(ContentFile(BOOK_TEXT), self.book_info)
30
31         self.assertEqual(
32             len(self.client.get('/przypisy/').context['object_list']),
33             1,
34             'There should be a note on the note list.')
35
36         self.assertEqual(
37             len(self.client.get('/przypisy/a/').context['object_list']),
38             0,
39             'There should not be a note for the letter A.')
40
41         self.assertEqual(
42             len(self.client.get('/przypisy/r/').context['object_list']),
43             1,
44             'There should be a note for the letter R.')
45