package cz.moneta.test.dsl.ib.settings.ib;

import cz.moneta.test.dsl.ib.settings.ib.contactInformation.IbContactInformationPage;
import cz.moneta.test.dsl.ib.settings.ib.ediponents.DisponentsOverview;
import cz.moneta.test.dsl.ib.settings.smartbanka.SmartBankingPage;
import cz.moneta.test.harness.support.web.Builder;
import cz.moneta.test.harness.support.web.Click;
import cz.moneta.test.harness.support.web.Wait;

import static cz.moneta.test.dsl.ib.settings.ib.SettingsVerticalMenu.MENU_PARENT;
import static cz.moneta.test.dsl.ib.settings.ib.SettingsVerticalMenu.SMART_BANKA_LINK;

@Wait({MENU_PARENT, SMART_BANKA_LINK})
public interface SettingsVerticalMenu extends Builder {

    String MENU_PARENT = "//ul[@id = 'navList']";
    String PASSWORD_AND_CHANNEL_MANAGEMENT = "//a[text()='Změna hesla a správa kanálů']";
    String SMART_BANKA_LINK = "//a[text()='Smart Banka']";
    String CONTACT_INFORMATION = "//a[text()='Kontaktní informace']";
    String SMART_BANKA_ACCEPT = "//*[@id=\"smartBankAccept\"]";
    String CONTINUE_LINK = "//img[@alt='Pokračovat']";
    String EDIPONENTS_ADMINISTRATION = "//a[text()='Správa eDisponentů']";

    @Click(SMART_BANKA_LINK)
    SmartBankingPage selectSmartBanka();

    @Click(SMART_BANKA_ACCEPT)
    SettingsPage acceptSmartBankaTermsAndConditions();

    @Click(CONTINUE_LINK)
    SettingsPage clickContinue();

    @Click(PASSWORD_AND_CHANNEL_MANAGEMENT)
    PasswordAndChannelManagementPage passwordAndChannelManagement();

    @Wait(CONTACT_INFORMATION)
    @Click(value = CONTACT_INFORMATION, jsClick = true)
    IbContactInformationPage contactInformation();

    @Click(EDIPONENTS_ADMINISTRATION)
    DisponentsOverview clickToEdisponentsAdministration();
}