package cz.moneta.test.dsl.hypos.pages.hypokalkulacka;

import cz.moneta.test.dsl.hypos.pages.HyposPageFlow;
import cz.moneta.test.harness.support.web.Click;
import cz.moneta.test.harness.support.web.TypeInto;

public interface HypokalkulackaClientIncomeEmployeeDetailPage extends HyposPageFlow<HypokalkulackaClientIncomeEmployeeDetailPage> {
    String MAIN_INCOME_DEATIAL_DIV = "//div[@id='income-main-detailed']";
    String CASH_SALARY_NO_RADIO = MAIN_INCOME_DEATIAL_DIV + "//input[@id='q-cash-salary-n']";
    String EMPLOYEE_ABROAD_NO_RADIO = MAIN_INCOME_DEATIAL_DIV + "//input[@id='q-employee-abroad-n']";
    String EMPLOYEE_SHAREHOLDER_NO_RADIO = MAIN_INCOME_DEATIAL_DIV + "//input[@id='q-employee-shareholder-n']";
    String PAID_TO_MMB_NO_RADIO = MAIN_INCOME_DEATIAL_DIV + "//input[@id='d-paid-to-mmb-n']";
    String EMPLOYMENT_AGENCY_NO_RADIO = MAIN_INCOME_DEATIAL_DIV + "//input[@id='d-employment-agency-n']";
    String EMPLOYMENT_PHONE = MAIN_INCOME_DEATIAL_DIV + "//input[@id='corp_phone']";
    String SAVE_INCOME_DETAIL_BUTTON = MAIN_INCOME_DEATIAL_DIV + "//input[@value='Uložit']";

    @Click(CASH_SALARY_NO_RADIO)
    HypokalkulackaClientIncomeEmployeeDetailPage clickCashSalaryNoRadio();

    @Click(EMPLOYEE_ABROAD_NO_RADIO)
    HypokalkulackaClientIncomeEmployeeDetailPage clickEmployeeAbroadNoRadio();

    @Click(EMPLOYEE_SHAREHOLDER_NO_RADIO)
    HypokalkulackaClientIncomeEmployeeDetailPage clickEmployeeShareholderNoRadio();

    @Click(PAID_TO_MMB_NO_RADIO)
    HypokalkulackaClientIncomeEmployeeDetailPage clickPaidToMmbNoRadio();

    @Click(EMPLOYMENT_AGENCY_NO_RADIO)
    HypokalkulackaClientIncomeEmployeeDetailPage clickEmploymentAgencyNoRadio();

    @TypeInto(value = EMPLOYMENT_PHONE, clear = true)
    HypokalkulackaClientIncomeEmployeeDetailPage fillPhone(String phone);

    @Click(SAVE_INCOME_DETAIL_BUTTON)
    HypokalkulackaClientIncomePage clickSaveIncomeEmployeeDetail();
}