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

import cz.moneta.test.harness.support.web.*;

import static cz.moneta.test.dsl.ufo.banka.pages.common.pages.AML002_S001_AmlSurveyPage.PAGE_LABEL_XPATH;

@Wait(value = PAGE_LABEL_XPATH, by = Lookup.XPATH)
public interface AML002_S001_AmlSurveyPage extends WebFlow<AML002_S001_AmlSurveyPage> {

    String PAGE_LABEL_XPATH = "//div[text()='AML002_S001']";
    String INCOME_FROM_BUSINESS_CHECKBOX = "AML002_S001_H001_2";
    String CONTINUE_BUTTON = "AML002_S001_B003";
    String END_BUTTON = "AML002_S001_B001";
    String NOT_POLITICALLY_EXPOSED_PERSON_RADIO = "AML002_S001_R001_34";
    String CZECH_REPUBLIC_TAXES_RESIDENCY_RADIO = "AML002_S001_R001_51";
    String NOT_ANOTHER_TAXES_RESIDENCY_RADIO = "AML002_S001_R001_34";
    String NOT_POLITICALLY_EXPOSED_RADIO = "AML002_S001_R001_780";
    String PROPERTY_VALUE_THIRD_OPTION_RADIO = "AML002_S001_R001_662";
    String PROPERTY_ORIGIN_HERITAGE_RADIO = "AML002_S001_H001_678";
    String POTENTIAL_CLIENT_NOT_WITH_THIRD_PERSON_RADIO = "AML002_S001_R001_581";
    String OTHER_INFORMATION_INPUT = "AML002_S001_M001";
    String REFUSED_IDENTIFY_NO_RADIO = "AML002_S001_R001_585";
    String CASH_PAYMENT_PREFERENCE_RADIO = "AML002_S001_R001_13";
    String NOT_CASH_PAYMENT_RADIO = "AML002_S001_R001_13";
    String CASH_MORE_THAN_25_PERCENT_NO_RADIO = "AML002_S001_R001_29";
    String RESIDENCY_PLACE_OF_BUSINESS_YES_RADIO = "AML002_S001_R001_685";
    String PASSIVE_NOT_FINANCIAL_ENTITY_TYPE_RADIO = "AML002_S001_R001_708";
    String PRIMARY_MMB_ACCOUNT_YES = "AML002_S001_R001_567";
    String FINANCIAL_INSTITUTION_RADIO = "AML002_S001_R001_705";
    String NOT_IN_SUSPICIOUS_MARKETS_RADIO = "AML002_S001_H001_764";
    String ACCOUNT_IN_DIFFERENT_BANK_NO_RADIO = "AML002_S001_R001_561";
    String DOMESTIC_PAYMENTS_PRESUMPTION_RADIO = "AML002_S001_H001_785";
    String POTENTIAL_RISK_NO_RADIO = "AML002_S001_R001_581";
    String MAX_EXPECTED_REVENUE_200K_RADIO = "AML002_S001_R001_825";
    String MAX_EXPECTED_REVENUE_500K_RADIO = "AML002_S001_R001_790";
    String REASON_FOR_STAY_IN_CZECHIA_RADIO = "AML002_S001_R001_550";
    String ACCOUNT_CURRENCY_INTEREST_RADIO = "AML002_S001_H001_569";
    String AVERAGE_NET_MONTHLY_INCOME_RADIO = "AML002_S001_R001_AML5.1.DO_500";
    String DOMINANT_PAYMENT_TYPE_RADIO = "AML002_S001_R001_17";
    String CRYPTO_TRANSACTIONS_NO_RADIO = "AML002_S001_R001_576";


    @Click(value = CRYPTO_TRANSACTIONS_NO_RADIO, jsClick = true)
    AML002_S001_AmlSurveyPage clickCryptoTransactionsNo();

    @Click(value = DOMINANT_PAYMENT_TYPE_RADIO, jsClick = true)
    AML002_S001_AmlSurveyPage clickDominantPaymentType();

    @Click(value = AVERAGE_NET_MONTHLY_INCOME_RADIO, jsClick = true)
    AML002_S001_AmlSurveyPage clickAverageNetMonthlyIncome();

    @Click(value = ACCOUNT_CURRENCY_INTEREST_RADIO, jsClick = true)
    AML002_S001_AmlSurveyPage clickAccountCurrencyInterest();

    @Click(value = REASON_FOR_STAY_IN_CZECHIA_RADIO, jsClick = true)
    AML002_S001_AmlSurveyPage clickReasonForStay();

