Source of file JobTest.php
Size: 4,469 Bytes - Last Modified: 2021-12-24T06:46:18+00:00
/var/www/docs.ssmods.com/process/src/tests/Page/JobTest.php
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161 | <?php namespace Dynamic\Jobs\Test\Page; use Dynamic\Jobs\Page\Job; use Dynamic\Jobs\Page\JobCollection; use SilverStripe\Assets\File; use SilverStripe\Core\Injector\Injector; use SilverStripe\Dev\SapphireTest; use SilverStripe\Forms\FieldList; use SilverStripe\Security\Member; /** * Class JobTest * @package Dynamic\Jobs\Tests */ class JobTest extends SapphireTest { /** * @var string */ protected static $fixture_file = '../fixtures.yml'; /** * Tests populateDefaults() */ public function testPopulateDefaults() { /** @var Job $object */ $object = Injector::inst()->create(Job::class); $object->populateDefaults(); $this->assertEquals(date('Y-m-d'), $object->PostDate); } /** * Tests getCMSFields() */ public function testGetCMSFields() { /** @var Job $object */ $object = $this->objFromFixture(Job::class, 'one'); $fields = $object->getCMSFields(); $this->assertInstanceOf(FieldList::class, $fields); } /** * Tests getApplyButton() */ public function testGetApplyButton() { /** @var Job $object */ $object = Injector::inst()->create(Job::class); $this->assertStringEndsWith('apply', $object->getApplyButton()); } /** * Tests getApplicationLink() */ public function testGetApplicationLink() { /** @var Job $object */ $object = $this->objFromFixture(Job::class, 'one'); /** @var JobCollection $parent */ $parent = $this->objFromFixture(JobCollection::class, 'default'); $object->ParentID = $parent->ID; $object->write(); $this->assertFalse($object->getApplicationLink()); // TODO - fix this part /** @var File $file */ $file = $this->objFromFixture(File::class, 'File'); $parent->ApplicationID = $file->ID; $parent->write(); // print_r($file->ID); // print_r($object->parent()->Application()->ID); // $this->assertEquals($file->URL, $object->getApplicationLink()); } /** * Tests providePermissions() */ public function testProvidePermissions() { /** @var Job $object */ $object = Injector::inst()->create(Job::class); $perms = [ 'Job_EDIT' => 'Edit a Job', 'Job_DELETE' => 'Delete a Job', 'Job_CREATE' => 'Create a Job', ]; //$this->assertEquals($perms, $object->providePermissions()); } /** * Tests canCreate() */ public function testCanCreate() { /** @var Job $object */ $object = Injector::inst()->create(Job::class); $admin = $this->objFromFixture(Member::class, 'Admin'); $manage = $this->objFromFixture(Member::class, 'Manager'); $visitor = $this->objFromFixture(Member::class, 'Visitor'); $this->assertTrue($object->canCreate($admin)); $this->assertTrue($object->canCreate($manage)); $this->assertFalse($object->canCreate($visitor)); } /** * Tests canEdit() */ public function testCanEdit() { /** @var Job $object */ $object = Injector::inst()->create(Job::class); $admin = $this->objFromFixture(Member::class, 'Admin'); $manage = $this->objFromFixture(Member::class, 'Manager'); $visitor = $this->objFromFixture(Member::class, 'Visitor'); $this->assertTrue($object->canEdit($admin)); $this->assertTrue($object->canEdit($manage)); $this->assertFalse($object->canEdit($visitor)); } /** * Tests canDelete() */ public function testCanDelete() { /** @var Job $object */ $object = Injector::inst()->create(Job::class); $admin = $this->objFromFixture(Member::class, 'Admin'); $manage = $this->objFromFixture(Member::class, 'Manager'); $visitor = $this->objFromFixture(Member::class, 'Visitor'); $this->assertTrue($object->canDelete($admin)); $this->assertTrue($object->canDelete($manage)); $this->assertFalse($object->canDelete($visitor)); } /** * Tests canView() */ public function testCanView() { /** @var Job $object */ $object = Injector::inst()->create(Job::class); $manage = $this->objFromFixture(Member::class, 'Manager'); $this->assertTrue($object->canView($manage)); } } |