You are here

function NodequeueAPISubqueueUnitTest::testNodequeueSubqueueAdd in Nodequeue 7.2

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

File

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

Class

NodequeueAPISubqueueUnitTest

Code

function testNodequeueSubqueueAdd() {
  $queue = $this
    ->createNodequeue(array(
    'page',
    'article',
  ), array(
    2,
  ), 3);
  $subqueues = nodequeue_load_subqueues_by_queue($queue->qid);
  $subqueue = array_shift($subqueues);
  $nodes = array();
  for ($i = 0; $i < 4; $i++) {
    $nodes[] = $this
      ->drupalCreateNode(array(
      'type' => 'article',
    ));
  }
  nodequeue_subqueue_add($queue, $subqueue, $nodes[0]->nid);
  $this
    ->assertEqual($subqueue->count, 1, t('Subqueue contains 1 element.'), t('Nodequeue'));
  nodequeue_subqueue_add($queue, $subqueue, $nodes[1]->nid);
  $this
    ->assertEqual($subqueue->count, 2, t('Subqueue is full.'), t('Nodequeue'));
  nodequeue_subqueue_add($queue, $subqueue, $nodes[2]->nid);
  $this
    ->assertEqual($subqueue->count, 3, t('Subqueue is full.'), t('Nodequeue'));
  nodequeue_subqueue_add($queue, $subqueue, $nodes[3]->nid);
  $this
    ->assertEqual($subqueue->count, 3, t('Subqueue is full.'), t('Nodequeue'));
  $pos = nodequeue_subqueue_position($subqueue->sqid, $nodes[0]->nid);
  $this
    ->assertFalse($pos, t('First node has been pushed out of the queue.'), t('Nodequeue'));
  $pos = nodequeue_subqueue_position($subqueue->sqid, $nodes[1]->nid);
  $this
    ->assertEqual($pos, 1, t('Second node is now at the front of the queue.'), t('Nodequeue'));
}