/* * * Copyright (C) 2007-2015 Licensed to the Comunes Association (CA) under * one or more contributor license agreements (see COPYRIGHT for details). * The CA licenses this file to you under the GNU Affero General Public * License version 3, (the "License"); you may not use this file except in * compliance with the License. This file is part of kune. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as * published by the Free Software Foundation, either version 3 of the * License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Affero General Public License for more details. * * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. * */ package cc.kune.selenium.spaces; import org.openqa.selenium.WebElement; import org.openqa.selenium.support.FindBy; import cc.kune.common.client.errors.UIException; import cc.kune.core.client.groups.newgroup.NewGroupPanel; import cc.kune.core.shared.dto.GroupType; import cc.kune.selenium.PageObject; import cc.kune.selenium.SeleniumConstants; import cc.kune.selenium.SeleniumUtils; // TODO: Auto-generated Javadoc /** * The Class NewGroupPageObject. * * @author vjrj@ourproject.org (Vicente J. Ruiz Jurado) */ public class NewGroupPageObject extends PageObject { /** The closed type. */ @FindBy(id = NewGroupPanel.CLOSED_GROUP_TYPE_ID) public WebElement closedType; /** The community type. */ @FindBy(id = NewGroupPanel.COMM_GROUP_TYPE_ID) public WebElement communityType; /** The long name. */ @FindBy(id = NewGroupPanel.LONGNAME_FIELD + SeleniumConstants.INPUT) public WebElement longName; /** The org type. */ @FindBy(id = NewGroupPanel.ORG_GROUP_TYPE_ID) public WebElement orgType; /** The project type. */ @FindBy(id = NewGroupPanel.PROJ_GROUP_TYPE_ID) public WebElement projectType; /** The public description. */ @FindBy(id = NewGroupPanel.PUBLICDESC_FIELD + SeleniumConstants.INPUT) public WebElement publicDescription; /** The register btn. */ @FindBy(id = SeleniumConstants.GWTDEV + NewGroupPanel.REGISTER_BUTTON) public WebElement registerBtn; /** The short name. */ @FindBy(id = NewGroupPanel.SHORTNAME_FIELD + SeleniumConstants.INPUT) public WebElement shortName; /** The tags. */ @FindBy(id = NewGroupPanel.TAGS_FIELD + SeleniumConstants.INPUT) public WebElement tags; /** * Creates the. * * @param sufix * the sufix * @param shortname * the shortname * @param longname * the longname * @param description * the description * @param tagsS * the tags s * @param groupType * the group type */ public void create(final String sufix, final String shortname, final String longname, final String description, final String tagsS, final GroupType groupType) { shortName.sendKeys(shortname + sufix); longName.sendKeys(longname + " " + sufix); publicDescription.sendKeys(description); tags.sendKeys(tagsS); switch (groupType) { case PROJECT: projectType.click(); showTooltip(projectType); break; case ORGANIZATION: orgType.click(); showTooltip(orgType); break; case CLOSED: closedType.click(); showTooltip(closedType); break; case COMMUNITY: closedType.click(); showTooltip(communityType); break; default: throw new UIException("New group types?"); } SeleniumUtils.doScreenshot(getWebDriver(), "newgroup"); registerBtn.click(); } }