コード例 #1
0
ファイル: test_pager.py プロジェクト: hhru/hh-webutils
    def test_paging_links_limit(self):
        current_page, paging_xml = ph.get_paging_xml(logger,
                                                     items_number=100,
                                                     items_on_page=1,
                                                     current_page=50,
                                                     paging_links_number=10)
        self.assertEqual(len(self.get_pages_items(paging_xml)), 11)

        current_page, paging_xml = ph.get_paging_xml(logger,
                                                     items_number=100,
                                                     items_on_page=1,
                                                     current_page=50,
                                                     paging_links_number=1)
        self.assertEqual(len(self.get_pages_items(paging_xml)), 1)

        current_page, paging_xml = ph.get_paging_xml(logger,
                                                     items_number=100,
                                                     items_on_page=1,
                                                     current_page=50,
                                                     paging_links_number=2)
        self.assertEqual(len(self.get_pages_items(paging_xml)), 3)

        current_page, paging_xml = ph.get_paging_xml(logger,
                                                     items_number=100,
                                                     items_on_page=1,
                                                     current_page=50,
                                                     paging_links_number=3)
        self.assertEqual(len(self.get_pages_items(paging_xml)), 3)
コード例 #2
0
ファイル: test_pager.py プロジェクト: hhru/hh-webutils
 def test_both_total_pages_and_items_number_specified(self):
     try:
         ph.get_paging_xml(logger, total_pages=10, items_number=20)
     except TypeError as e:
         self.assertEqual(str(e), "Only one of items_number or total_pages should be specified")
     else:
         self.fail("TypeError should raised")
コード例 #3
0
ファイル: test_pager.py プロジェクト: hhru/hh-webutils
    def test_intervals_intersection(self):
        for cur_page in range(6):
            current_page, paging_xml = ph.get_paging_xml(
                logger, items_number=100, items_on_page=1, current_page=cur_page, paging_links_number=10
            )
            self.assertEqual(self.get_pages_items(paging_xml)[0].get("page"), "0")
            self.assertEqual(self.get_pages_items(paging_xml)[-1].get("page"), "10")

        current_page, paging_xml = ph.get_paging_xml(
            logger, items_number=100, items_on_page=1, current_page=6, paging_links_number=10
        )
        self.assertEqual(self.get_pages_items(paging_xml)[0].get("page"), "1")
        self.assertEqual(self.get_pages_items(paging_xml)[-1].get("page"), "11")

        current_page, paging_xml = ph.get_paging_xml(
            logger, items_number=100, items_on_page=1, current_page=93, paging_links_number=10
        )
        self.assertEquals(self.get_pages_items(paging_xml)[0].get("page"), "88")
        self.assertEquals(self.get_pages_items(paging_xml)[-1].get("page"), "98")

        for cur_page in range(94, 100):
            current_page, paging_xml = ph.get_paging_xml(
                logger, items_number=100, items_on_page=1, current_page=cur_page, paging_links_number=10
            )
            self.assertEqual(self.get_pages_items(paging_xml)[0].get("page"), "89")
            self.assertEqual(self.get_pages_items(paging_xml)[-1].get("page"), "99")
コード例 #4
0
ファイル: test_pager.py プロジェクト: hhru/hh-webutils
 def test_none_of_total_pages_and_items_number_specified(self):
     try:
         ph.get_paging_xml(logger)
     except TypeError:
         pass
     else:
         self.fail("TypeError should raised")
コード例 #5
0
ファイル: test_pager.py プロジェクト: hhru/hh-webutils
    def test_dots(self):
        for cur_page in range(90, 94):
            current_page, paging_xml = ph.get_paging_xml(logger,
                                                         items_number=100,
                                                         items_on_page=1,
                                                         current_page=cur_page,
                                                         paging_links_number=10)
            self.assertEqual([str(cur_page - 10), '99'], self.get_dots_pages(paging_xml))

        for cur_page in range(94, 100):
            current_page, paging_xml = ph.get_paging_xml(logger,
                                                         items_number=100,
                                                         items_on_page=1,
                                                         current_page=cur_page,
                                                         paging_links_number=10)
            self.assertEqual([str(cur_page - 10)], self.get_dots_pages(paging_xml))

        for cur_page in range(6):
            current_page, paging_xml = ph.get_paging_xml(logger,
                                                         items_number=100,
                                                         items_on_page=1,
                                                         current_page=cur_page,
                                                         paging_links_number=10)
            self.assertEqual([str(cur_page + 10)], self.get_dots_pages(paging_xml))

        for cur_page in range(11, 18):
            current_page, paging_xml = ph.get_paging_xml(logger,
                                                         items_number=100,
                                                         items_on_page=1,
                                                         current_page=cur_page,
                                                         paging_links_number=10)
            self.assertEqual([str(cur_page - 10), str(cur_page + 10)], self.get_dots_pages(paging_xml))
