package cz.moneta.test.dsl.kasanova.authentication;

import static cz.moneta.test.dsl.kasanova.authentication.KSNLoginPage.CONFIRM_BUTTON;
import static cz.moneta.test.dsl.kasanova.authentication.KSNLoginPage.PASSWORD_INPUT;
import static cz.moneta.test.dsl.kasanova.authentication.KSNLoginPage.USERNAME_INPUT;

import cz.moneta.test.dsl.kasanova.components.KSNMainMenu;
import cz.moneta.test.harness.support.web.Click;
import cz.moneta.test.harness.support.web.TypeInto;
import cz.moneta.test.harness.support.web.Wait;
import cz.moneta.test.harness.support.web.WebFlow;

@Wait({USERNAME_INPUT, PASSWORD_INPUT, CONFIRM_BUTTON})
public interface KSNLoginPage extends WebFlow<KSNLoginPage> {

	String USERNAME_INPUT = "ssoedit";
    String PASSWORD_INPUT = "password";
    String CONFIRM_BUTTON = "loginbtn";

    @TypeInto(USERNAME_INPUT)
    KSNLoginPage typeUsername(String username);

    @TypeInto(PASSWORD_INPUT)
    KSNLoginPage typePassword(String password);

    @Click(CONFIRM_BUTTON)
    KSNMainMenu clickLogin();
}
