You are here

public function FeedsEntityCase::testGetFeedsItemPropertyNewEntity in Feeds 7.2

Tests getting feeds item properties on a new entity.

@covers feeds_get_feeds_item_property()

File

tests/feeds_entity.test, line 114
Test cases for entity API integration.

Class

FeedsEntityCase
Tests for Entity API integration.

Code

public function testGetFeedsItemPropertyNewEntity() {

  // Create a feed node and import 10 items.
  $feed_nid = $this
    ->createFeedNode();
  $this
    ->assertText('Created 10 nodes');

  // Create a new node.
  $node = new stdClass();
  $node->type = 'page';
  $node->title = $this
    ->randomName(8);
  $node->changed = REQUEST_TIME;
  $node->created = REQUEST_TIME;
  $node->is_new = TRUE;
  node_object_prepare($node);

  // Populate properties that are set by node_object_prepare().
  $node->log = 'Created by FeedsNodeProcessor';
  $node->uid = 0;

  // Add a feeds_item property on the node.
  $node->feeds_item = new stdClass();
  $node->feeds_item->is_new = TRUE;
  $node->feeds_item->entity_id = 0;
  $node->feeds_item->entity_type = 'node';
  $node->feeds_item->id = 'syndication';
  $node->feeds_item->feed_nid = $feed_nid;
  $node->feeds_item->imported = REQUEST_TIME;
  $node->feeds_item->hash = '';
  $node->feeds_item->url = 'http://www.example.com';
  $node->feeds_item->guid = '1234';

  // Create entity metadata wrapper for node.
  $node_wrapper = entity_metadata_wrapper('node', $node);

  // Property 'feed_nid'.
  $this
    ->assertEqual($feed_nid, $node_wrapper->feed_nid
    ->value());

  // Property 'feed_node'.
  $feed_node = $node_wrapper->feed_node
    ->value();
  $this
    ->assertEqual($feed_nid, $feed_node->nid);

  // Property 'feeds_item_guid'.
  $this
    ->assertEqual('1234', $node_wrapper->feeds_item_guid
    ->value());

  // Property 'feeds_item_url'.
  $this
    ->assertEqual('http://www.example.com', $node_wrapper->feeds_item_url
    ->value());
}