package cz.moneta.test.dsl.greenscreen.ARQE;

import cz.moneta.test.dsl.greenscreen.ARME.ARME02_AccountEmbossing_Edit;
import cz.moneta.test.harness.support.greenscreen.CheckScreenContains;
import cz.moneta.test.harness.support.greenscreen.GreenScreenFlow;
import cz.moneta.test.harness.support.greenscreen.Key;
import cz.moneta.test.harness.support.greenscreen.KeyPress;
import cz.moneta.test.harness.support.greenscreen.Type;

@CheckScreenContains(row = 1, column = 2, text = "ARQE")
@CheckScreenContains(row = 1, column = 58, text = "PAGE 02")
@CheckScreenContains(row = 2, column = 32, text = "ACCOUNT EMBOSSING")
public interface ARQE02_AccountEmbossingScreen extends GreenScreenFlow<ARQE02_AccountEmbossingScreen>, ARQE_Pages {

    @CheckScreenContains(row = 13, column = 24)
    ARQE02_AccountEmbossingScreen checkName(String name);

    @CheckScreenContains(row = 18, column = 24)
    @CheckScreenContains(row = 20, column = 24)
    ARQE02_AccountEmbossingScreen checkAddress(String street, String city);

    @CheckScreenContains(row = 5, column = 33)
    ARQE02_AccountEmbossingScreen checkCardAccountNumber(String accountNumber);

    @CheckScreenContains(row = 4, column = 33)
    ARQE02_AccountEmbossingScreen checkCardNumber(String cardNumber);

    @CheckScreenContains(row = 12, column = 45)
    ARQE02_AccountEmbossingScreen checkCustomerNumber(String customerNumber);

    @CheckScreenContains(row = 3, column = 41)
    ARQE02_AccountEmbossingScreen checkCardLogo(String logo);

    @CheckScreenContains(row = 3, column = 33)
    ARQE02_AccountEmbossingScreen checkOrg(String org);

    @CheckScreenContains(row = 15, column = 65, text = "EMBLEM")
    @CheckScreenContains(row = 15, column = 74)
    ARQE02_AccountEmbossingScreen checkEmblem(String emblem);

    @CheckScreenContains(row = 16, column = 30, text = "CRDHLD FLG")
    @CheckScreenContains(row = 16, column = 43)
    ARQE02_AccountEmbossingScreen checkCardholderFlag(String flag);

    @CheckScreenContains(row = 8, column = 2, text = "ACTION")
    @CheckScreenContains(row = 8, column = 33)
    ARQE02_AccountEmbossingScreen checkCardAction(String action);

    @Type(row = 1, column = 63, text = "03")
    @KeyPress(Key.ENTER)
    ARQE03_AccountEmbossingScreen switchToNextAccountDetailScreen();

    @Type(row = 1, column = 9, text = "ARME")
    @KeyPress(Key.ENTER)
    @Type(row = 1, column = 63, text = "02")
    @KeyPress(Key.ENTER)
    ARME02_AccountEmbossing_Edit openCardDetailsForEditing();
}
