Skip to content

Commit

Permalink
βœ… : add navigation to module description page
Browse files Browse the repository at this point in the history
  • Loading branch information
juwit committed Jan 20, 2021
1 parent e3f1f61 commit 0833bec
Show file tree
Hide file tree
Showing 3 changed files with 41 additions and 0 deletions.
5 changes: 5 additions & 0 deletions src/test/features/io/gaia_app/e2e/basic_navigation.feature
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,11 @@ Feature: Basic Navigation
When I go on the module 'e01f9925-a559-45a2-8a55-f93dc434c676' page
Then Percy takes a snapshot named 'Module Details'

Scenario: View module description
When I go on the module 'e01f9925-a559-45a2-8a55-f93dc434c676' description page
Then Module description readme contains 'A sample terraform module for running a mongodb database inside a docker container'
Then Percy takes a snapshot named 'Module Description'

Scenario: View stack details
When I go on the stack 'de28a01f-257a-448d-8e1b-00e4e3a41db2' page
Then Percy takes a snapshot named 'Stack Details'
Expand Down
20 changes: 20 additions & 0 deletions src/test/java/io/gaia_app/e2e/pages/ModuleDescriptionPage.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
package io.gaia_app.e2e.pages

import org.openqa.selenium.WebDriver
import org.openqa.selenium.WebElement
import org.openqa.selenium.support.FindBy

class ModuleDescriptionPage(webDriver: WebDriver) {

init {
if(! webDriver.currentUrl.contains("/description")){
throw IllegalStateException("This is not the module description page. Current page is ${webDriver.currentUrl}")
}
}

@FindBy(className= "markdown-body")
private lateinit var readmeContent: WebElement

fun readmeText() : String = readmeContent.text

}
16 changes: 16 additions & 0 deletions src/test/java/io/gaia_app/e2e/stepDefs/ModuleStepDefs.java
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
package io.gaia_app.e2e.stepDefs;

import io.cucumber.java.en.Then;
import io.cucumber.java.en.When;
import io.gaia_app.e2e.pages.ModuleDescriptionPage;
import io.gaia_app.e2e.pages.ModulePage;
import io.gaia_app.e2e.pages.ModulesPage;
import org.openqa.selenium.support.PageFactory;
Expand Down Expand Up @@ -34,4 +36,18 @@ public void i_go_on_a_module_page(String moduleId) {
assertThat(page.terraformImageTag()).isEqualTo("0.11.14");
}

@When("I go on the module {string} description page")
public void i_go_on_a_module_description_page(String moduleId) {
driver.get(baseUrl()+"/modules/" + moduleId + "/description");
new ModuleDescriptionPage(driver);
}

@Then("Module description readme contains {string}")
public void module_description_readme_contains(String content){
var page = new ModuleDescriptionPage(driver);
PageFactory.initElements(new AjaxElementLocatorFactory(driver, 10), page);

assertThat(page.readmeText()).contains(content);
}

}

0 comments on commit 0833bec

Please # to comment.