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

import cz.moneta.test.dsl.ufo.banka.pages.common.pages.TIS004_S002_SignerSelectionPage;
import cz.moneta.test.harness.support.web.CheckElementPresent;
import cz.moneta.test.harness.support.web.Click;
import cz.moneta.test.harness.support.web.Select;
import cz.moneta.test.harness.support.web.Wait;
import cz.moneta.test.harness.support.web.WebFlow;

import static cz.moneta.test.dsl.ufo.banka.pages.insurance.FLO011_S001_EditExpresInsurancePage.INSURANCE_EXPRES_EDIT_CHECK_ELEMENT;

@Wait(value = INSURANCE_EXPRES_EDIT_CHECK_ELEMENT, waitSecondsForElement = 40)
public interface FLO011_S001_EditExpresInsurancePage extends WebFlow<FLO011_S001_EditExpresInsurancePage> {

    String INSURANCE_EXPRES_EDIT_CHECK_ELEMENT = "XXX001_T001_L005";
    String CHANGE_INSURANCE_BUTTON = "FLO011_S001_C001";
    String CONFIRM_BUTTON = "FLO011_S001_B002";

    @CheckElementPresent(INSURANCE_EXPRES_EDIT_CHECK_ELEMENT)
    FLO011_S001_EditExpresInsurancePage checkElementModel();

    @Select(CHANGE_INSURANCE_BUTTON)
    FLO011_S001_X004_InvalidControlPage clickChangeExpresInsurance(String insuranceType);

    @Select(CHANGE_INSURANCE_BUTTON)
    FLO011_S001_EditExpresInsurancePage clickChangeCancelExpresInsurance(String insuranceType);

    @Click(CONFIRM_BUTTON)
    TIS004_S002_SignerSelectionPage clickConfirmInsuranceChange();

    @Click(CONFIRM_BUTTON)
    OBR001_S001_AppendixSignedPage clickConfirmInsuranceCancel();

}