Perforce Chronicle 2012.2/486814
API Documentation
|
Test the url model. More...
Public Member Functions | |
setUp () | |
Activate url module. | |
testContentLookup () | |
Test looking up urls by content. | |
testContentRouteParams () | |
Test generation of content view route params. | |
testDelete () | |
Test deleting urls. | |
testParamLookup () | |
Test looking up urls by params. | |
testSave () | |
Exercise saving urls. |
Test the url model.
Url_Test_UrlModelTest::setUp | ( | ) |
Activate url module.
{ parent::setUp(); P4Cms_Module::fetch('Url')->enable()->load(); }
Url_Test_UrlModelTest::testContentLookup | ( | ) |
Test looking up urls by content.
{ $url = new Url_Model_Url; $url->setPath('my-custom-url-path') ->setParams(Url_Model_Url::getContentRouteParams('1')) ->save(); $url = Url_Model_Url::fetchByContent('1'); $this->assertSame('my-custom-url-path', $url->getPath()); }
Url_Test_UrlModelTest::testContentRouteParams | ( | ) |
Test generation of content view route params.
{ $this->assertSame( array( 'module' => 'content', 'controller' => 'index', 'action' => 'view', 'id' => '1' ), Url_Model_Url::getContentRouteParams('1') ); $entry = new P4Cms_Content; $entry->setId('foobar'); $this->assertSame( array( 'module' => 'content', 'controller' => 'index', 'action' => 'view', 'id' => 'foobar' ), Url_Model_Url::getContentRouteParams($entry) ); }
Url_Test_UrlModelTest::testDelete | ( | ) |
Test deleting urls.
{ $url = new Url_Model_Url; $url->setPath('my-custom-url-path'); $url->setParams( array( 'module' => 'content', 'controller' => 'index', 'action' => 'view', 'id' => '1' ) ); $url->save(); // ensure we now have one url record and one lookup $this->assertSame(1, Url_Model_Url::count()); $lookups = P4Cms_Record::fetchAll( array('paths' => 'urls/by-params/...') ); $this->assertSame(1, $lookups->count()); // remove the url. $url->delete(); // ensure we now have no url records or lookups $this->assertSame(0, Url_Model_Url::count()); $lookups = P4Cms_Record::fetchAll( array('paths' => 'urls/by-params/...') ); $this->assertSame(0, $lookups->count()); }
Url_Test_UrlModelTest::testParamLookup | ( | ) |
Test looking up urls by params.
{ $params = array( 'module' => 'content', 'controller' => 'index', 'action' => 'view', 'id' => '1' ); $url = new Url_Model_Url; $url->setPath('my-custom-url-path') ->setParams($params) ->save(); $url = new Url_Model_Url; $url->setPath('my-other-url-path') ->setParams(array('id' => 2) + $params) ->save(); $url = Url_Model_Url::fetchByParams($params); $this->assertSame('my-custom-url-path', $url->getPath()); $url = Url_Model_Url::fetchByParams(array('id' => 2) + $params); $this->assertSame('my-other-url-path', $url->getPath()); }
Url_Test_UrlModelTest::testSave | ( | ) |
Exercise saving urls.
{ $params = array( 'action' => 'view', 'controller' => 'index', 'id' => '1', 'module' => 'content' ); $url = new Url_Model_Url; $url->setPath('my-custom-url-path') ->setParams($params) ->save(); // ensure we now have one url record. $this->assertSame(1, Url_Model_Url::count()); // ensure we can get the url back out. $fetched = Url_Model_Url::fetch('my-custom-url-path'); $this->assertSame($fetched->getPath(), 'my-custom-url-path'); $this->assertSame($params, $fetched->getParams()); // check for presence of a lookup record. $lookups = P4Cms_Record::fetchAll( array('paths' => 'urls/by-params/...') ); $this->assertSame(1, $lookups->count()); }