diff --git a/code/extensions/SiteTreeContentReview.php b/code/extensions/SiteTreeContentReview.php index b3a8b90..5513704 100644 --- a/code/extensions/SiteTreeContentReview.php +++ b/code/extensions/SiteTreeContentReview.php @@ -132,12 +132,16 @@ class SiteTreeContentReview extends DataExtension implements PermissionProvider * @return string */ public function getOwnerNames() { + $options = $this->getOptions(); $names = array(); - foreach($this->OwnerGroups() as $group) { + if(!$options) { + return ''; + } + foreach($options->OwnerGroups() as $group) { $names[] = $group->getBreadcrumbs(' > '); } - foreach($this->OwnerUsers() as $group) { + foreach($options->OwnerUsers() as $group) { $names[] = $group->getName(); } return implode(', ', $names); diff --git a/tests/ContentReviewTest.php b/tests/ContentReviewTest.php deleted file mode 100644 index c1887e2..0000000 --- a/tests/ContentReviewTest.php +++ /dev/null @@ -1,26 +0,0 @@ -objFromFixture('Member', 'editor'); - $this->logInAs($editor); - - $page = new Page(); - $page->ReviewPeriodDays = 10; - $page->ContentReviewUsers()->push($editor); - $page->write(); - - $this->assertTrue($page->doPublish()); - $this->assertEquals($page->OwnerNames, "Test Editor", 'Test Editor should be the owner'); - - $page = $this->objFromFixture('Page', 'about'); - $page->ContentReviewOwnerID = 0; - $page->write(); - - $this->assertTrue($page->doPublish()); - $this->assertEquals('', $page->OwnerNames); - } -} diff --git a/tests/SiteTreeContentReviewTest.php b/tests/SiteTreeContentReviewTest.php index be01187..4f4632e 100644 --- a/tests/SiteTreeContentReviewTest.php +++ b/tests/SiteTreeContentReviewTest.php @@ -4,6 +4,27 @@ class SiteTreeContentReviewTest extends FunctionalTest { public static $fixture_file = 'contentreview/tests/ContentReviewTest.yml'; + public function testOwnerNames() { + $editor = $this->objFromFixture('Member', 'editor'); + $this->logInAs($editor); + + $page = new Page(); + $page->ReviewPeriodDays = 10; + $page->ContentReviewType ='Custom'; + $page->ContentReviewUsers()->push($editor); + $page->write(); + + $this->assertTrue($page->doPublish()); + $this->assertEquals($page->OwnerNames, "Test Editor", 'Test Editor should be the owner'); + + $page = $this->objFromFixture('Page', 'about'); + $page->OwnerUsers()->removeAll(); + $page->write(); + + $this->assertTrue($page->doPublish()); + $this->assertEquals('', $page->OwnerNames); + } + public function testPermissionsExists() { $perms = singleton('SiteTreeContentReview')->providePermissions(); $this->assertTrue(isset($perms['EDIT_CONTENT_REVIEW_FIELDS']));