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 = [];
|
||||
if ( admin ){
|
||||
toolbar.push({
|
||||
id: 'repositoryAddButton',
|
||||
xtype: 'tbbutton',
|
||||
text: this.addText,
|
||||
icon: this.addIcon,
|
||||
|
||||
@@ -45,6 +45,7 @@ Sonia.repository.SettingsFormPanel = Ext.extend(Sonia.repository.FormPanel, {
|
||||
helpText: this.nameHelpText,
|
||||
vtype: 'repositoryName'
|
||||
},{
|
||||
id: 'repositoryType',
|
||||
fieldLabel: this.typeText,
|
||||
name: 'type',
|
||||
xtype: 'combo',
|
||||
|
||||
@@ -51,7 +51,7 @@ public class AuthenticationITCase extends SeleniumTestBase
|
||||
@Test
|
||||
public void testAuthentication() throws Exception
|
||||
{
|
||||
authenticate("scmadmin", "scmadmin");
|
||||
login("scmadmin", "scmadmin");
|
||||
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 password
|
||||
*/
|
||||
protected void authenticate(String username, String password)
|
||||
protected void login(String username, String password)
|
||||
{
|
||||
type("input[name=username]", username);
|
||||
type("input[name=password]", password);
|
||||
@@ -238,7 +238,7 @@ public class SeleniumTestBase
|
||||
*/
|
||||
protected WebElement waitForPresence(String query)
|
||||
{
|
||||
WebDriverWait wait = new WebDriverWait(driver, 2);
|
||||
WebDriverWait wait = new WebDriverWait(driver, 5);
|
||||
|
||||
return wait.until(
|
||||
ExpectedConditions.presenceOfElementLocated(By.cssSelector(query)));
|
||||
@@ -254,7 +254,7 @@ public class SeleniumTestBase
|
||||
*/
|
||||
protected WebElement waitToBeClickable(String query)
|
||||
{
|
||||
WebDriverWait wait = new WebDriverWait(driver, 2);
|
||||
WebDriverWait wait = new WebDriverWait(driver, 5);
|
||||
|
||||
return wait.until(
|
||||
ExpectedConditions.elementToBeClickable(By.cssSelector(query)));
|
||||
|
||||
Reference in New Issue
Block a user