View Javadoc

1   package com.atlassian.webdriver.jira.page.user;
2   
3   import com.atlassian.pageobjects.binder.Init;
4   import com.atlassian.webdriver.jira.page.JiraAdminAbstractPage;
5   import org.openqa.selenium.By;
6   import org.openqa.selenium.WebElement;
7   import org.openqa.selenium.support.FindBy;
8   
9   import java.util.HashSet;
10  import java.util.List;
11  import java.util.Set;
12  
13  /**
14   * @since 2.0
15   */
16  public class AddUserPage extends JiraAdminAbstractPage
17  {
18      private static String URI = "/secure/admin/user/AddUser!default.jspa";
19  
20      @FindBy (name ="username")
21      private WebElement usernameField;
22  
23      @FindBy (name = "password")
24      private WebElement passwordField;
25  
26      @FindBy (name = "confirm")
27      private WebElement confirmPasswordField;
28  
29      @FindBy (name = "fullname")
30      private WebElement fullnameField;
31  
32      @FindBy (name = "email")
33      private WebElement emailField;
34  
35      @FindBy (name = "sendEmail")
36      private WebElement sendEmailCheckbox;
37  
38      @FindBy (id = "create_submit")
39      private WebElement createButton;
40  
41      @FindBy (id = "cancelButton")
42      private WebElement cancelButton;
43  
44      private Set<String> errors = new HashSet<String>();
45  
46      public String getUrl()
47      {
48          return URI;
49      }
50  
51      @Init
52      public void checkForErrors()
53      {
54          List<WebElement> errorElements = driver.findElements(By.className("errMsg"));
55  
56          for (WebElement errEl : errorElements)
57          {
58              errors.add(errEl.getText());
59          }
60      }
61  
62      public AddUserPage setUsername(String username)
63      {
64          usernameField.sendKeys(username);
65          return this;
66      }
67  
68      public AddUserPage setPassword(String password)
69      {
70          passwordField.sendKeys(password);
71          return this;
72      }
73  
74      public AddUserPage setConfirmPassword(String password)
75      {
76          confirmPasswordField.sendKeys(password);
77          return this;
78      }
79  
80      public AddUserPage setFullname(String fullname)
81      {
82          fullnameField.sendKeys(fullname);
83          return this;
84      }
85  
86      public AddUserPage setEmail(String email)
87      {
88          emailField.sendKeys(email);
89  
90          return this;
91      }
92  
93      public AddUserPage sendPasswordEmail(boolean sendPasswordEmail)
94      {
95          if (sendEmailCheckbox.isSelected())
96          {
97              if (!sendPasswordEmail)
98              {
99                  sendEmailCheckbox.click();
100             }
101         }
102         else
103         {
104             if (sendPasswordEmail)
105             {
106                 sendEmailCheckbox.click();
107             }
108         }
109 
110         return this;
111     }
112 
113     public ViewUserPage createUser()
114     {
115         createButton.click();
116 
117         return pageBinder.bind(ViewUserPage.class);
118     }
119 
120     public AddUserPage createUserExpectingError()
121     {
122         createButton.click();
123 
124         return pageBinder.bind(AddUserPage.class);
125     }
126 
127     public UserBrowserPage cancelCreateUser()
128     {
129         cancelButton.click();
130 
131         return pageBinder.bind(UserBrowserPage.class);
132     }
133 
134     public boolean hasError()
135     {
136         return errors.size() > 0;
137     }
138 }