package cz.moneta.test.dsl.mobile.smartbanking.payment;

import cz.moneta.test.dsl.mobile.smartbanking.SbViewFlow;
import cz.moneta.test.harness.support.mobile.android.AndroidClick;
import cz.moneta.test.harness.support.mobile.android.AndroidTypeInto;
import cz.moneta.test.harness.support.mobile.android.AndroidTypeIntos;
import cz.moneta.test.harness.support.mobile.android.AndroidWait;
import cz.moneta.test.harness.support.mobile.ios.IosClick;
import cz.moneta.test.harness.support.mobile.ios.IosTypeInto;
import cz.moneta.test.harness.support.mobile.ios.IosTypeIntos;
import cz.moneta.test.harness.support.mobile.ios.IosWait;

import static cz.moneta.test.dsl.mobile.smartbanking.payment.PaymentView.ACCOUNT_NUMBER;
import static cz.moneta.test.dsl.mobile.smartbanking.payment.PaymentView.IOS_ACCOUNT_NUMBER;

@AndroidWait(value = ACCOUNT_NUMBER)
@IosWait(IOS_ACCOUNT_NUMBER)
public interface PaymentView extends SbViewFlow<PaymentView> {
    String ACCOUNT_PREFIX = "edit_account_prefix";
    String ACCOUNT_NUMBER = "edit_account_number";
    String BANK_CODE = "edit_account_code";
    String bankCode = "btn_edit_account_banks";
    String CONTINUE_BUTTON = "btn_payment_continue";

    String IOS_ACCOUNT_NUMBER = "Číslo účtu";
    String IOS_BANK_CODE = "Kód banky";
    String IOS_CONTINUE_BUTTON = "Pokračovat";

    String SELECT_IOS_BANK_CODE = "Vyberte banku";

    @AndroidTypeIntos({@AndroidTypeInto(value = ACCOUNT_NUMBER), @AndroidTypeInto(value = BANK_CODE)})
    @IosTypeIntos({@IosTypeInto(IOS_ACCOUNT_NUMBER), @IosTypeInto(IOS_BANK_CODE)})
    PaymentView setPaymentDestinationData(String accountNumber, String bankCode);

    //@IosSelect(value = SELECT_IOS_BANK_CODE, scrollToValue = Direction.DOWN, jsScroll = true)
    //PaymentView selectBankCode(String name);

    @AndroidClick(value = CONTINUE_BUTTON)
    @IosClick(IOS_CONTINUE_BUTTON)
    PaymentConfirmView continueButton();
}
