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

import cz.moneta.test.dsl.ufo.operations.shared.SharedElements;
import cz.moneta.test.harness.support.web.*;

import static cz.moneta.test.dsl.ufo.cb.landing.proposal.pages.JAN475_S001_FinancialSheetsPage.PAGE_DIV;

@Wait(value = PAGE_DIV, until = Until.VISIBLE, waitSecondsForElement = 60)
public interface JAN475_S001_FinancialSheetsPage extends WebFlow<JAN475_S001_FinancialSheetsPage> {

    String PAGE_DIV = "JAN475_S001_L001";
    String CLAIMS_FOR_SHARE_CAPITAL_INPUT = "JAN475_S001_E001";
    String ASSETS_DO_COUNT_BUTTON = "JAN475_S001_B007";
    String ASSETS_NEXT_BUTTON = "JAN475_S001_B016";
    String RUNNING_ASSETS_DO_COUNT_BUTTON = "JAN475_S001_B008";
    String RUNNING_ASSETS_NEXT_BUTTON = "JAN475_S001_B017";
    String PASSIVES_DO_COUNT_BUTTON = "JAN475_S001_B009";
    String PASSIVES_NEXT_BUTTON = "JAN475_S001_B018";
    String SHORT_TERM_COMMITMENTS_DO_COUNT_BUTTON = "JAN475_S001_B010";
    String SHORT_TERM_COMMITMENTS_NEXT_BUTTON = "JAN475_S001_B019";
    String INCOME_STATEMENT_DO_COUNT_BUTTON = "JAN475_S001_B011";
    String INCOME_STATEMENT_NEXT_BUTTON = "JAN475_S001_B020";
    String INCOME_STATEMENT_2_DO_COUNT_BUTTON = "JAN475_S001_B012";
    String ANALYSIS_BUTTON = "JAN475_S001_B004";

    @TypeInto(CLAIMS_FOR_SHARE_CAPITAL_INPUT)
    JAN475_S001_FinancialSheetsPage fillClaimsForShareCapital(String claimsForShareCapital);

    @Click(value = ASSETS_DO_COUNT_BUTTON, andWait = @Wait(value = SharedElements.LOAD_IMG_DIV_CLASS, by = Lookup.CLASSNAME, until = Until.GONE))
    JAN475_S001_FinancialSheetsPage clickAssetsDoCount();

    @Click(ASSETS_NEXT_BUTTON)
    JAN475_S001_FinancialSheetsPage clickAssetsNext();

    @Click(value = RUNNING_ASSETS_DO_COUNT_BUTTON, andWait = @Wait(value = SharedElements.LOAD_IMG_DIV_CLASS, by = Lookup.CLASSNAME, until = Until.GONE))
    JAN475_S001_FinancialSheetsPage clickRunningAssetsDoCount();

    @Click(RUNNING_ASSETS_NEXT_BUTTON)
    JAN475_S001_FinancialSheetsPage clickRunningAssetsNext();

    @Click(value = PASSIVES_DO_COUNT_BUTTON, andWait = @Wait(value = SharedElements.LOAD_IMG_DIV_CLASS, by = Lookup.CLASSNAME, until = Until.GONE))
    JAN475_S001_FinancialSheetsPage clickPassivesDoCount();

    @Click(PASSIVES_NEXT_BUTTON)
    JAN475_S001_FinancialSheetsPage clickPassivesNext();

    @Click(value = SHORT_TERM_COMMITMENTS_DO_COUNT_BUTTON, andWait = @Wait(value = SharedElements.LOAD_IMG_DIV_CLASS, by = Lookup.CLASSNAME, until = Until.GONE))
    JAN475_S001_FinancialSheetsPage clickShortTermCommitmentsDoCount();

    @Click(SHORT_TERM_COMMITMENTS_NEXT_BUTTON)
    JAN475_S001_FinancialSheetsPage clickShortTermCommitmentsNext();

    @Click(value = INCOME_STATEMENT_DO_COUNT_BUTTON, andWait = @Wait(value = SharedElements.LOAD_IMG_DIV_CLASS, by = Lookup.CLASSNAME, until = Until.GONE))
    JAN475_S001_FinancialSheetsPage clickIncomeStatementDoCount();

    @Click(INCOME_STATEMENT_NEXT_BUTTON)
    JAN475_S001_FinancialSheetsPage clickIncomeStatementNext();

    @Click(value = INCOME_STATEMENT_2_DO_COUNT_BUTTON, andWait = @Wait(value = SharedElements.LOAD_IMG_DIV_CLASS, by = Lookup.CLASSNAME, until = Until.GONE))
    JAN475_S001_FinancialSheetsPage clickIncomeStatement2DoCount();

    @Click(ANALYSIS_BUTTON)
    JAN460_S003_AnalysisNotYetCountedPage clickAnalysis();

}
