Source of file FunctionalTests.php
Size: 1,672 Bytes - Last Modified: 2021-12-23T10:06:09+00:00
/var/www/docs.ssmods.com/process/src/tests/FunctionalTests.php
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 | <?php namespace nglasl\mediawesome\tests; use nglasl\mediawesome\MediaHolder; use nglasl\mediawesome\MediaPage; use nglasl\mediawesome\MediaType; use SilverStripe\Dev\FunctionalTest; /** * The mediawesome specific functional testing. * @author Nathan Glasl <nathan@symbiote.com.au> */ class FunctionalTests extends FunctionalTest { protected $usesDatabase = true; protected $requireDefaultRecordsFrom = array( MediaPage::class ); public function testURLs() { $this->logInWithPermission(); // Instantiate a media page with a random type. $holder = MediaHolder::create( array( 'ClassName' => MediaHolder::class, 'Title' => 'Holder', 'URLFormatting' => 'y/MM/dd/', 'MediaTypeID' => MediaType::get()->first()->ID ) ); $holder->writeToStage('Stage'); $holder->publishRecursive(); $first = MediaPage::create( array( 'Title' => 'First', 'ParentID' => $holder->ID ) ); $first->writeToStage('Stage'); $first->publishRecursive(); // This should match "holder/year/month/day/media". $this->assertEquals(count(explode('/', trim($first->Link(), '/'))), 5); // Determine whether the page is accessible. $response = $this->get($first->Link()); $this->assertEquals($response->getStatusCode(), 200); // Update the URL format. $holder->URLFormatting = '-'; $holder->writeToStage('Stage'); $holder->publishRecursive(); // This should match "holder/media". $this->assertEquals(count(explode('/', trim($first->Link(), '/'))), 2); // Determine whether the page remains accessible. $response = $this->get($first->Link()); $this->assertEquals($response->getStatusCode(), 200); } } |