/** * Test fallback to file generation API with enable_static_file disabled */ public function testGeneratedFile() { Config::inst()->update('ErrorPage', 'enable_static_file', false); $this->logInWithPermission('ADMIN'); $page = new ErrorPage(); $page->ErrorCode = 405; $page->Title = 'Method Not Allowed'; $page->write(); $page->doPublish(); // Dynamic content is available $response = ErrorPage::response_for('405'); $this->assertNotEmpty($response); $this->assertNotEmpty($response->getBody()); $this->assertEquals(405, (int) $response->getStatusCode()); // Static content is not available $this->assertEmpty(ErrorPage::get_content_for_errorcode('405')); $expectedErrorPagePath = AssetStoreTest_SpyStore::base_path() . '/error-405.html'; $this->assertFileNotExists($expectedErrorPagePath, 'Error page is not cached in static location'); }
/** * Test fallback to file generation API with enable_static_file disabled */ public function testGeneratedFile() { Config::inst()->update('ErrorPage', 'enable_static_file', false); $this->logInWithPermission('ADMIN'); $page = new ErrorPage(); $page->ErrorCode = 405; $page->Title = 'Method Not Allowed'; $page->write(); $page->doPublish(); // Error content is available, even though the static file does not exist (only in assetstore) $this->assertNotEmpty(ErrorPage::get_content_for_errorcode('405')); $expectedErrorPagePath = AssetStoreTest_SpyStore::base_path() . '/error-405.html'; $this->assertFileNotExists($expectedErrorPagePath, 'Error page is not cached in static location'); }