draggableviews_tests.test in DraggableViews 7
File
draggableviews_tests/draggableviews_tests.test
View source
<?php
class DraggableviewsTestCase extends DrupalSeleniumWebTestCase {
public static function getInfo() {
return array(
'name' => 'Draggableviews',
'description' => 'Tests for draggableviews module.',
'group' => 'Draggableviews',
);
}
function setUp() {
parent::setUp('ctools', 'views', 'draggableviews', 'draggableviews_tests');
}
function testNativeUnlimitedPager() {
for ($i = 0; $i < 10; $i++) {
$this
->drupalCreateNode();
}
$user = $this
->drupalCreateUser(array(
'access content',
'Allow Reordering',
));
$this
->drupalLogin($user);
$this
->verifyDraganddropView('native-pager-unlimited', 'native handler, unlimited pager');
}
function verifyDraganddropView($url, $message) {
$this
->drupalOpenUrl($url);
$tr_elements = $this->driver
->getAllElements('css=div.content tr.draggable');
$first_element_title = $tr_elements[0]
->getText();
$second_element_title = $tr_elements[1]
->getText();
$first_element_drag = $this->driver
->getElement('css=tr.views-row-first a.tabledrag-handle');
$size = $first_element_drag
->getSize();
$first_element_drag
->dragAndDrop(0, $size['height'] + 5);
$this->driver
->waitForElements('css=div.tabledrag-changed-warning');
$this
->verboseScreenshot();
$this->driver
->getElement('css=#edit-submit')
->submit();
$this
->verboseScreenshot();
$tr_elements = $this->driver
->getAllElements('css=div.content tr.draggable');
$new_first_element_title = $tr_elements[0]
->getText();
$new_second_element_title = $tr_elements[1]
->getText();
$this
->assertTrue($new_first_element_title == $second_element_title && $new_second_element_title == $first_element_title, t('Rows sorted for view: !message.', array(
'!message' => $message,
)), 'Draggableviews');
}
}