function AggregatorTestCase::updateFeedItems in Drupal 7
Updates the feed items.
This method simulates a click to admin/config/services/aggregator/update/$fid.
Parameters
$feed: Feed object representing the feed, passed by reference.
$expected_count: Expected number of feed items.
5 calls to AggregatorTestCase::updateFeedItems()
- AggregatorRenderingTestCase::testBlockLinks in modules/
aggregator/ aggregator.test - Adds a feed block to the page and checks its links.
- AggregatorRenderingTestCase::testFeedPage in modules/
aggregator/ aggregator.test - Creates a feed and checks that feed's page.
- AggregatorTestCase::updateAndRemove in modules/
aggregator/ aggregator.test - Adds and removes feed items and ensure that the count is zero.
- CategorizeFeedItemTestCase::testCategorizeFeedItem in modules/
aggregator/ aggregator.test - Checks that children of a feed inherit a defined category.
- UpdateFeedItemTestCase::testUpdateFeedItem in modules/
aggregator/ aggregator.test - Tests running "update items" from 'admin/config/services/aggregator' page.
File
- modules/
aggregator/ aggregator.test, line 102 - Tests for aggregator.module.
Class
- AggregatorTestCase
- Defines a base class for testing the Aggregator module.
Code
function updateFeedItems(&$feed, $expected_count) {
// First, let's ensure we can get to the rss xml.
$this
->drupalGet($feed->url);
$this
->assertResponse(200, format_string('!url is reachable.', array(
'!url' => $feed->url,
)));
// Attempt to access the update link directly without an access token.
$this
->drupalGet('admin/config/services/aggregator/update/' . $feed->fid);
$this
->assertResponse(403);
// Refresh the feed (simulated link click).
$this
->drupalGet('admin/config/services/aggregator');
$this
->clickLink('update items');
// Ensure we have the right number of items.
$result = db_query('SELECT iid FROM {aggregator_item} WHERE fid = :fid', array(
':fid' => $feed->fid,
));
$items = array();
$feed->items = array();
foreach ($result as $item) {
$feed->items[] = $item->iid;
}
$feed->item_count = count($feed->items);
$this
->assertEqual($expected_count, $feed->item_count, format_string('Total items in feed equal to the total items in database (!val1 != !val2)', array(
'!val1' => $expected_count,
'!val2' => $feed->item_count,
)));
}