Source of file ManageableObjectDataExtensionTest.php
Size: 2,884 Bytes - Last Modified: 2021-12-24T06:46:25+00:00
/var/www/docs.ssmods.com/process/src/tests/Extensions/ManageableObjectDataExtensionTest.php
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111 | <?php namespace Dynamic\ManageableDataObject\Test\Extensions; use Dynamic\ManageableDataObject\Test\Model\SampleManageableDataObject; use Dynamic\ManageableDataObject\Test\Model\SampleManageableObjectPage; use SilverStripe\Control\Controller; use SilverStripe\Core\Injector\Injector; use SilverStripe\Dev\SapphireTest; use SilverStripe\Security\Security; /** * Class ManageableObjectDataExtensionTest */ class ManageableObjectDataExtensionTest extends SapphireTest { /** * @var string */ protected static $fixture_file = '../fixtures.yml'; /** * @var array */ protected static $extra_dataobjects = [ SampleManageableDataObject::class, SampleManageableObjectPage::class, ]; /** * Ensure any current member is logged out */ public function logOut() { if ($member = Security::getCurrentUser()) { Security::setCurrentUser(null); } } /** * */ public function testGetListingPage() { $this->assertEquals(SampleManageableObjectPage::class, Injector::inst()->get(SampleManageableDataObject::class)->getListingPage()); } /** * */ public function testGetAddLink() { /** @var SampleManageableObjectPage $page */ $page = $this->objFromFixture(SampleManageableObjectPage::class, 'one'); /** @var SampleManageableDataObject $object */ $object = $this->objFromFixture(SampleManageableDataObject::class, 'one'); $this->logOut(); $this->assertFalse($object->getAddLink()); $this->logInWithPermission('MDO_Create'); $this->assertEquals($page->Link('add'), $object->getAddLink()); $this->logOut(); } /** * */ public function testGetEditLink() { /** @var SampleManageableObjectPage $page */ $page = $this->objFromFixture(SampleManageableObjectPage::class, 'one'); /** @var SampleManageableDataObject $object */ $object = $this->objFromFixture(SampleManageableDataObject::class, 'one'); $this->logOut(); $this->assertFalse($object->getEditLink()); $this->logInWithPermission('MDO_Edit'); $this->assertEquals(Controller::join_links($page->Link('edit'), $object->ID), $object->getEditLink()); $this->logOut(); } /** * */ public function testGetDeleteLink() { /** @var SampleManageableObjectPage $page */ $page = $this->objFromFixture(SampleManageableObjectPage::class, 'one'); /** @var SampleManageableDataObject $object */ $object = $this->objFromFixture(SampleManageableDataObject::class, 'one'); $this->logOut(); $this->assertFalse($object->getDeleteLink()); $this->logInWithPermission('MDO_Delete'); $this->assertEquals(Controller::join_links($page->Link('delete'), $object->ID), $object->getDeleteLink()); $this->logOut(); } } |