package cz.moneta.test.dsl.ib.settings.ib.contactInformation;

import cz.moneta.test.harness.support.web.Click;
import cz.moneta.test.harness.support.web.Lookup;
import cz.moneta.test.harness.support.web.TypeInto;
import cz.moneta.test.harness.support.web.Wait;
import cz.moneta.test.harness.support.web.WebFlow;

import static cz.moneta.test.dsl.ib.settings.ib.contactInformation.IbChangeContactDataPage.CHANGE_INPUTS_TABLE;

@Wait(value = {CHANGE_INPUTS_TABLE}, by = Lookup.ID)
public interface IbChangeContactDataPage extends WebFlow<IbChangeContactDataPage> {
    String CHANGE_INPUTS_TABLE = "KIN801_S002_X002";

    String FIRST_NAME = "KIN801_S002_E001";
    String LAST_NAME = "KIN801_S002_E002";
    String STREET = "KIN801_S002_E003";
    String DESCRIPTIVE_NUMBER = "KIN801_S002_E004";
    String TOWN = "KIN801_S002_E006";
    String POSTAL_CODE = "KIN801_S002_E007";
    String COUNTRY = "KIN801_S002_E008";
    String PHONE_NUMBER = "KIN801_S002_E010";
    String MOBILE_NUMBER = "KIN801_S002_E012";
    String EMAIL = "KIN801_S002_E013";

    String CONTINUE_BUTTON = "KIN801_S002_P003";

    @Wait(value = STREET, by = Lookup.ID)
    @TypeInto(value = STREET, by = Lookup.ID, clear = true)
    IbChangeContactDataPage setStreet(String street);

    @Wait(value = MOBILE_NUMBER, by = Lookup.ID)
    @TypeInto(value = MOBILE_NUMBER, by = Lookup.ID, clear = true)
    IbChangeContactDataPage setMobileNumber(String mobileNumber);

    @Wait(value = CONTINUE_BUTTON, by = Lookup.ID)
    @Click(value = CONTINUE_BUTTON, jsClick = true, by = Lookup.ID)
    IbSignChangedContactDataPage continueToSignPage();
}
