示例#1
0
    def _test_serve_dynamicpage_scenario(self, page, page_model, expected_url, expected_result):
        '''This method provides a test scenario for serve dynamic page method.'''

        from fantastico.contrib.dynamic_pages.pages_router import PagesRouter

        page_facade = Mock()
        page_attr_facade = Mock()

        request = Mock()

        page_facade.get_records_paged = self._mock_page_get_records_paged(expected_url, [page])
        request.models = Mock()
        request.models.DynamicPage = page_facade
        request.models.DynamicPageModel = page_attr_facade

        page_attr_facade.get_records_paged = self._mock_pagemodel_get_records_paged(page_model)

        router = PagesRouter(Mock())

        router.load_template = self._mock_load_template(page, page_model, expected_result)

        response = router.serve_dynamic_page(request, expected_url[1:], os_provider=Mock())

        self.assertEqual(200, response.status_code)
        self.assertEqual("text/html", response.content_type)
        self.assertEqual(expected_result, response.body.decode())
示例#2
0
    def test_serve_dynamicpage_notfound(self):
        '''This test case covers the case when an inexistent dynamic page is requested.'''

        from fantastico.contrib.dynamic_pages.pages_router import PagesRouter

        expected_url = "/page/not/found"
        page_facade = Mock()
        request = Mock()

        page_facade.get_records_paged = self._mock_page_get_records_paged(expected_url, [])
        request.models = Mock()
        request.models.DynamicPage = page_facade

        router = PagesRouter(Mock())

        response = router.serve_dynamic_page(request, expected_url[1:], os_provider=Mock())

        self.assertEqual(404, response.status_code)
        self.assertEqual("text/html", response.content_type)