コード例 #6
0
ファイル: test_pager.py プロジェクト: hhru/hh-webutils
    def test_selected_page_in_xml(self):
        current_page, paging_xml = ph.get_paging_xml(logger, items_number=100)
        self.assertEqual(current_page, 0)
        self.assert_selected_page(paging_xml, 0)

        current_page, paging_xml = ph.get_paging_xml(logger, items_number=10, items_on_page=3, current_page=10)
        self.assertEqual(current_page, 3)
        self.assert_selected_page(paging_xml, 3)
コード例 #7
0
ファイル: test_pager.py プロジェクト: hhru/hh-webutils
    def test_pager_items_count(self):
        current_page, paging_xml = ph.get_paging_xml(logger, items_number=101, items_on_page=10)
        self.assertEqual(len(self.get_all_items(paging_xml)), 11)

        current_page, paging_xml = ph.get_paging_xml(logger, items_number=100, items_on_page=10)
        self.assertEqual(len(self.get_all_items(paging_xml)), 10)

        current_page, paging_xml = ph.get_paging_xml(logger, items_number=91, items_on_page=10)
        self.assertEqual(len(self.get_all_items(paging_xml)), 10)

        current_page, paging_xml = ph.get_paging_xml(logger, items_number=95, items_on_page=10)
        self.assertEqual(len(self.get_all_items(paging_xml)), 10)
コード例 #8
0
ファイル: test_pager.py プロジェクト: hhru/hh-webutils
    def test_next_previous(self):
        current_page, paging_xml = ph.get_paging_xml(logger, items_number=10, items_on_page=1,
                                                     paging_links_number=1, current_page=0)
        self.assertXpathInXml(paging_xml, 'previous[@disabled="True"]')
        self.assertXpathInXml(paging_xml, 'next[@disabled="False"]')

        current_page, paging_xml = ph.get_paging_xml(logger, items_number=10, items_on_page=1,
                                                     paging_links_number=1, current_page=1)
        self.assertXpathInXml(paging_xml, 'previous[@disabled="False"]')
        self.assertXpathInXml(paging_xml, 'next[@disabled="False"]')

        current_page, paging_xml = ph.get_paging_xml(logger, items_number=10, items_on_page=1,
                                                     paging_links_number=1, current_page=10)
        self.assertXpathInXml(paging_xml, 'previous[@disabled="False"]')
        self.assertXpathInXml(paging_xml, 'next[@disabled="True"]')
コード例 #9
0
ファイル: test_pager.py プロジェクト: hhru/hh-webutils
    def test_no_xml(self):
        current_page, paging_xml = ph.get_paging_xml(logger, items_number=10)
        self.assertEqual(current_page, 0)
        self.assertEqual(paging_xml, None)

        current_page, paging_xml = ph.get_paging_xml(logger, items_number=100, items_on_page=100)
        self.assertEqual(current_page, 0)
        self.assertEqual(paging_xml, None)

        current_page, paging_xml = ph.get_paging_xml(logger, items_number=10, current_page=1)
        self.assertEqual(current_page, 0)
        self.assertEqual(paging_xml, None)

        current_page, paging_xml = ph.get_paging_xml(logger, items_number=10, items_on_page=10, current_page=10)
        self.assertEqual(current_page, 0)
        self.assertEqual(paging_xml, None)