    @Click(value = INCOME_FROM_BUSINESS_CHECKBOX, jsClick = true)
    AML002_S001_AmlSurveyPage clickIncomeFromBusiness();

    @Click(value = NOT_POLITICALLY_EXPOSED_PERSON_RADIO, jsClick = true)
    AML002_S001_AmlSurveyPage clickNotPoliticallyExposedPerson();

    @Click(value = CZECH_REPUBLIC_TAXES_RESIDENCY_RADIO, jsClick = true)
    AML002_S001_AmlSurveyPage clickCzechRepublicTaxesResidency();

    @Click(value = NOT_ANOTHER_TAXES_RESIDENCY_RADIO, jsClick = true)
    AML002_S001_AmlSurveyPage clickNotAnotherTaxesResidency();

    @Click(value = NOT_POLITICALLY_EXPOSED_RADIO, jsClick = true)
    AML002_S001_AmlSurveyPage clickNotPoliticallyExposed();

    @Click(value = PROPERTY_VALUE_THIRD_OPTION_RADIO, jsClick = true)
    AML002_S001_AmlSurveyPage clickPropertyValueThirdOption();

    @Click(value = PROPERTY_ORIGIN_HERITAGE_RADIO, jsClick = true)
    AML002_S001_AmlSurveyPage clickPropertyOriginHeritage();

    @Click(value = POTENTIAL_CLIENT_NOT_WITH_THIRD_PERSON_RADIO, jsClick = true)
    AML002_S001_AmlSurveyPage clickPotentialClientNotWithThirdPerson();

    @TypeInto(OTHER_INFORMATION_INPUT)
    AML002_S001_AmlSurveyPage fillOtherInformation(String otherInformation);

    @Click(value = REFUSED_IDENTIFY_NO_RADIO, jsClick = true)
    AML002_S001_AmlSurveyPage clickRefusedIdentifyNo();

    @Click(value = CASH_PAYMENT_PREFERENCE_RADIO, jsClick = true)
    AML002_S001_AmlSurveyPage clickCashPaymentPreference();

    @Click(value = NOT_CASH_PAYMENT_RADIO, jsClick = true)
    AML002_S001_AmlSurveyPage clickNotCashPayment();

    @Click(value = CASH_MORE_THAN_25_PERCENT_NO_RADIO, jsClick = true)
    AML002_S001_AmlSurveyPage clickCashMoreThan25PercentNo();

    @Click(value = RESIDENCY_PLACE_OF_BUSINESS_YES_RADIO, jsClick = true)
    AML002_S001_AmlSurveyPage clickResidencyPlaceOfBusiness();

    @Click(value = PASSIVE_NOT_FINANCIAL_ENTITY_TYPE_RADIO, jsClick = true)
    AML002_S001_AmlSurveyPage clickPassiveNotFinancialEntity();

    @Click(value = PRIMARY_MMB_ACCOUNT_YES, jsClick = true)
    AML002_S001_AmlSurveyPage clickPrimaryMmbAccountYes();

    @Click(value = FINANCIAL_INSTITUTION_RADIO, jsClick = true)
    AML002_S001_AmlSurveyPage clickFinancialInstitution();

    @Click(value = NOT_IN_SUSPICIOUS_MARKETS_RADIO, jsClick = true)
    AML002_S001_AmlSurveyPage clickNotInSuspiciousMarkets();

    @Click(value = ACCOUNT_IN_DIFFERENT_BANK_NO_RADIO, jsClick = true)
    AML002_S001_AmlSurveyPage clickAccountInDifferentBankNo();

    @Click(value = DOMESTIC_PAYMENTS_PRESUMPTION_RADIO, jsClick = true)
    AML002_S001_AmlSurveyPage clickDomesticPaymentsPresumption();

    @Click(value = POTENTIAL_RISK_NO_RADIO, jsClick = true)
    AML002_S001_AmlSurveyPage clickPotentialRiskNo();

    @Click(value = MAX_EXPECTED_REVENUE_200K_RADIO, jsClick = true)
    AML002_S001_AmlSurveyPage clickMaxExpectedRevenue200K();

    @Click(value = MAX_EXPECTED_REVENUE_500K_RADIO, jsClick = true)
    AML002_S001_AmlSurveyPage clickMaxExpectedRevenue500K();

    @Click(CONTINUE_BUTTON)
    AML002_S001_AmlSurveyPageTransitions clickContinue();

    @Click(END_BUTTON)
    AML002_S001_AmlSurveyPageTransitions clickEnd();
}
