View source
<?php
require_once drupal_get_path('module', 'merci') . '/tests/merci_testcase.php';
class MerciBucketTestCase extends MerciTestCase {
public $bucket1;
public $bucket2;
public $resource;
public $merci_user;
public $merci_role;
public static function getInfo() {
return array(
'name' => 'MERCI bucket testing',
'description' => 'Test MERCI Buckets.',
'group' => 'Merci',
);
}
function setUp() {
parent::setUp();
$this->bucket1 = $this
->merciCreateItem('bucket');
$this->bucket2 = $this
->merciCreateItem('bucket');
$this->merci_role = $this
->drupalCreateRole(array(
'view revisions',
'revert revisions',
'create confirmed reservations',
'edit own bucket content',
'delete own bucket content',
'create reservations',
));
$this->merci_user = $this
->drupalCreateUser(array(
'view revisions',
'revert revisions',
'create confirmed reservations',
'edit own bucket content',
'delete own bucket content',
'create reservations',
));
$edit = array(
'roles' => $this->merci_user->roles + array(
$this->merci_role => $this->merci_role,
),
);
user_save($this->merci_user, $edit);
$edit = array(
'roles' => $this->admin_user->roles + array(
$this->merci_role => $this->merci_role,
),
);
user_save($this->admin_user, $edit);
}
function testMerciTooManyBuckets() {
$this
->drupalLogin($this->merci_user);
$item = $this->bucket1;
$day = date('Y-m-d', time() + 3600 * 24);
$edit = array(
'title' => $this
->randomName(),
'field_merci_date[0][value][date]' => $day,
'field_merci_date[0][value][time]' => '09:15',
'field_merci_date[0][value2][date]' => $day,
'field_merci_date[0][value2][time]' => '10:15',
'merci_reservation_items[choice_1][merci_item_nid]' => $item->type,
'merci_reservation_items[choice_2][merci_item_nid]' => $item->type,
'merci_reservation_items[choice_3][merci_item_nid]' => $item->type,
);
$first = $this
->merciCreateNode('merci-reservation', $edit);
$this
->assertText(t("You've selected too many @title", array(
'@title' => $item->type_name,
)));
}
function testMerciTooManyPlusConflictBuckets() {
$this
->drupalLogin($this->merci_user);
$item = $this->bucket1;
$day = date('Y-m-d', time() + 3600 * 24);
$edit = array(
'title' => $this
->randomName(),
'field_merci_date[0][value][date]' => $day,
'field_merci_date[0][value][time]' => '09:15',
'field_merci_date[0][value2][date]' => $day,
'field_merci_date[0][value2][time]' => '10:15',
'merci_reservation_items[choice_1][merci_item_nid]' => $item->type,
);
$first = $this
->merciCreateNode('merci-reservation', $edit);
$day = date('Y-m-d', time() + 3600 * 24);
$edit = array(
'title' => $this
->randomName(),
'field_merci_date[0][value][date]' => $day,
'field_merci_date[0][value][time]' => '09:15',
'field_merci_date[0][value2][date]' => $day,
'field_merci_date[0][value2][time]' => '10:15',
'merci_reservation_items[choice_1][merci_item_nid]' => $item->type,
'merci_reservation_items[choice_2][merci_item_nid]' => $item->type,
'merci_reservation_items[choice_3][merci_item_nid]' => $item->type,
);
$first = $this
->merciCreateNode('merci-reservation', $edit);
$this
->assertText(t("You've selected too many"));
$this
->assertText(t("conflict with one or more existing reservations"));
}
}