forked from OpenMRS-Australia/openmrs-cpm
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Added selenium tests for the view manage proposals feature.
- Loading branch information
David Sanders
committed
Jun 3, 2014
1 parent
e1e2253
commit d0077c3
Showing
6 changed files
with
152 additions
and
11 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
87 changes: 87 additions & 0 deletions
87
.../java/org/openmrs/module/conceptpropose/functionaltest/steps/ManageProposalsStepDefs.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,87 @@ | ||
package org.openmrs.module.conceptpropose.functionaltest.steps; | ||
|
||
import cucumber.api.java.en.And; | ||
import cucumber.api.java.en.Given; | ||
import cucumber.api.java.en.Then; | ||
import cucumber.api.java.en.When; | ||
import org.openmrs.module.conceptpropose.pagemodel.AdminPage; | ||
import org.openmrs.module.conceptpropose.pagemodel.CreateProposalPage; | ||
import org.openmrs.module.conceptpropose.pagemodel.ManageProposalsPage; | ||
import org.openmrs.module.conceptpropose.pagemodel.QueryBrowserPage; | ||
|
||
import java.io.IOException; | ||
import java.util.UUID; | ||
|
||
import static org.hamcrest.CoreMatchers.is; | ||
import static org.junit.Assert.assertThat; | ||
|
||
public class ManageProposalsStepDefs { | ||
|
||
private Login login; | ||
private AdminPage adminPage; | ||
private ManageProposalsPage manageProposalsPage; | ||
private String currName; | ||
|
||
@Given("that I am logged in as a Local Admin") | ||
public void login() throws IOException { | ||
login = new Login(); | ||
adminPage = login.login(); | ||
} | ||
|
||
@And("that at least one proposal has been submitted") | ||
public void submittedProposalPrecondition() { | ||
final CreateProposalPage createProposalLink = adminPage.navigateToCreateProposalPage(); | ||
currName = UUID.randomUUID().toString(); | ||
createProposalLink.enterNewProposal(currName, "[email protected]", "What's up doc?"); | ||
createProposalLink.navigateToAddConceptDialog(); | ||
createProposalLink.enterNewConcept("X-RAY, ARM", 1); | ||
createProposalLink.submitProposal(); | ||
} | ||
|
||
@When("I open the Manage Proposal page") | ||
public void navigateToManageProposalPage() { | ||
adminPage.navigateToAdminPage(); | ||
manageProposalsPage = adminPage.navigateToManageProposals(); | ||
} | ||
|
||
@Then("all proposals that have been submitted are displayed") | ||
public void checkAllSubmittedProposalsAreDisplayed() { | ||
final boolean b = manageProposalsPage.checkIfProposalIsSubmitted(currName); | ||
assertThat(b, is(true)); | ||
} | ||
|
||
@And("that at least one proposal has been saved as a draft") | ||
public void draftProposalPrecondition() { | ||
final CreateProposalPage createProposalLink = adminPage.navigateToCreateProposalPage(); | ||
currName = UUID.randomUUID().toString(); | ||
createProposalLink.enterNewProposal(currName, "[email protected]", "What's up doc?"); | ||
createProposalLink.navigateToAddConceptDialog(); | ||
createProposalLink.enterNewConcept("X-RAY, ARM", 1); | ||
createProposalLink.saveNewProposal(); | ||
} | ||
|
||
@Then("all proposals that have been saved as a draft are displayed") | ||
public void checkAllDraftProposalsAreDisplayed() { | ||
manageProposalsPage.checkIfProposalIsSaved(currName); | ||
} | ||
|
||
@And("there are no saved drafts and no submitted proposals") | ||
public void noProposalsPrecondition() throws IOException { | ||
final QueryBrowserPage queryBrowserPage = new QueryBrowserPage(); | ||
queryBrowserPage.removeAllProposals(); | ||
} | ||
|
||
@Then("there are no proposals displayed") | ||
public void checkNoProposalsDisplayed() { | ||
final int proposalCount = manageProposalsPage.getProposalCount(); | ||
|
||
assertThat(proposalCount, is(0)); | ||
} | ||
|
||
@Then("a message is displayed \"No proposals have been created\"") | ||
public void checkNoProposalMsg() { | ||
final boolean msgDisplayed = manageProposalsPage.checkNoProposalsMessageIs("No proposals have been created"); | ||
|
||
assertThat(msgDisplayed, is(true)); | ||
} | ||
} |
51 changes: 51 additions & 0 deletions
51
...nal-tests/src/test/java/org/openmrs/module/conceptpropose/pagemodel/QueryBrowserPage.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,51 @@ | ||
package org.openmrs.module.conceptpropose.pagemodel; | ||
|
||
import org.apache.commons.lang.StringUtils; | ||
import org.openmrs.module.conceptpropose.functionaltest.steps.SeleniumDriver; | ||
import org.openqa.selenium.By; | ||
import org.openqa.selenium.WebDriver; | ||
import org.openqa.selenium.WebElement; | ||
|
||
import java.io.IOException; | ||
import java.io.InputStream; | ||
import java.io.InputStreamReader; | ||
import java.util.Properties; | ||
|
||
public class QueryBrowserPage { | ||
|
||
private final String queryBrowserPageUrl; | ||
private WebDriver driver; | ||
private String openmrsUrl; | ||
|
||
public QueryBrowserPage() throws IOException { | ||
this.driver = SeleniumDriver.getDriver(); // request current driver every time new page constructed | ||
|
||
if (StringUtils.isNotBlank(System.getenv("openmrs_username"))) { | ||
// username = System.getenv("openmrs_username"); | ||
// password = System.getenv("openmrs_password"); | ||
|
||
if (StringUtils.isNotBlank(System.getenv("openmrs_url"))) { | ||
openmrsUrl = System.getenv("openmrs_url"); | ||
} | ||
|
||
queryBrowserPageUrl = String.format("http://%s/%s/module/querybrowser/manage.form", System.getenv("openmrs_server"), openmrsUrl); | ||
} else { | ||
final Properties p = new Properties(); | ||
final InputStream is = getClass().getResourceAsStream("/config.properties"); | ||
|
||
p.load(new InputStreamReader(is)); | ||
// username = p.getProperty("username"); | ||
// password = p.getProperty("password"); | ||
queryBrowserPageUrl = p.getProperty("openmrsUrl") + "/module/querybrowser/manage.form"; | ||
} | ||
} | ||
|
||
public void removeAllProposals() { | ||
driver.get(queryBrowserPageUrl); | ||
|
||
final WebElement queryEl = driver.findElement(By.cssSelector("textarea[ng-model=\"query\"]")); | ||
queryEl.sendKeys("delete from conceptpropose_proposed_concept_package"); | ||
driver.findElement(By.xpath("//button[contains(text(),'Submit Query')]")).click(); | ||
} | ||
|
||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,3 @@ | ||
username = admin | ||
password = Admin123 | ||
adminPageUrl = http://192.168.33.10:8080/openmrs/admin | ||
openmrsUrl = http://192.168.33.10:8080/openmrs |
19 changes: 11 additions & 8 deletions
19
...st/resources/org/openmrs/module/conceptpropose/functionaltest/ViewManageProposals.feature
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters