You are here

function NodequeueAdministerTestCase::testNodequeueAddQueue in Nodequeue 7.2

Same name and namespace in other branches
  1. 6.2 tests/nodequeue.test \NodequeueAdministerTestCase::testNodequeueAddQueue()

File

tests/nodequeue.test, line 294
Tests for the Nodequeue module.

Class

NodequeueAdministerTestCase

Code

function testNodequeueAddQueue() {
  $this
    ->drupalLogin($this->user);

  // make sure we can access the administration page
  $this
    ->drupalGet('admin/structure/nodequeue');
  $this
    ->assertText('Add simple queue', t('"Add simple queue" link is present.'), t('Nodequeue'));
  $this
    ->assertText('Settings', t('"Settings" link is present.'), t('Nodequeue'));
  $this
    ->assertText('No queues exist. ', t('Nodequeue table is empty.'), t('Nodequeue'));

  // create a nodequeue...
  $edit = array(
    'title' => 'Testqueue',
    'name' => 'testqueue',
    'size' => 10,
    'link' => 'Add to %subqueue',
    'link_remove' => 'Remove from %subqueue',
    //      'roles[2]'     => '2', // FIXME: this makes the test fail...
    'types[article]' => 'article',
    'types[page]' => 'page',
  );
  $this
    ->drupalPost('admin/structure/nodequeue/add/nodequeue', $edit, 'Save');

  // ...and make sure we can add a node to it
  $node = $this
    ->drupalCreateNode(array(
    'type' => 'article',
    'promote' => 1,
  ));

  /*
      $this->drupalGet('node/'. $node->nid);
      $this->assertRaw('<a href="' . url('node/1/nodequeue', array('absolute' => true)) . '">Nodequeue', t('Nodequeue tab is present.'), t('Nodequeue'));
  */

  // add the node to the queue
  $this
    ->drupalGet('node/' . $node->nid . '/nodequeue');
  $this
    ->assertText('Testqueue', t('Nodequeue is shown in table.'), t('Nodequeue'));
  $this
    ->assertText('Queue empty', t('Nodequeue is currently empty.'), t('Nodequeue'));
  $this
    ->clickLink('Add to queue');
  $this
    ->assertRaw('class="nodequeue-in-queue">1', t('Nodequeue table reports correct number of elements in queue.'), t('Nodequeue'));

  // try sorting by queue size
  // TODO: This breaks on Drupal.org. We need to figure out why.

  /*
      $this->drupalGet('admin/structure/nodequeue');
      $this->clickLink('Max nodes');
      $this->assertRaw('Max nodes<img typeof="foaf:Image" src="' . url('misc/arrow-desc.png', array('absolute' => true)) . '"', t('Nodequeue table is sorted by max rows descending.'), t('Nodequeue'));

      $this->drupalGet('admin/structure/nodequeue');
      $this->clickLink('Subqueues');
      $this->assertRaw('Subqueues<img typeof="foaf:Image" src="' . url('misc/arrow-desc.png', array('absolute' => true)) . '"', t('Nodequeue table is sorted by subqueues descending.'), t('Nodequeue'));
  */
}