array("SiteTreeContentReview"), "Group" => array("ContentReviewOwner"), "Member" => array("ContentReviewOwner"), "CMSPageEditController" => array("ContentReviewCMSExtension"), "SiteConfig" => array("ContentReviewDefaultSettings"), ); public function testReviewedThrowsExceptionWithNoRecordID() { $this->setExpectedException("SS_HTTPResponse_Exception"); /** @var CMSPageEditController|ContentReviewCMSExtension $controller */ $controller = new CMSPageEditController(); $dummyForm = new CMSForm($controller, "EditForm", new FieldList(), new FieldList()); $controller->savereview(array( "ID" => null, "Message" => null, ), $dummyForm); } public function testReviewedThrowsExceptionWithWrongRecordID() { $this->setExpectedException("SS_HTTPResponse_Exception"); /** @var CMSPageEditController|ContentReviewCMSExtension $controller */ $controller = new CMSPageEditController(); $dummyForm = new CMSForm($controller, "EditForm", new FieldList(), new FieldList()); $controller->savereview(array( "ID" => "FAIL", "Message" => null, ), $dummyForm); } public function testReviewedWithAuthor() { /** @var Member $author */ $author = $this->objFromFixture("Member", "author"); $this->loginAs($author); /** @var Page|SiteTreeContentReview $page */ $page = $this->objFromFixture("Page", "home"); $data = array( "action_savereview" => 1, "ID" => $page->ID, ); $this->get('admin/pages/edit/show/' . $page->ID); $response = $this->post(singleton('CMSPageEditController')->getEditForm($page->ID)->FormAction(), $data); $this->assertEquals("OK", $response->getStatusDescription()); $this->assertEquals(200, $response->getStatusCode()); } public function testSaveReview() { /** @var Member $author */ $author = $this->objFromFixture("Member", "author"); $this->loginAs($author); /** @var Page|SiteTreeContentReview $page */ $page = $this->objFromFixture("Page", "home"); $data = array( "action_savereview" => 1, "ID" => $page->ID, "ReviewNotes" => "This is the best page ever", ); $this->get('admin/pages/edit/show/' . $page->ID); $response = $this->post(singleton('CMSPageEditController')->getEditForm($page->ID)->FormAction(), $data); $this->assertEquals("OK", $response->getStatusDescription()); $this->assertEquals(200, $response->getStatusCode()); $this->assertEquals(1, $page->ReviewLogs()->count()); $reviewLog = $page->ReviewLogs()->first(); $this->assertEquals($data["ReviewNotes"], $reviewLog->Note); } }