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

import cz.moneta.test.dsl.ib.IbPageFlow;
import cz.moneta.test.dsl.ib.accountsandtransactions.directdebitorder.DirectDebitAuthorizePage;
import cz.moneta.test.dsl.ib.accountsandtransactions.directdebitorder.DirectDebitChangePage;
import cz.moneta.test.dsl.ib.accountsandtransactions.directdebitorder.DirectDebitCreatePage;
import cz.moneta.test.dsl.ib.accountsandtransactions.sipopayment.SipoOrderCreatePage;
import cz.moneta.test.dsl.ib.accountsandtransactions.standingorder.StandingOrderCreatePage;
import cz.moneta.test.harness.support.web.Click;
import cz.moneta.test.harness.support.web.Wait;

import static cz.moneta.test.dsl.ib.accountsandtransactions.ListOfStandingOrdersDirectDebitsAndSipoPaymentsPage.NEW_DIRECT_DEBIT_AUTHORIZATION;

@Wait(value = NEW_DIRECT_DEBIT_AUTHORIZATION)
public interface ListOfStandingOrdersDirectDebitsAndSipoPaymentsPage extends IbPageFlow<ListOfStandingOrdersDirectDebitsAndSipoPaymentsPage> {
    String NEW_DIRECT_DEBIT_AUTHORIZATION = "//img[@alt='Nové povolení inkasa']";
    String NEW_SIPO_AUTHORIZATION = "//img[@alt='Nové povolení platby SIPO']";
    String NEW_STANDING_BUTTON = "//img[@alt='Nový trvalý příkaz']";
    String CHANGE_BUTTON = "//img[@alt='Změnit']";
    String CANCEL_BUTTON = "//img[@alt='Zrušit']";

    @Click(NEW_SIPO_AUTHORIZATION)
    SipoOrderCreatePage clicNewSipoOrder();

    @Click(NEW_DIRECT_DEBIT_AUTHORIZATION)
    DirectDebitCreatePage clicNewDirectDebidOrder();

    @Click(NEW_STANDING_BUTTON)
    StandingOrderCreatePage clickNewStandingOrder();

    @Click(CHANGE_BUTTON)
    DirectDebitChangePage clickChangeDirectDebit();

    @Click(CANCEL_BUTTON)
    DirectDebitAuthorizePage clickCancelDirectDebit();
}