[SiteTreeContentReview::class], Group::class => [ContentReviewOwner::class], Member::class => [ContentReviewOwner::class], CMSPageEditController::class => [ContentReviewCMSExtension::class], SiteConfig::class => [ContentReviewDefaultSettings::class], ]; public function testReviewedThrowsExceptionWithNoRecordID() { $this->expectException(HTTPResponse_Exception::class); /** @var CMSPageEditController|ContentReviewCMSExtension $controller */ $controller = new CMSPageEditController(); $dummyForm = new Form($controller, "EditForm", new FieldList(), new FieldList()); $controller->savereview(array( "ID" => null, "Message" => null, ), $dummyForm); } public function testReviewedThrowsExceptionWithWrongRecordID() { $this->expectException(HTTPResponse_Exception::class); /** @var CMSPageEditController|ContentReviewCMSExtension $controller */ $controller = new CMSPageEditController(); $dummyForm = new Form($controller, "EditForm", new FieldList(), new FieldList()); $controller->savereview(array( "ID" => "FAIL", "Message" => null, ), $dummyForm); } public function testReviewedWithAuthor() { /** @var Member $author */ $author = $this->objFromFixture(Member::class, "author"); $this->logInAs($author); /** @var Page|SiteTreeContentReview $page */ $page = $this->objFromFixture(Page::class, "home"); $data = array( "action_savereview" => 1, "ID" => $page->ID, ); $this->get('admin/pages/edit/show/' . $page->ID); $response = $this->post($this->getFormAction($page), $data); $this->assertEquals("OK", $response->getStatusDescription()); $this->assertEquals(200, $response->getStatusCode()); } /** * Return a CMS page edit form action via using a dummy request and session * * @param Page $page * @return string */ protected function getFormAction(Page $page) { $controller = singleton(CMSPageEditController::class); $controller->setRequest(new HTTPRequest('GET', '/')); $controller->getRequest()->setSession($this->session()); return $controller->getEditForm($page->ID)->FormAction(); } }