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())
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)