package org.keycloak.testsuite.console.page.clients;
import org.keycloak.representations.idm.ClientRepresentation;
import org.keycloak.testsuite.page.Form;
import org.keycloak.testsuite.util.Timer;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.FindBy;
import org.openqa.selenium.support.ui.Select;
import static org.keycloak.testsuite.page.Form.getInputValue;
import static org.keycloak.testsuite.util.WaitUtils.*;
/**
*
* @author tkyjovsk
*/
public class CreateClientForm extends Form {
@FindBy(id = "clientId")
private WebElement clientIdInput;
@FindBy(id = "protocol")
private Select protocolSelect;
public void setValues(ClientRepresentation client) {
waitUntilElement(clientIdInput).is().present();
setClientId(client.getClientId());
setProtocol(client.getProtocol());
}
public String getClientId() {
return getInputValue(clientIdInput);
}
public void setClientId(String clientId) {
setInputValue(clientIdInput, clientId);
}
public String getProtocol() {
waitUntilElement(protocolSelect.getFirstSelectedOption()).is().present();
return protocolSelect.getFirstSelectedOption().getText();
}
public void setProtocol(String protocol) {
Timer.DEFAULT.reset();
protocolSelect.selectByVisibleText(protocol);
Timer.DEFAULT.reset("clientSettings.setProtocol()");
}
}