assertTrue($this->isTextPresent($string), "Could not find $string on page"); } } function testParticipantSearchForm() { $this->webtestLogin(); // visit event search page $this->openCiviPage("event/search", "reset=1"); $stringsToCheck = array( 'Participant Name', 'Event Name', 'Event Dates', 'Participant Status', 'Participant Role', 'Participant is a Test?', 'Participant is Pay Later?', 'Fee Level', 'Fee Amount', // check that the custom data is also there 'Food Preference', 'Soup Selection', ); $this->_checkStrings($stringsToCheck); } function testParticipantSearchForce() { $this->webtestLogin(); // visit event search page $this->openCiviPage("event/search", "reset=1&force=1"); // assume generated DB // there are participants $this->assertTrue($this->isTextPresent("Select Records"), "A forced event search did not return any results"); } function testParticipantSearchEmpty() { $this->webtestLogin(); // visit event search page $this->openCiviPage("event/search", "reset=1"); $crypticName = "foobardoogoo_" . md5(time()); $this->type("sort_name", $crypticName); $this->clickLink("_qf_Search_refresh"); $stringsToCheck = array( 'No matches found for', 'Name or Email LIKE', $crypticName, ); $this->_checkStrings($stringsToCheck); } function testParticipantSearchEventName() { $this->webtestLogin(); // visit event search page $this->openCiviPage("event/search", "reset=1"); $eventName = "Fall Fundraiser Dinner"; $this->select2("event_id", $eventName); $this->clickLink("_qf_Search_refresh"); $stringsToCheck = array( "Event = $eventName", 'Select Records:', 'Edit Search Criteria', ); $this->_checkStrings($stringsToCheck); } function testParticipantSearchEventDate() { $this->webtestLogin(); // visit event search page $this->openCiviPage("event/search", "reset=1"); $this->select('event_relative', "label=Choose Date Range"); $this->webtestFillDate('event_start_date_low', '-2 year'); $this->webtestFillDate('event_end_date_high', '+1 year'); $this->clickLink("_qf_Search_refresh"); $stringsToCheck = array( "Start Date - greater than or equal to", '...AND...', "End Date - less than or equal to", 'Select Records:', 'Edit Search Criteria', ); $this->_checkStrings($stringsToCheck); } function testParticipantSearchEventDateAndType() { $this->webtestLogin(); // visit event search page $this->openCiviPage("event/search", "reset=1"); $this->select('event_relative', "label=Choose Date Range"); $this->webtestFillDate('event_start_date_low', '-2 year'); $this->webtestFillDate('event_end_date_high', '+1 year'); $eventTypeName = 'Fundraiser'; $this->select2("event_type_id", $eventTypeName); $this->clickLink("_qf_Search_refresh"); $stringsToCheck = array( "Start Date - greater than or equal to", '...AND...', "End Date - less than or equal to", "Event Type - $eventTypeName", 'Select Records:', 'Edit Search Criteria', ); $this->_checkStrings($stringsToCheck); } function testParticipantSearchCustomField() { $this->webtestLogin(); // visit event search page $this->openCiviPage("event/search", "reset=1"); $this->select("xpath=//div[@id='Food_Preference']/div[2]/table/tbody/tr/td[2]//select", 'Chicken Combo'); $this->clickLink("_qf_Search_refresh"); // note since this is generated data // we are not sure if someone has this selection, so // we are not testing for an empty record set $stringsToCheck = array("Soup Selection = Chicken Combo"); $this->_checkStrings($stringsToCheck); $this->select("xpath=//div[@id='Food_Preference']/div[2]/table/tbody/tr/td[2]//select", 'Salmon Stew'); $this->clickLink("_qf_Search_refresh"); $stringsToCheck = array("Soup Selection = Salmon Stew"); $this->_checkStrings($stringsToCheck); } function testParticipantSearchForceAndView() { $this->webtestLogin(); // visit event search page $this->openCiviPage("event/search", "reset=1&force=1"); // assume generated DB // there are participants $this->assertTrue($this->isTextPresent("Select Records"), "A forced event search did not return any results"); $this->waitForElementPresent("xpath=id('participantSearch')/table/tbody/tr/td[11]/span/a[text()='View']"); $this->click("xpath=id('participantSearch')/table/tbody/tr/td[11]/span/a[text()='View']"); $this->waitForTextPresent("View Event Registration"); // ensure we get to particpant view $stringsToCheck = array( "Name", "Event", "Participant Role", ); $this->_checkStrings($stringsToCheck); } function testParticipantSearchForceAndEdit() { $this->webtestLogin(); // visit event search page $this->openCiviPage("event/search", "reset=1&force=1"); // assume generated DB // there are participants $this->assertTrue($this->isTextPresent("Select Records"), "A forced event search did not return any results"); $this->waitForElementPresent("xpath=id('participantSearch')/table/tbody/tr/td[11]/span/a[text()='Edit']"); $this->click("xpath=id('participantSearch')/table/tbody/tr/td[11]/span/a[text()='Edit']"); $this->waitForTextPresent("Edit Event Registration"); // ensure we get to particpant view $stringsToCheck = array( "Participant", "Event", "Participant Role", ); $this->_checkStrings($stringsToCheck); } }