function NodequeueAPISubqueueUnitTest::testNodequeueSubqueueRemove in Nodequeue 7.2
Same name and namespace in other branches
- 6.2 tests/nodequeue.test \NodequeueAPISubqueueUnitTest::testNodequeueSubqueueRemove()
File
- tests/
nodequeue.test, line 764 - Tests for the Nodequeue module.
Class
Code
function testNodequeueSubqueueRemove() {
$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 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_query('SELECT COUNT(*) FROM {nodequeue_nodes} WHERE sqid = :sqid', array(
':sqid' => $subqueue->sqid,
))
->fetchField();
$this
->assertEqual($count, 2, t('Subqueue contains two elements.'), t('Nodequeue'));
nodequeue_subqueue_add($queue, $subqueue, $nodes[3]->nid);
$pos = db_query('SELECT position FROM {nodequeue_nodes} WHERE sqid = :sqid AND nid = :nid', array(
':sqid' => $subqueue->sqid,
':nid' => $nodes[3]->nid,
))
->fetchField();
$this
->assertEqual($pos, 3, t('New element added to back of queue.'), t('Nodequeue'));
nodequeue_subqueue_remove($subqueue->sqid, 1, 2);
$pos = db_query('SELECT position FROM {nodequeue_nodes} WHERE sqid = :sqid AND nid = :nid', array(
':sqid' => $subqueue->sqid,
':nid' => $nodes[3]->nid,
))
->fetchField();
$this
->assertEqual($pos, 1, t('Remaining element moved to position 1.'), t('Nodequeue'));
}