function AggregatorTestCase::updateFeedItems

7.x aggregator.test AggregatorTestCase::updateFeedItems(&$feed, $expected_count)

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 drupal-7.x/modules/aggregator/aggregator.test
Adds a feed block to the page and checks its links.
AggregatorRenderingTestCase::testFeedPage in drupal-7.x/modules/aggregator/aggregator.test
Creates a feed and checks that feed's page.
AggregatorTestCase::updateAndRemove in drupal-7.x/modules/aggregator/aggregator.test
Adds and removes feed items and ensure that the count is zero.
CategorizeFeedItemTestCase::testCategorizeFeedItem in drupal-7.x/modules/aggregator/aggregator.test
Checks that children of a feed inherit a defined category.
UpdateFeedItemTestCase::testUpdateFeedItem in drupal-7.x/modules/aggregator/aggregator.test
Tests running "update items" from 'admin/config/services/aggregator' page.

File

drupal-7.x/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)));
}