You are here

merci_bucket.test in MERCI (Manage Equipment Reservations, Checkout and Inventory) 7.2

Same filename and directory in other branches
  1. 6.2 tests/merci_bucket.test

File

tests/merci_bucket.test
View source
<?php

/**
 * @file
 * Simpletest case for node_example module.
 *
 * Verify example module functionality.
 */
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() {

    // Enable the module.
    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',
      // 'edit own resource content',

      //'delete own resource content',
      'create reservations',
    ));

    // Create merci user.
    $this->merci_user = $this
      ->drupalCreateUser(array(
      'view revisions',
      'revert revisions',
      'create confirmed reservations',
      'edit own bucket content',
      'delete own bucket content',
      //'edit own resource content',

      //'delete own resource content',
      'create reservations',
      //'access devel information',
      'create merci_reservation content',
      'edit own merci_reservation content',
      'delete own merci_reservation content',
    ));
    $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() {

    // Login the merci user.
    $this
      ->drupalLogin($this->merci_user);

    // Create our first reservation
    $item = $this->bucket1;

    // Create a reservation for tomorrow.
    $day = date('Y-m-d', time() + 3600 * 24);
    $edit = array(
      'title' => $this
        ->randomName(),
      'field_merci_date[und][0][value][date]' => $day,
      'field_merci_date[und][0][value][time]' => '09:15',
      'field_merci_date[und][0][value2][date]' => $day,
      'field_merci_date[und][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() {

    // Login the merci user.
    $this
      ->drupalLogin($this->merci_user);

    // Create our first reservation
    $item = $this->bucket1;

    // Create a reservation for tomorrow.
    $day = date('Y-m-d', time() + 3600 * 24);
    $edit = array(
      'title' => $this
        ->randomName(),
      'field_merci_date[und][0][value][date]' => $day,
      'field_merci_date[und][0][value][time]' => '09:15',
      'field_merci_date[und][0][value2][date]' => $day,
      'field_merci_date[und][0][value2][time]' => '10:15',
      'merci_reservation_items[choice_1][merci_item_nid]' => $item->type,
    );
    $first = $this
      ->merciCreateNode('merci-reservation', $edit);

    // Create a reservation for tomorrow.
    $day = date('Y-m-d', time() + 3600 * 24);
    $edit = array(
      'title' => $this
        ->randomName(),
      'field_merci_date[und][0][value][date]' => $day,
      'field_merci_date[und][0][value][time]' => '09:15',
      'field_merci_date[und][0][value2][date]' => $day,
      'field_merci_date[und][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"));
  }

}

Classes