3 +--------------------------------------------------------------------+
4 | CiviCRM version 4.3 |
5 +--------------------------------------------------------------------+
6 | Copyright CiviCRM LLC (c) 2004-2013 |
7 +--------------------------------------------------------------------+
8 | This file is a part of CiviCRM. |
10 | CiviCRM is free software; you can copy, modify, and distribute it |
11 | under the terms of the GNU Affero General Public License |
12 | Version 3, 19 November 2007 and the CiviCRM Licensing Exception. |
14 | CiviCRM is distributed in the hope that it will be useful, but |
15 | WITHOUT ANY WARRANTY; without even the implied warranty of |
16 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
17 | See the GNU Affero General Public License for more details. |
19 | You should have received a copy of the GNU Affero General Public |
20 | License along with this program; if not, contact CiviCRM LLC |
21 | at info[AT]civicrm[DOT]org. If you have questions about the |
22 | GNU Affero General Public License or the licensing of CiviCRM, |
23 | see the CiviCRM license FAQ at http://civicrm.org/licensing |
24 +--------------------------------------------------------------------+
27 require_once 'CiviTest/CiviSeleniumTestCase.php';
28 class WebTest_Admin_Form_ScheduleReminderTest
extends CiviSeleniumTestCase
{
30 protected function setUp() {
34 function testScheduleReminder() {
35 $this->webtestLogin();
37 // Add new Schedule Reminder
38 $this->openCiviPage("admin/scheduleReminders", "action=add&reset=1", '_qf_ScheduleReminders_cancel-bottom');
41 $title = 'Title' . substr(sha1(rand()), 0, 4);
42 $this->type('title', $title);
44 // Fill Entity Details
45 $this->click('entity_0');
46 $this->select('entity_0', 'label=Activity');
47 $this->addSelection('entity_1', 'label=Meeting');
48 $this->addSelection('entity_2', 'label=Completed');
49 $this->select('start_action_offset', 'label=1');
50 $this->select('start_action_condition', 'label=after');
51 $this->click('is_repeat');
52 $this->select('repetition_frequency_interval', 'label=1');
53 $this->click('recipient');
54 $this->select('recipient', 'label=Activity Assignees');
57 $subject = 'subject' . substr(sha1(rand()), 0, 4);
58 $this->type('subject', $subject);
61 $this->click('_qf_ScheduleReminders_next-bottom');
62 $this->waitForPageToLoad($this->getTimeoutMsec());
64 $this->click("//div[@id='reminder']//div[@class='dataTables_wrapper']/table/tbody//tr/td[1][text()='{$title}']/../td[7]/span/a[text()='Edit']");
65 $this->waitForElementPresent('_qf_ScheduleReminders_cancel-bottom');
67 $this->assertEquals($title, $this->getValue('id=title'));
68 $this->removeSelection('entity_1', 'label=Meeting');
69 $this->addSelection('entity_1', 'label=Phone Call');
70 $this->addSelection('entity_1', 'label=Interview');
71 $this->removeSelection('entity_2', 'label=Completed');
72 $this->addSelection('entity_2', 'label=Scheduled');
73 $this->addSelection('entity_2', 'label=Completed');
75 $this->assertEquals('1', $this->getSelectedValue('id=start_action_offset'));
76 $this->assertEquals('hour', $this->getSelectedValue('id=start_action_unit'));
77 $this->assertEquals('after', $this->getSelectedValue('id=start_action_condition'));
78 $this->assertEquals('activity_date_time', $this->getSelectedValue('id=start_action_date'));
80 $this->assertChecked('is_repeat');
82 $this->assertEquals('1', $this->getSelectedValue('id=recipient'));
83 $this->assertChecked('is_active');