Title = 'New ' . $className; $page->URLSegment = "new-" . strtolower($className); $page->ClassName = $className; $page->ParentID = 0; $page->ID = 'new-Page-1'; $author = $this->objFromFixture('Member', 'cmseditor'); $this->session()->inst_set('loggedInAs', $author->ID); $actionsArr = $page->getCMSActions()->column('Name'); $this->assertContains('action_save',$actionsArr); $this->assertContains('action_publish',$actionsArr); $this->assertNotContains('action_unpublish',$actionsArr); $this->assertContains('action_delete',$actionsArr); $this->assertNotContains('action_deletefromlive',$actionsArr); $this->assertNotContains('action_rollback',$actionsArr); $this->assertNotContains('action_revert',$actionsArr); } function testActionsPublishedRecord() { $page = new Page(); $page->write(); $page->publish('Stage', 'Live'); $author = $this->objFromFixture('Member', 'cmseditor'); $this->session()->inst_set('loggedInAs', $author->ID); $actionsArr = $page->getCMSActions()->column('Name'); $this->assertContains('action_save',$actionsArr); $this->assertContains('action_publish',$actionsArr); $this->assertContains('action_unpublish',$actionsArr); $this->assertContains('action_delete',$actionsArr); $this->assertNotContains('action_deletefromlive',$actionsArr); $this->assertNotContains('action_rollback',$actionsArr); $this->assertNotContains('action_revert',$actionsArr); } function testActionsDeletedFromStageRecord() { $page = new Page(); $page->write(); $page->publish('Stage', 'Live'); $page->deleteFromStage('Stage'); $author = $this->objFromFixture('Member', 'cmseditor'); $this->session()->inst_set('loggedInAs', $author->ID); $actionsArr = $page->getCMSActions()->column('Name'); $this->assertNotContains('action_save',$actionsArr); $this->assertNotContains('action_publish',$actionsArr); $this->assertNotContains('action_unpublish',$actionsArr); $this->assertNotContains('action_delete',$actionsArr); $this->assertContains('action_deletefromlive',$actionsArr); $this->assertNotContains('action_rollback',$actionsArr); $this->assertContains('action_revert',$actionsArr); } function testActionsChangedOnStageRecord() { $page = new Page(); $page->write(); $page->publish('Stage', 'Live'); $page->Content = 'Changed on Stage'; $page->write(); $page->flushCache(); $author = $this->objFromFixture('Member', 'cmseditor'); $this->session()->inst_set('loggedInAs', $author->ID); $actionsArr = $page->getCMSActions()->column('Name'); $this->assertContains('action_save',$actionsArr); $this->assertContains('action_publish',$actionsArr); $this->assertContains('action_unpublish',$actionsArr); $this->assertContains('action_delete',$actionsArr); $this->assertNotContains('action_deletefromlive',$actionsArr); $this->assertContains('action_rollback',$actionsArr); $this->assertNotContains('action_revert',$actionsArr); } } } ?>