package cz.moneta.test.dsl.ufo.banka.pages.loans.expres;

import cz.moneta.test.dsl.ufo.banka.pages.loans.NEP002_S001_ApplicantPage;
import cz.moneta.test.dsl.ufo.banka.pages.loans.NEP002_S001_ApplicantPageTransitions;
import cz.moneta.test.dsl.ufo.banka.pages.main.DOK001_S001_SelectionOfSubmittedDocumentsPage;
import cz.moneta.test.dsl.ufo.operations.shared.SharedElements;
import cz.moneta.test.harness.support.web.*;

public interface NEP063_S001_RealityPage extends WebFlow<NEP002_S001_ApplicantPage>, NEP002_S001_ApplicantPageTransitions, SharedElements {
    String SAME_ADDRESS_AS_PERMANENT_CHECKBOX = "NEP063_S001_H001";
    String REALITY_ADDRESS_STREET_INPUT = "NEP063_S001_E002";
    String REALITY_ADDRESS_DESCRIPTIVE_NUMBER_INPUT = "NEP063_S001_E003";
    String REALITY_ADDRESS_ORIENTATION_NUMBER_INPUT = "NEP063_S001_E009";
    String REALITY_ADDRESS_CITY_INPUT = "NEP063_S001_E010";
    String REALITY_ADDRESS_ZIP_INPUT = "NEP063_S001_E011";
    String REALITY_ADDRESS_APARTMENT_NUMBER_INPUT = "NEP063_S001_E012";
    String REALTY_LAND_REGISTRY_AREA_INPUT = "NEP063_S001_E005";
    String REALITY_REALTY_PLOT_NUMBER_INPUT = "NEP063_S001_E006";
    String FIND_REALTY_LAND_REGISTRY_AREA_BUTTON = "NEP063_S001_B005";
    String CONFIRM_REALITY_OWNERSHIP_CHECKBOX = "NEP063_S001_H005";

    String CONTINUE_BUTTON = "NEP063_S001_B001";

    @Click(value = SAME_ADDRESS_AS_PERMANENT_CHECKBOX, andWait = @Wait(value = SharedElements.LOAD_IMG_DIV_CLASS, by = Lookup.CLASSNAME, until = Until.GONE))
    NEP063_S001_RealityPage clickSameAddress();

    @TypeInto(REALITY_ADDRESS_STREET_INPUT)
    NEP063_S001_RealityPage fillRealityAddressStreet(String realityAddressStreet);

    @TypeInto(REALITY_ADDRESS_DESCRIPTIVE_NUMBER_INPUT)
    NEP063_S001_RealityPage fillRealityAddressDescriptiveNumber(String realityAddressDescriptiveNumber);

    @TypeInto(REALITY_ADDRESS_ORIENTATION_NUMBER_INPUT)
    NEP063_S001_RealityPage fillRealityAddressOrientationNumber(String realityAddressOrientationNumber);

    @TypeInto(REALITY_ADDRESS_CITY_INPUT)
    NEP063_S001_RealityPage fillRealityAddressCity(String realityAddressCity);

    @TypeInto(REALITY_ADDRESS_ZIP_INPUT)
    NEP063_S001_RealityPage fillRealityAddressZip(String realityAddressZip);

    @TypeInto(REALITY_ADDRESS_APARTMENT_NUMBER_INPUT)
    NEP063_S001_RealityPage fillRealityAddressApartmentNumber(String realityAddressApartmentNumber);

    @TypeInto(REALTY_LAND_REGISTRY_AREA_INPUT)
    NEP063_S001_RealityPage fillRealityLandRegistryArea(String realityLandRegistryArea);

    @TypeInto(REALITY_REALTY_PLOT_NUMBER_INPUT)
    NEP063_S001_RealityPage fillRealityPlotNumber(String realityPlotNumber);

    @Click(value = FIND_REALTY_LAND_REGISTRY_AREA_BUTTON, andWait = @Wait(value = SharedElements.LOAD_IMG_DIV_CLASS, by = Lookup.CLASSNAME, until = Until.GONE))
    NEP063_S001_RealityPage clickFindRealityLandRegistryArea();

    @Click(CONFIRM_REALITY_OWNERSHIP_CHECKBOX)
    NEP063_S001_RealityPage clickConfirmRealityCheck();

    @Click(CONTINUE_BUTTON)
    DOK001_S001_SelectionOfSubmittedDocumentsPage clickContinue();

}
