package it.com.atlassian.labs.speakeasy;
import com.atlassian.pageobjects.PageBinder;
import com.atlassian.pageobjects.binder.WaitUntil;
import com.atlassian.webdriver.AtlassianWebDriver;
import org.openqa.selenium.By;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.FindBy;
import javax.inject.Inject;
/**
*
*/
public class ExtensionWizard
{
@Inject
AtlassianWebDriver driver;
@Inject
PageBinder pageBinder;
@FindBy(id="extension-wizard")
WebElement dialogElement;
@FindBy(id="wizard-key")
WebElement keyInput;
@FindBy(id="wizard-name")
WebElement nameInput;
@FindBy(id="wizard-description")
WebElement descriptionInput;
@FindBy(className="extension-wizard-create")
WebElement createButton;
@WaitUntil
public void waitForDialog()
{
driver.waitUntilElementIsVisibleAt(By.className("extension-wizard-create"), dialogElement);
}
public ExtensionWizard key(String key)
{
keyInput.sendKeys(key);
return this;
}
public ExtensionWizard name(String name)
{
nameInput.sendKeys(name);
return this;
}
public ExtensionWizard description(String description)
{
descriptionInput.sendKeys(description);
return this;
}
public SpeakeasyUserPage create()
{
createButton.click();
SpeakeasyUserPage result = pageBinder.bind(SpeakeasyUserPage.class);
result.waitForMessages();
driver.waitUntilElementIsNotVisible(By.className("extension-wizard-create"));
return result;
}
}