package cz.moneta.test.dsl.ufo.banka.pages.products.sme;

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

import static cz.moneta.test.dsl.ufo.banka.pages.products.sme.KUL004_S008_ClientRequestDetailPage.*;

@Wait(value = KUL004_S008_PAGE_LABEL_XPATH, by = Lookup.XPATH, waitSecondsForElement = 60)
@Wait(CONTINUE_BUTTON)
public interface KUL004_S008_ClientRequestDetailPage extends WebFlow<KUL004_S008_ClientRequestDetailPage> {
    String KUL004_S008_PAGE_LABEL_XPATH = "//div[text()='KUL004_S008']";

    String CONTINUE_BUTTON = "KUL004_S008_B001";

    String FAMILY_COMPANY_SELECT = "KUL004_S008_C013";

    String DEPOSIT_INPUT = "KUL004_S008_E017";
    String OWN_PROFIT_INPUT = "KUL004_S008_E036";

    String COMPANION_CHECK = "KUL004_S008_H002_SPL";
    String CONTACT_PERSON_CHECK = "KUL004_S008_H003_CONTACT PERSON";
    String SIGNER_CHECK = "KUL004_S008_H003_SIGN";

    String FOP_ASSOCIATION_MEMBER_RADIO = "KUL004_S008_R003_CSFOP";
    String MARITAL_STATUS_SELECT = "KUL004_S008_C011";

    @Select(FAMILY_COMPANY_SELECT)
    KUL004_S008_ClientRequestDetailPage selectFamilyCompany(String familyCompany);

    @Click(CONTINUE_BUTTON)
    KUL004_S004_AddressesAndContactsPage clickContinue();

    @Click(COMPANION_CHECK)
    KUL004_S008_ClientRequestDetailPage checkCompanion();

    @Click(CONTACT_PERSON_CHECK)
    KUL004_S008_ClientRequestDetailPage checkContactPerson();

    @Click(SIGNER_CHECK)
    KUL004_S008_ClientRequestDetailPage checkSigner();

    @TypeInto(value = DEPOSIT_INPUT, andWait = @Wait(explicitWaitSeconds = 2))
    KUL004_S008_ClientRequestDetailPage fillDeposit(String deposit);

    @TypeInto(OWN_PROFIT_INPUT)
    KUL004_S008_ClientRequestDetailPage fillOwnProfit(String ownProfit);

    @Click(FOP_ASSOCIATION_MEMBER_RADIO)
    KUL004_S008_ClientRequestDetailPage clickFopAssociationMemberRadio();

    @Select(MARITAL_STATUS_SELECT)
    KUL004_S008_ClientRequestDetailPage selectMaritalStatus(String maritalStatus);

}
