You are here

function NodequeueAPISubqueueUnitTest::testNodequeueSubqueueRemove in Nodequeue 6.2

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

File

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

Class

NodequeueAPISubqueueUnitTest

Code

function testNodequeueSubqueueRemove() {
  $queue = $this
    ->createNodequeue(array(
    'page',
    'story',
  ), 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' => 'story',
    ));
  }
  nodequeue_subqueue_add($queue, $subqueue, $nodes[0]->nid);
  $this
    ->assertEqual($subqueue->count, 1, t('Subqueue contains one element.'), t('Nodequeue'));
  nodequeue_subqueue_add($queue, $subqueue, $nodes[1]->nid);
  $this
    ->assertEqual($subqueue->count, 2, t('Subqueue contains two elements.'), t('Nodequeue'));
  nodequeue_subqueue_add($queue, $subqueue, $nodes[2]->nid);
  $this
    ->assertEqual($subqueue->count, 3, t('Subqueue is full.'), t('Nodequeue'));
  nodequeue_subqueue_remove($subqueue->sqid, 3);
  $count = db_result(db_query('SELECT COUNT(*) FROM {nodequeue_nodes} WHERE sqid = %d', $subqueue->sqid));
  $this
    ->assertEqual($count, 2, t('Subqueue contains two elements.'), t('Nodequeue'));
  nodequeue_subqueue_add($queue, $subqueue, $nodes[3]->nid);
  $pos = db_result(db_query('SELECT position FROM {nodequeue_nodes} WHERE sqid = %d AND nid = %d', $subqueue->sqid, $nodes[3]->nid));
  $this
    ->assertEqual($pos, 3, t('New element added to back of queue.'), t('Nodequeue'));
  nodequeue_subqueue_remove($subqueue->sqid, 1, 2);
  $pos = db_result(db_query('SELECT position FROM {nodequeue_nodes} WHERE sqid = %d AND nid = %d', $subqueue->sqid, $nodes[3]->nid));
  $this
    ->assertEqual($pos, 1, t('Remaining element moved to position 1.'), t('Nodequeue'));
}