package cz.moneta.test.dsl.ufo.banka.pages.fop;

import cz.moneta.test.dsl.ufo.banka.pages.fon.CRS001_S001_CommonReportingStatusPage;
import cz.moneta.test.harness.support.web.*;

import static cz.moneta.test.dsl.ufo.banka.pages.fop.CIF034_S001_CompanyAntiLaunderingStatement.*;

@Wait(value = CIF034_S001_PAGE_LABEL_XPATH, by = Lookup.XPATH, waitSecondsForElement = 60)
@Wait(SUBMIT_BUTTON)
public interface CIF034_S001_CompanyAntiLaunderingStatement extends WebFlow<CIF034_S001_CompanyAntiLaunderingStatement> {

    String CIF034_S001_PAGE_LABEL_XPATH = "//div[text()='CIF034_S001']";

    String SUBMIT_BUTTON = "CIF034_S001_B001";

    String CURRENCY_MAJORITY_SELECT = "CIF034_S001_C001";
    String LAST_TURNOVER_SELECT = "CIF034_S001_C006";
    String MMB_TURNOVER_SELECT = "CIF034_S001_C007";

    String NO_MORE_THAN_HALF_RADIO = "CIF034_S001_R001_0";
    String MORE_THAN_HALF_RADIO = "CIF034_S001_R001_1";
    String EXPECTED_TRANSACTIONS_RADIO = "CIF034_S001_R002_2";
    String FOREIGN_TRANSACTIONS_SEND_RADIO = "CIF034_S001_R003_0";
    String FOREIGN_TRANSACTIONS_RECEIVE_RADIO = "CIF034_S001_R005_0";
    String NO_LOANS_EXPECTED_RADIO = "CIF034_S001_R007_0";
    String LOANS_EXPECTED_RADIO = "CIF034_S001_R007_1";

    @Click(SUBMIT_BUTTON)
    CRS001_S001_CommonReportingStatusPage submitStatement();

    @Click(EXPECTED_TRANSACTIONS_RADIO)
    CIF034_S001_CompanyAntiLaunderingStatement chooseExpectedCashless();

    @Click(FOREIGN_TRANSACTIONS_SEND_RADIO)
    CIF034_S001_CompanyAntiLaunderingStatement chooseNoSendingAbroad();

    @Click(FOREIGN_TRANSACTIONS_RECEIVE_RADIO)
    CIF034_S001_CompanyAntiLaunderingStatement chooseNoForeignReceive();

    @Click(NO_LOANS_EXPECTED_RADIO)
    CIF034_S001_CompanyAntiLaunderingStatement chooseLoansNotExpected();

    @Click(LOANS_EXPECTED_RADIO)
    CIF034_S001_CompanyAntiLaunderingStatement chooseLoansExpected();

    @Click(NO_MORE_THAN_HALF_RADIO)
    CIF034_S001_CompanyAntiLaunderingStatement chooseMmbMinority();

    @Click(MORE_THAN_HALF_RADIO)
    CIF034_S001_CompanyAntiLaunderingStatement chooseMmbMajority();

    @Select(CURRENCY_MAJORITY_SELECT)
    CIF034_S001_CompanyAntiLaunderingStatement selectMajorityCurrency(String currencyCode);

    @Select(LAST_TURNOVER_SELECT)
    CIF034_S001_CompanyAntiLaunderingStatement selectLastTurnover(String moneyInterval);

    @Select(MMB_TURNOVER_SELECT)
    CIF034_S001_CompanyAntiLaunderingStatement selectMmbTurnover(String moneyInterval);
}
