Open Journal Systems  3.3.0
QuickSubmitFunctionalTest.php
1 <?php
2 
15 import('lib.pkp.tests.WebTestCase');
16 
17 use Facebook\WebDriver\WebDriverBy;
18 use Facebook\WebDriver\Interactions\WebDriverActions;
19 use Facebook\WebDriver\WebDriverExpectedCondition;
20 
21 class QuickSubmitFunctionalTest extends WebTestCase {
25  protected function getAffectedTables() {
26  return PKP_TEST_ENTIRE_DB;
27  }
28 
32  function testQuickSubmit() {
33  $this->open(self::$baseUrl);
34 
35  $this->logIn('admin', 'admin');
36  $actions = new WebDriverActions(self::$driver);
37  $actions->moveToElement($this->waitForElementPresent('//ul[@id="navigationPrimary"]//a[text()="Tools"]'))
38  ->click($this->waitForElementPresent('//ul[@id="navigationPrimary"]//a[text()="Import/Export"]'))
39  ->perform();
40  $this->click($selector='link=QuickSubmit Plugin');
41  $this->waitForElementPresent('css=[id=sectionId]');
42  $this->select('id=sectionId', 'label=' . $this->escapeJS('Articles'));
43  sleep(10); // HACK: The form resubmits on section selection. Wait.
44 
45  $this->waitForElementPresent($selector='css=[id^=title-]');
46  $this->type($selector, 'QuickSubmit Test Submission');
47  $this->typeTinyMCE('abstract', 'This is a QuickSubmit test submission.');
48 
49  // Add an author
50  $this->click('css=[id^=component-grid-users-author-authorgrid-addAuthor-button-]');
51  $this->waitForElementPresent($selector='css=[id^=givenName-]');
52  $this->type($selector, 'Quincy');
53  $this->type('css=[id^=familyName-]', 'Submitter');
54  $this->select('id=country', 'label=Canada');
55  $this->type('css=[id^=email-]', 'qsubmitter@mailinator.com');
56  $this->type('css=[id^=affiliation-]', 'Queens University');
57  $this->click('//label[contains(.,\'Author\')]');
58  $this->click('//form[@id=\'editAuthor\']//button[text()=\'Save\']');
59  $this->waitForElementPresent('//div[contains(text(), \'Author added.\')]');
60 
61  // Complete the submission
62  $this->click('//form[@id=\'quickSubmitForm\']//button[text()=\'Save\']');
63  $this->waitForElementPresent('link=Go to Submission');
64  $this->logOut();
65  }
66 }
67 
QuickSubmitFunctionalTest\testQuickSubmit
testQuickSubmit()
Definition: QuickSubmitFunctionalTest.php:32
QuickSubmitFunctionalTest
Functional tests for the quick submit plugin.
Definition: QuickSubmitFunctionalTest.php:21
QuickSubmitFunctionalTest\getAffectedTables
getAffectedTables()
Definition: QuickSubmitFunctionalTest.php:25