package cz.moneta.test.dsl.ufo.cb.landing;

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

@Wait(value = SFC401_S001_CreateClientToSalesForce.CREATE_BUTTON, until = Until.VISIBLE)
public interface SFC401_S001_CreateClientToSalesForce extends WebFlow<SFC401_S001_CreateClientToSalesForce> {
    String CREATE_BUTTON = "SFC401_S001_B007";
    String CLIENT_TYPE = "SFC401_S001_C001";
    String SELECT_OPTION = "//select/option[text()='%s']";
    String ICO_INPUT = "SFC401_S001_E001";
    String SUBJECT_NAME_INPUT = "SFC401_S001_E003";
    String STREET_INPUT = "SFC401_S001_E004";
    String STREET_NUMBER_INPUT = "SFC401_S001_E011";
    String CITY_NAME_INPUT = "SFC401_S001_E002";
    String DISTRICT_INPUT = "SFC401_S001_E005";
    String CITY_PART_INPUT = "SFC401_S001_E006";
    String ZIP_CODE_INPUT = "SFC401_S001_E007";
    String REGION_INPUT = "SFC401_S001_E008";


    @Wait(value = SELECT_OPTION, by = Lookup.XPATH, isStringDynamicXpath = true)
    @Select(CLIENT_TYPE)
    SFC401_S001_CreateClientToSalesForce selectClientType(String type);

    @TypeInto(ICO_INPUT)
    SFC401_S001_CreateClientToSalesForce fillIco(String ico);

    @TypeInto(SUBJECT_NAME_INPUT)
    SFC401_S001_CreateClientToSalesForce fillSubjectName(String name);

    @TypeInto(STREET_INPUT)
    SFC401_S001_CreateClientToSalesForce fillStreetName(String streetName);

    @TypeInto(STREET_NUMBER_INPUT)
    SFC401_S001_CreateClientToSalesForce fillStreetNumber(String streetNumber);

    @TypeInto(CITY_NAME_INPUT)
    SFC401_S001_CreateClientToSalesForce fillCityName(String cityName);

    @TypeInto(DISTRICT_INPUT)
    SFC401_S001_CreateClientToSalesForce fillDistrict(String district);

    @TypeInto(CITY_PART_INPUT)
    SFC401_S001_CreateClientToSalesForce fillCityPart(String cityPart);

    @TypeInto(ZIP_CODE_INPUT)
    SFC401_S001_CreateClientToSalesForce fillZipCode(String zipCode);

    @TypeInto(REGION_INPUT)
    SFC401_S001_CreateClientToSalesForce fillRegion(String region);

    @Click(CREATE_BUTTON)
    CHY401_S001_ClientCreatedToSalesForce clickCreate();
}