コード例 #10
0
ファイル: test_pager.py プロジェクト: hhru/hh-webutils
    def test_intervals_intersection(self):
        for cur_page in range(6):
            current_page, paging_xml = ph.get_paging_xml(logger, items_number=100, items_on_page=1,
                                                         current_page=cur_page, paging_links_number=10)
            self.assertEqual(self.get_pages_items(paging_xml)[0].get('page'), '0')
            self.assertEqual(self.get_pages_items(paging_xml)[-1].get('page'), '10')

        current_page, paging_xml = ph.get_paging_xml(logger, items_number=100, items_on_page=1, current_page=6,
                                                     paging_links_number=10)
        self.assertEqual(self.get_pages_items(paging_xml)[0].get('page'), '1')
        self.assertEqual(self.get_pages_items(paging_xml)[-1].get('page'), '11')

        current_page, paging_xml = ph.get_paging_xml(logger, items_number=100, items_on_page=1, current_page=93,
                                                     paging_links_number=10)
        self.assertEquals(self.get_pages_items(paging_xml)[0].get('page'), '88')
        self.assertEquals(self.get_pages_items(paging_xml)[-1].get('page'), '99')

        for cur_page in range(94, 100):
            current_page, paging_xml = ph.get_paging_xml(logger, items_number=100, items_on_page=1,
                                                         current_page=cur_page, paging_links_number=10)
            self.assertEqual(self.get_pages_items(paging_xml)[0].get('page'), '89')
            self.assertEqual(self.get_pages_items(paging_xml)[-1].get('page'), '99')
コード例 #11
0
ファイル: test_pager.py プロジェクト: hhru/hh-webutils
 def test_paging_xml_with_total_pages(self):
     current_page, paging_xml = ph.get_paging_xml(logger, total_pages=4, items_on_page=3, current_page=3)
     expected = """
         <pager>
             <previous disabled="False" page="2"/>
             <item text="1" page="0"/>
             <item text="2" page="1"/>
             <item text="3" page="2"/>
             <item text="4" page="3" selected="true"/>
             <next disabled="True" page="4"/>
             <os>Win</os>
         </pager>
         """.strip()
     self.assertXmlEqual(expected, paging_xml)
     self.assertEqual(3, current_page)
コード例 #12
0
ファイル: test_pager.py プロジェクト: hhru/hh-webutils
 def test_paging_xml(self):
     current_page, paging_xml = ph.get_paging_xml(logger, items_number=10, items_on_page=3, current_page=1)
     expected = """
         <pager>
             <previous disabled="False" page="0"/>
             <item text="1" page="0"/>
             <item text="2" page="1" selected="true"/>
             <item text="3" page="2"/>
             <item text="4" page="3"/>
             <next disabled="False" page="2"/>
             <os>Win</os>
         </pager>
         """.strip()
     self.assertXmlEqual(expected, paging_xml)
     self.assertEqual(1, current_page)
コード例 #13
0
ファイル: test_pager.py プロジェクト: hhru/hh-webutils
 def test_input_params_to_int(self):
     current_page, paging_xml = ph.get_paging_xml(logger, items_number="100", current_page="2", items_on_page="10")
     self.assertEqual(current_page, 2)
     self.assertNotEqual(paging_xml, None)
コード例 #14
0
ファイル: test_pager.py プロジェクト: hhru/hh-webutils
 def test_bad_total_pages(self):
     current_page, paging_xml = ph.get_paging_xml(logger, total_pages="50abcd")
     self.assertEqual(current_page, None)
     self.assertEqual(paging_xml, None)
コード例 #15
0
ファイル: test_pager.py プロジェクト: hhru/hh-webutils
 def test_negative_items_on_page(self):
     self.assert_total_error(*ph.get_paging_xml(logger, items_number="100", items_on_page="-1"))
コード例 #16
0
ファイル: test_pager.py プロジェクト: hhru/hh-webutils
 def test_zero_items_on_page(self):
     self.assert_total_error(*ph.get_paging_xml(logger, items_number="100", items_on_page="0"))
コード例 #17
0
ファイル: test_pager.py プロジェクト: hhru/hh-webutils
 def test_bad_items_number(self):
     self.assert_total_error(*ph.get_paging_xml(logger, items_number="100ds"))
コード例 #18
0
ファイル: test_pager.py プロジェクト: hhru/hh-webutils
 def test_bad_items_on_page(self):
     self.assert_total_error(*ph.get_paging_xml(logger, items_number='100', items_on_page='0s'))
コード例 #19
0
ファイル: test_pager.py プロジェクト: hhru/hh-webutils
 def test_negative_items_on_page(self):
     self.assert_total_error(*ph.get_paging_xml(logger, items_number='100', items_on_page='-1'))