|
Perforce Chronicle 2012.2/486814
API Documentation
|
Test the Flickr stream controller. More...
Public Member Functions | |
| addWidget () | |
| Utility function to add the widget to the test region. | |
| setUp () | |
| Clear caches prior to start of each test. | |
| testFlickrWidgetConfiguration () | |
| Test display configuration. | |
| testNoApiKey () | |
| Test the results of the index action when no api key is configured. | |
| testNoWidgetConfiguration () | |
| Test the results of the index action when the widget is not configured. | |
Public Attributes | |
| const | TEST_SKIP_MESSAGE |
| Message passed to markTestSkipped() in tests that are skipped due to undefined parameters needed for full module functionality. | |
Test the Flickr stream controller.
| Flickr_Test_StreamControllerTest::addWidget | ( | ) |
Utility function to add the widget to the test region.
{
$widget = P4Cms_Widget::factory('flickr/stream');
$widget->setValue('region', 'test')->save();
return $widget;
}
| Flickr_Test_StreamControllerTest::setUp | ( | ) |
Clear caches prior to start of each test.
{
parent::setUp();
// enable youtube module
$this->_flickrModule = P4Cms_Module::fetch('Flickr');
$this->_flickrModule->enable();
$this->_flickrModule->load();
// add in available test widgets
P4Cms_Widget::installDefaults();
$this->utility->impersonate('editor');
}
| Flickr_Test_StreamControllerTest::testFlickrWidgetConfiguration | ( | ) |
Test display configuration.
Note that we don't actually talk to Flickr, we just verify that we've set up the dojo slideshow object.
{
$this->_flickrModule->saveConfig(
new Zend_Config(
array(
'key' => 'invalid key'
)
)
);
$widget = $this->addWidget();
$size = Flickr_Form_StreamWidget::DIMENSION_THUMBNAIL;
$imageInterval = 5;
$searchKey = 'perforce';
$values = array('config'=>
array(
'sourceType' => Flickr_Form_StreamWidget::SOURCE_TAG,
'sourceTag' => $searchKey,
'imageSize' => $size,
'showImageTitle' => false,
'imageDelay' => $imageInterval
)
);
$widget->setValues($values)->save();
$this->dispatch('/flickr/stream/index/region/test/widget/' . $widget->getId());
$responseBody = $this->response->getBody();
$this->assertRegExp(
'/.*?(dojoType).*?(p4cms\\.flickr\\.SlideShow)/',
$responseBody,
'Slideshow div was not created using tag "' . $searchKey . '".' . $responseBody
);
$dimension = Flickr_Form_StreamWidget::$sizeDimensions[$size];
$this->assertQuery(
'div[imageWidth="100"][imageHeight="100"]',
'Expected image width and height to be ' . $dimension .' in response.' . $responseBody
);
$this->assertQuery(
'div[slideshowInterval="' . $imageInterval . '"]',
'Expected delay between images to be set to ' . $imageInterval . ' seconds.' . $responseBody
);
$searchKey = 'p4cms';
$values = array('config'=>
array(
'sourceType' => Flickr_Form_StreamWidget::SOURCE_USER,
'sourceUser' => $searchKey,
'imageSize' => $size,
'showImageTitle' => true,
'imageDelay' => $imageInterval
)
);
$widget->setValues($values)->save();
$this->dispatch('/flickr/stream/index/region/test/widget/' . $widget->getId());
$responseBody = $this->response->getBody();
$this->assertRegExp(
'/.*?(dojoType).*?(p4cms\\.flickr\\.SlideShow)/',
$responseBody,
'Slideshow div was not created using user "' . $searchKey . '".' . $responseBody
);
$searchKey = '52241285452@N01'; // victoria, bc group
$values = array('config'=>
array(
'sourceType' => Flickr_Form_StreamWidget::SOURCE_GROUP,
'sourceGroup' => $searchKey,
'imageSize' => $size,
'showImageTitle' => true,
'imageDelay' => $imageInterval
)
);
$widget->setValues($values)->save();
$this->dispatch('/flickr/stream/index/region/test/widget/' . $widget->getId());
$responseBody = $this->response->getBody();
$this->assertRegExp(
'/.*?(dojoType).*?(p4cms\\.flickr\\.SlideShow)/',
$responseBody,
'Slideshow div was not created using group id "' . $searchKey . '".' . $responseBody
);
}
| Flickr_Test_StreamControllerTest::testNoApiKey | ( | ) |
Test the results of the index action when no api key is configured.
{
$widget = $this->addWidget();
$size = Flickr_Form_StreamWidget::DIMENSION_THUMBNAIL;
$imageInterval = 5;
$searchKey = 'perforce';
$values = array('config'=>
array(
'sourceType' => Flickr_Form_StreamWidget::SOURCE_TAG,
'sourceTag' => $searchKey,
'imageSize' => $size,
'showImageTitle' => false,
'imageDelay' => $imageInterval
)
);
$widget->setValues($values)->save();
$this->dispatch('/flickr/stream/index/region/test/widget/' . $widget->getId());
$responseBody = $this->response->getBody();
$this->assertQueryContentContains(
'div#content div.container',
'The Flickr module is not configured.',
'Did not receive the expected error message. ' . $responseBody
);
}
| Flickr_Test_StreamControllerTest::testNoWidgetConfiguration | ( | ) |
Test the results of the index action when the widget is not configured.
{
$this->_flickrModule->saveConfig(
new Zend_Config(
array(
'key' => 'invalid key'
)
)
);
$widget = $this->addWidget();
$this->dispatch('/flickr/stream/index/region/test/widget/' . $widget->getId());
$responseBody = $this->response->getBody();
$this->assertQueryContentContains(
'div#content div.container',
'No image slideshow data to fetch.',
'Did not receive the expected error message.' . $responseBody
);
}
" The variable TEST_FLICKR_KEY is not defined. Any tests against a Flickr widget will therefore be skipped."
Message passed to markTestSkipped() in tests that are skipped due to undefined parameters needed for full module functionality.