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

import cz.moneta.test.harness.support.mobile.MobileLookup;
import cz.moneta.test.harness.support.mobile.android.AndroidClick;
import cz.moneta.test.harness.support.mobile.android.AndroidWait;
import cz.moneta.test.harness.support.mobile.android.AndroidWaits;
import cz.moneta.test.harness.support.mobile.ios.IosClick;
import cz.moneta.test.harness.support.mobile.ios.IosWait;
import cz.moneta.test.harness.support.mobile.ios.IosWaits;
import cz.moneta.test.harness.support.mobile.share.MobileFlow;

import static cz.moneta.test.dsl.mobile.smartbanking.activation.ActivationElements.LAST_ANDROID_TEXT;
import static cz.moneta.test.dsl.mobile.smartbanking.activation.ActivationElements.LAST_IOS_TEXT;
import static cz.moneta.test.dsl.mobile.smartbanking.activation.LastActivationView.ANDROID_COPY_CODE;
import static cz.moneta.test.dsl.mobile.smartbanking.activation.LastActivationView.ANDROID_SCAN_CODE;
import static cz.moneta.test.dsl.mobile.smartbanking.activation.LastActivationView.IOS_COPY_CODE;
import static cz.moneta.test.dsl.mobile.smartbanking.activation.LastActivationView.IOS_SCAN_CODE;

@AndroidWaits(value = {
        @AndroidWait(value = LAST_ANDROID_TEXT, by = MobileLookup.ANDROID_TEXT),
        @AndroidWait({ANDROID_SCAN_CODE, ANDROID_COPY_CODE})})
@IosWaits(value = {
        @IosWait(LAST_IOS_TEXT),
        @IosWait(value = {IOS_SCAN_CODE, IOS_COPY_CODE}, by = MobileLookup.IOS_NAME)})
public interface LastActivationView extends MobileFlow<LastActivationView>, ActivationElements {

    String ANDROID_SCAN_CODE = "btn_registration_wizard_fragment_scan_code";
    String IOS_SCAN_CODE = "Naskenovat aktivační kód";

    String ANDROID_COPY_CODE = "btn_registration_wizard_fragment_type_code";
    String IOS_COPY_CODE = "Přepsat aktivační kód";

    @AndroidClick(ANDROID_COPY_CODE)
    @IosClick(value = IOS_COPY_CODE, by = MobileLookup.IOS_NAME)
    SetActivationCodeView chooseManualCodeEntry();
}
