BUG Fix ContentControllerTest

This commit is contained in:
Damian Mooyman 2014-03-25 17:14:05 +13:00
parent b497b8f548
commit 4b87b2e2e6
6 changed files with 34 additions and 28 deletions

View File

@ -132,40 +132,43 @@ class ContentControllerTest extends FunctionalTest {
* @covers ContentController::getViewer() * @covers ContentController::getViewer()
**/ **/
public function testGetViewer() { public function testGetViewer() {
$self = $this;
$this->useTestTheme(dirname(__FILE__), 'controllertest', function() use ($self) {
// Test a page without a controller (ContentControllerTest_PageWithoutController.ss) // Test a page without a controller (ContentControllerTest_PageWithoutController.ss)
$page = new ContentControllerTestPageWithoutController(); $page = new ContentControllerTestPageWithoutController();
$page->URLSegment = "test"; $page->URLSegment = "test";
$page->write(); $page->write();
$page->publish("Stage", "Live"); $page->publish("Stage", "Live");
$response = $this->get($page->RelativeLink()); $response = $self->get($page->RelativeLink());
$this->assertEquals("ContentControllerTestPageWithoutController", $response->getBody()); $self->assertEquals("ContentControllerTestPageWithoutController", $response->getBody());
// // This should fall over to user Page.ss
$page = new ContentControllerTestPage();
$page->URLSegment = "test";
$page->write();
$page->publish("Stage", "Live");
$response = $self->get($page->RelativeLink());
$self->assertEquals("Page", $response->getBody());
// // This should fall over to user Page.ss // Test that the action template is rendered.
$page = new ContentControllerTestPage(); $page = new ContentControllerTestPage();
$page->URLSegment = "test"; $page->URLSegment = "page-without-controller";
$page->write(); $page->write();
$page->publish("Stage", "Live"); $page->publish("Stage", "Live");
$response = $this->get($page->RelativeLink()); $response = $self->get($page->RelativeLink("test"));
$this->assertEquals("Foo", $response->getBody()); $self->assertEquals("ContentControllerTestPage_test", $response->getBody());
// Test that an action without a template will default to the index template, which is
// Test that the action template is rendered. // to say the default Page.ss template
$page = new ContentControllerTestPage(); $response = $self->get($page->RelativeLink("testwithouttemplate"));
$page->URLSegment = "page-without-controller"; $self->assertEquals("Page", $response->getBody());
$page->write(); });
$page->publish("Stage", "Live");
$response = $this->get($page->RelativeLink("test"));
$this->assertEquals("ContentControllerTestPage_test", $response->getBody());
// Test that an action without a template will default to the index template, which is
// to say the default Page.ss template
$response = $this->get($page->RelativeLink("testwithouttemplate"));
$this->assertEquals("Foo", $response->getBody());
} }
} }

View File

@ -0,0 +1 @@
Controller

View File

@ -0,0 +1 @@
Page

View File

@ -0,0 +1 @@
$Layout