package cz.moneta.test.dsl.auto.smartauto.setman;

import cz.moneta.test.dsl.auto.smartauto.SmartAutoFlow;
import cz.moneta.test.harness.support.web.CheckElementPresent;

import static cz.moneta.test.dsl.auto.smartauto.shared.CommonElements.REACT_TABLE;

public interface DealersDetailPage extends SmartAutoFlow<DealersDetailPage> {

    String HEADING_DEALERS_DETAIL = "(//h1[contains(text(), 'Detail prodejce')])";
    String SAVE_BUTTON = "(//button[contains(text(), 'Uložit')])";
    String GENERAL_SECTION = "(//span[contains(text(), 'Obecné')])";
    String DEALERS_GROUPS_SECTION = "(//h6[contains(text(), 'Skupiny prodejců')])";
    String GENERAL_SECTION_ID_LABEL = "(//label[contains(text(), 'Id')])";
    String GENERAL_SECTION_ACTIVE_LABEL = "//span[contains(text(), 'Aktivní')]";
    String GENERAL_SECTION_AUTHORIZED_LABEL = "(//span[contains(text(), 'Autorizován')])";
    String GENERAL_SECTION_CNB_LABEL = "(//span[contains(text(), 'ČNB')])";
    String GENERAL_SECTION_PARTNER_LABEL = "(//label[contains(text(), 'Partner')])";
    String GENERAL_SECTION_TITLE_LABEL = "(//label[contains(text(), 'Název')])[1]";
    String GENERAL_SECTION_SIGNATURE_DATE_SOS_LABEL = "(//label[contains(text(), 'Datum podpisu SOS')])";
    String GENERAL_SECTION_CENTER_LABEL = "(//label[contains(text(), 'Středisko (region)')])";
    String GENERAL_SECTION_COLORED_CHANNEL_LABEL = "(//label[contains(text(), 'Barevný kanál')])";
    String GENERAL_SECTION_PATRON_LABEL = "(//div[contains(text(), 'Patron (obchodní zástupce)')])";
    String GENERAL_SECTION_COLORED_ACQUISITION_PLACE_LABEL = "(//div[contains(text(), 'Barevné pořizovací místo')])";
    String GENERAL_SECTION_ACQUISITION_PLACE_LABEL = "(//div[contains(text(), 'Pořizovací místo')])";
    String GENERAL_SECTION_NOTE_LABEL = "(//label[contains(text(), 'Poznámka')])";
    String GENERAL_SECTION_SET_PATRON_BUTTON = "(//div[contains(text(), 'Patron (obchodní zástupce)')])";
    String GENERAL_SECTION_GO_TO_PATRON_BUTTON = "(//div[contains(text(), 'Patron (obchodní zástupce)')])//*[1]";
    String GENERAL_SECTION_SET_ACQUISITION_PLACE_BUTTON = "(//div[contains(text(), 'Barevné pořizovací místo')])";
    String GENERAL_SECTION_GO_TO_ACQUISITION_PLACE_BUTTON = "(//div[contains(text(), 'Barevné pořizovací místo')])//*[1]";
    String GENERAL_SECTION_SET_COLORED_ACQUISITION_PLACE_BUTTON = "(//div[contains(text(), 'Barevné pořizovací místo')])";
    String GENERAL_SECTION_GO_TO_COLORED_ACQUISITION_PLACE_BUTTON = "(//div[contains(text(), 'Barevné pořizovací místo')])//*[1]";

    @CheckElementPresent(HEADING_DEALERS_DETAIL)
    DealersDetailPage checkHeadingDealersDetail();

    @CheckElementPresent(SAVE_BUTTON)
    DealersDetailPage checkSaveButton();

    @CheckElementPresent(REACT_TABLE)
    DealersDetailPage checkTable();

    @CheckElementPresent(GENERAL_SECTION)
    DealersDetailPage checkGeneralSection();

    @CheckElementPresent(DEALERS_GROUPS_SECTION)
    DealersDetailPage checkDealersGroupsSection();

    @CheckElementPresent(GENERAL_SECTION_ID_LABEL)
    DealersDetailPage checkGeneralSectionIdLabel();

    @CheckElementPresent(GENERAL_SECTION_ACTIVE_LABEL)
    DealersDetailPage checkGeneralSectionActiveLabel();

    @CheckElementPresent(GENERAL_SECTION_AUTHORIZED_LABEL)
    DealersDetailPage checkGeneralSectionAuthorizedLabel();

    @CheckElementPresent(GENERAL_SECTION_CNB_LABEL)
    DealersDetailPage checkGeneralSectionCnbLabel();

    @CheckElementPresent(GENERAL_SECTION_PARTNER_LABEL)
    DealersDetailPage checkGeneralSectionPartnerLabel();

    @CheckElementPresent(GENERAL_SECTION_TITLE_LABEL)
    DealersDetailPage checkGeneralSectionTitleLabel();

    @CheckElementPresent(GENERAL_SECTION_SIGNATURE_DATE_SOS_LABEL)
    DealersDetailPage checkGeneralSectionSignatureDateSosLabel();

    @CheckElementPresent(GENERAL_SECTION_CENTER_LABEL)
    DealersDetailPage checkGeneralSectionCenterLabel();

    @CheckElementPresent(GENERAL_SECTION_COLORED_CHANNEL_LABEL)
    DealersDetailPage checkGeneralSectionColoredChannelLabel();

    @CheckElementPresent(GENERAL_SECTION_PATRON_LABEL)
    DealersDetailPage checkGeneralSectionPatronLabel();

    @CheckElementPresent(GENERAL_SECTION_COLORED_ACQUISITION_PLACE_LABEL)
    DealersDetailPage checkGeneralSectionColoredAcquisitionPlaceLabel();

    @CheckElementPresent(GENERAL_SECTION_ACQUISITION_PLACE_LABEL)
    DealersDetailPage checkGeneralSectionAcquisitionPlaceLabel();

    @CheckElementPresent(GENERAL_SECTION_NOTE_LABEL)
    DealersDetailPage checkGeneralSectionNoteLabel();

    @CheckElementPresent(GENERAL_SECTION_SET_PATRON_BUTTON)
    DealersDetailPage checkGeneralSectionSetPatronButton();

    @CheckElementPresent(GENERAL_SECTION_GO_TO_PATRON_BUTTON)
    DealersDetailPage checkGeneralSectionGoToPatronButton();

    @CheckElementPresent(GENERAL_SECTION_SET_ACQUISITION_PLACE_BUTTON)
    DealersDetailPage checkGeneralSectionSetAcquisitionPlaceButton();

    @CheckElementPresent(GENERAL_SECTION_GO_TO_ACQUISITION_PLACE_BUTTON)
    DealersDetailPage checkGeneralSectionGoToAcquisitionPlaceButton();

    @CheckElementPresent(GENERAL_SECTION_SET_COLORED_ACQUISITION_PLACE_BUTTON)
    DealersDetailPage checkGeneralSectionSetColoredAcquisitionPlaceButton();

    @CheckElementPresent(GENERAL_SECTION_GO_TO_COLORED_ACQUISITION_PLACE_BUTTON)
    DealersDetailPage checkGeneralSectionGoToColoredAcquisitionPlaceButton();
}