package org.keycloak.testsuite.console.page.federation; import org.jboss.arquillian.graphene.findby.FindByJQuery; import org.keycloak.testsuite.console.page.AdminConsoleRealm; import org.keycloak.testsuite.console.page.fragment.DataTable; import org.keycloak.testsuite.console.page.fragment.ModalDialog; import org.keycloak.testsuite.util.UIUtils; import org.openqa.selenium.support.FindBy; import org.openqa.selenium.support.ui.Select; /** * @author fkiss * @author Vaclav Muzikar <vmuzikar@redhat.com> */ public class UserFederation extends AdminConsoleRealm { @Override public String getUriFragment() { return super.getUriFragment() + "/user-federation"; } @FindByJQuery("select[ng-model*='selectedProvider']") private Select addProviderSelect; @FindBy(xpath = "//div[./h1/span[text()='User Federation']]/table") private FederationsTable federationsTable; public FederationsTable table() { return federationsTable; } public void addFederation(String provider) { addProviderSelect.selectByVisibleText(provider); } public boolean hasProvider(String provider) { return UIUtils.selectContainsOption(addProviderSelect, provider); } public class FederationsTable extends DataTable { @FindBy(xpath = "//div[@class='modal-dialog']") private ModalDialog modalDialog; public void editFederation(String federation) { clickRowActionButton(getRowByLinkText(federation), "Edit"); } public void removeFederation(String federation) { clickRowActionButton(getRowByLinkText(federation), "Delete"); modalDialog.confirmDeletion(); } public int getFederationsCount() { return rows().size(); } } }