You are here

function MerciUserTestCase::testMerciHoursOfOperation in MERCI (Manage Equipment Reservations, Checkout and Inventory) 7.2

Same name and namespace in other branches
  1. 6.2 tests/merci_user.test \MerciUserTestCase::testMerciHoursOfOperation()

File

tests/merci_user.test, line 155

Class

MerciUserTestCase

Code

function testMerciHoursOfOperation() {

  // Login the merci user.
  $this
    ->drupalLogin($this->merci_user);
  $today = date('Y-m-d');
  $day = strtolower(date('D'));
  $fancy_day = date('l');

  // Test start time to early
  $node = $this->bucket1;
  $edit = array(
    'title' => $this
      ->randomName(),
    'field_merci_date[und][0][value][date]' => $today,
    'field_merci_date[und][0][value][time]' => '08:15',
    'field_merci_date[und][0][value2][date]' => $today,
    'field_merci_date[und][0][value2][time]' => '11:15',
    'merci_reservation_items[choice_1][merci_item_nid]' => $node->type,
  );
  $first = $this
    ->merciCreateNode('merci-reservation', $edit, FALSE);
  $this
    ->assertText(t("Reservations cannot start at a time before 9:00."));

  // Test end time to late
  $node = $this->bucket1;
  $edit = array(
    'title' => $this
      ->randomName(),
    'field_merci_date[und][0][value][date]' => $today,
    'field_merci_date[und][0][value][time]' => '16:15',
    'field_merci_date[und][0][value2][date]' => $today,
    'field_merci_date[und][0][value2][time]' => '23:15',
    'merci_reservation_items[choice_1][merci_item_nid]' => $node->type,
  );
  $first = $this
    ->merciCreateNode('merci-reservation', $edit, FALSE);
  $this
    ->assertText(t("Reservations cannot end at a time after 17:00."));

  // Login the admin user.
  $this
    ->drupalLogin($this->admin_user);
  $settings = array(
    'merci_hours_' . lcfirst($fancy_day) => '',
  );
  $this
    ->merciCreateConfig($settings);

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

  // Test start day on closed day
  // Test end day on closed day
  $node = $this->bucket1;
  $edit = array(
    'title' => $this
      ->randomName(),
    'field_merci_date[und][0][value][date]' => $today,
    'field_merci_date[und][0][value][time]' => '09:15',
    'field_merci_date[und][0][value2][date]' => $today,
    'field_merci_date[und][0][value2][time]' => '10:15',
    'merci_reservation_items[choice_1][merci_item_nid]' => $node->type,
  );
  $first = $this
    ->merciCreateNode('merci-reservation', $edit, FALSE);
  $this
    ->assertRaw(t("Reservations cannot start on a %day.", array(
    '%day' => $fancy_day,
  )));
  $this
    ->assertRaw(t("Reservations cannot end on a %day.", array(
    '%day' => $fancy_day,
  )));
}