t('Date All Day unit'), 'description' => t('Test Date All Day functions.'), 'group' => 'date', ); } /** * {@inheritdoc} */ public function setUp(array $modules = array()) { $modules[] = 'date_all_day'; $modules[] = 'date_all_day_test_feature'; parent::setUp($modules); // Provide a date format that includes the main values. variable_set('date_format_long', 'D, m/d/Y - H:i'); // Turn off the option to let users change their timezone, so that all date // values will have a fixed output. variable_set('configurable_timezones', FALSE); } /** * Test the node form, confirm the "Date all day" field exists & works. */ public function testAllDayField() { // A first node, with the "all day" option disabled. $this->drupalGet('node/add/date-all-day-test'); $this->assertResponse(200); // Confirm the 'date all day' field exists. $this->assertFieldByName('field_date_all_day[und][0][all_day]'); $this->assertFieldByName('field_date_all_day[und][0][value][month]'); $this->assertFieldByName('field_date_all_day[und][0][value][day]'); $this->assertFieldByName('field_date_all_day[und][0][value][year]'); $this->assertFieldByName('field_date_all_day[und][0][value][hour]'); $this->assertFieldByName('field_date_all_day[und][0][value][minute]'); // Submit the node form. $edit = array( 'title' => 'Testing the All Day option', 'field_date_all_day[und][0][all_day]' => FALSE, 'field_date_all_day[und][0][value][month]' => 2, 'field_date_all_day[und][0][value][day]' => 11, 'field_date_all_day[und][0][value][year]' => 2021, 'field_date_all_day[und][0][value][hour]' => 18, 'field_date_all_day[und][0][value][minute]' => 15, ); $this->drupalPost(NULL, $edit, 'Save'); $this->assertResponse(200); // Confirm the data is displayed correctly. $this->assertText('Testing the All Day option'); $this->assertText('Date All Day'); $this->assertText('Thu, 02/11/2021 - 18:15'); // A second node, this time with the "all day" option enabled. $this->drupalGet('node/add/date-all-day-test'); $this->assertResponse(200); // Submit the node form. $edit = array( 'title' => 'Testing the All Day option again', 'field_date_all_day[und][0][all_day]' => TRUE, 'field_date_all_day[und][0][value][month]' => 2, 'field_date_all_day[und][0][value][day]' => 11, 'field_date_all_day[und][0][value][year]' => 2021, 'field_date_all_day[und][0][value][hour]' => 18, 'field_date_all_day[und][0][value][minute]' => 15, ); $this->drupalPost(NULL, $edit, 'Save'); $this->assertResponse(200); // Confirm the data is displayed correctly. $this->assertText('Testing the All Day option again'); $this->assertText('Date All Day'); $this->assertText('Thu, 02/11/2021 (All day)'); // Load the node and confirm the data is as expected. $node = node_load(2); $this->verbose($node); $this->assertEqual($node->title, $edit['title']); $this->assertTrue(isset($node->field_date_all_day[LANGUAGE_NONE][0]['value'])); $this->assertEqual($node->field_date_all_day[LANGUAGE_NONE][0]['value'], '2021-02-11 23:45:59'); } }