mirror of
https://github.com/scm-manager/scm-manager.git
synced 2025-11-12 16:35:45 +01:00
added selenium test for repository creation
This commit is contained in:
@@ -73,6 +73,7 @@ Sonia.repository.Panel = Ext.extend(Sonia.rest.Panel, {
|
|||||||
var toolbar = [];
|
var toolbar = [];
|
||||||
if ( admin ){
|
if ( admin ){
|
||||||
toolbar.push({
|
toolbar.push({
|
||||||
|
id: 'repositoryAddButton',
|
||||||
xtype: 'tbbutton',
|
xtype: 'tbbutton',
|
||||||
text: this.addText,
|
text: this.addText,
|
||||||
icon: this.addIcon,
|
icon: this.addIcon,
|
||||||
|
|||||||
@@ -45,6 +45,7 @@ Sonia.repository.SettingsFormPanel = Ext.extend(Sonia.repository.FormPanel, {
|
|||||||
helpText: this.nameHelpText,
|
helpText: this.nameHelpText,
|
||||||
vtype: 'repositoryName'
|
vtype: 'repositoryName'
|
||||||
},{
|
},{
|
||||||
|
id: 'repositoryType',
|
||||||
fieldLabel: this.typeText,
|
fieldLabel: this.typeText,
|
||||||
name: 'type',
|
name: 'type',
|
||||||
xtype: 'combo',
|
xtype: 'combo',
|
||||||
|
|||||||
@@ -51,7 +51,7 @@ public class AuthenticationITCase extends SeleniumTestBase
|
|||||||
@Test
|
@Test
|
||||||
public void testAuthentication() throws Exception
|
public void testAuthentication() throws Exception
|
||||||
{
|
{
|
||||||
authenticate("scmadmin", "scmadmin");
|
login("scmadmin", "scmadmin");
|
||||||
logout();
|
logout();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,90 @@
|
|||||||
|
/**
|
||||||
|
* Copyright (c) 2010, Sebastian Sdorra All rights reserved.
|
||||||
|
*
|
||||||
|
* Redistribution and use in source and binary forms, with or without
|
||||||
|
* modification, are permitted provided that the following conditions are met:
|
||||||
|
*
|
||||||
|
* 1. Redistributions of source code must retain the above copyright notice,
|
||||||
|
* this list of conditions and the following disclaimer. 2. Redistributions in
|
||||||
|
* binary form must reproduce the above copyright notice, this list of
|
||||||
|
* conditions and the following disclaimer in the documentation and/or other
|
||||||
|
* materials provided with the distribution. 3. Neither the name of SCM-Manager;
|
||||||
|
* nor the names of its contributors may be used to endorse or promote products
|
||||||
|
* derived from this software without specific prior written permission.
|
||||||
|
*
|
||||||
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
|
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
|
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR
|
||||||
|
* ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||||
|
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||||
|
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||||
|
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||||
|
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
|
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*
|
||||||
|
* http://bitbucket.org/sdorra/scm-manager
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
package sonia.scm.selenium;
|
||||||
|
|
||||||
|
//~--- non-JDK imports --------------------------------------------------------
|
||||||
|
|
||||||
|
import org.junit.After;
|
||||||
|
import org.junit.Before;
|
||||||
|
import org.junit.Test;
|
||||||
|
|
||||||
|
import static org.junit.Assert.*;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @author Sebastian Sdorra
|
||||||
|
*/
|
||||||
|
public class RepositoryCRUDITCase extends SeleniumTestBase
|
||||||
|
{
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Method description
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@After
|
||||||
|
public void after()
|
||||||
|
{
|
||||||
|
logout();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Method description
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@Test
|
||||||
|
public void createRepository()
|
||||||
|
{
|
||||||
|
waitAndClick("#repositoryAddButton");
|
||||||
|
waitForPresence("input[name=name]").sendKeys("scm");
|
||||||
|
select("#x-form-el-repositoryType img").click();
|
||||||
|
waitAndClick("div.x-combo-list-item:nth-of-type(2)");
|
||||||
|
type("input[name=contact]", "scmadmin@scm-manager.org");
|
||||||
|
type("textarea[name=description]", "SCM-Manager");
|
||||||
|
waitAndClick("div.x-panel-btns button:nth-of-type(1)");
|
||||||
|
|
||||||
|
String name =
|
||||||
|
waitForPresence(
|
||||||
|
"div.x-grid3-row-selected div.x-grid3-col-name").getText();
|
||||||
|
|
||||||
|
assertEquals("scm", name);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Method description
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
@Before
|
||||||
|
public void login()
|
||||||
|
{
|
||||||
|
login("scmadmin", "scmadmin");
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -111,7 +111,7 @@ public class SeleniumTestBase
|
|||||||
* @param username
|
* @param username
|
||||||
* @param password
|
* @param password
|
||||||
*/
|
*/
|
||||||
protected void authenticate(String username, String password)
|
protected void login(String username, String password)
|
||||||
{
|
{
|
||||||
type("input[name=username]", username);
|
type("input[name=username]", username);
|
||||||
type("input[name=password]", password);
|
type("input[name=password]", password);
|
||||||
@@ -238,7 +238,7 @@ public class SeleniumTestBase
|
|||||||
*/
|
*/
|
||||||
protected WebElement waitForPresence(String query)
|
protected WebElement waitForPresence(String query)
|
||||||
{
|
{
|
||||||
WebDriverWait wait = new WebDriverWait(driver, 2);
|
WebDriverWait wait = new WebDriverWait(driver, 5);
|
||||||
|
|
||||||
return wait.until(
|
return wait.until(
|
||||||
ExpectedConditions.presenceOfElementLocated(By.cssSelector(query)));
|
ExpectedConditions.presenceOfElementLocated(By.cssSelector(query)));
|
||||||
@@ -254,7 +254,7 @@ public class SeleniumTestBase
|
|||||||
*/
|
*/
|
||||||
protected WebElement waitToBeClickable(String query)
|
protected WebElement waitToBeClickable(String query)
|
||||||
{
|
{
|
||||||
WebDriverWait wait = new WebDriverWait(driver, 2);
|
WebDriverWait wait = new WebDriverWait(driver, 5);
|
||||||
|
|
||||||
return wait.until(
|
return wait.until(
|
||||||
ExpectedConditions.elementToBeClickable(By.cssSelector(query)));
|
ExpectedConditions.elementToBeClickable(By.cssSelector(query)));
|
||||||
|
|||||||
Reference in New Issue
Block a user