package cz.moneta.test.dsl.forte.pages.appointments;

import cz.moneta.test.dsl.forte.FortePageFlow;
import cz.moneta.test.dsl.forte.components.AppointmentsMenu;
import cz.moneta.test.harness.support.web.GetElementContent;
import cz.moneta.test.harness.support.web.Wait;

import static cz.moneta.test.dsl.forte.pages.appointments.AppointmentDetail.PAGE_TITLE;

@Wait(PAGE_TITLE)
public interface AppointmentDetail extends FortePageFlow<AppointmentDetail>, AppointmentsMenu {
    String PAGE_TITLE = CONTENT_DIV + "//h3[contains(text(), 'Detail schůzky:')]";

    String CLIENT_NAME = "//tr[./td[text()='Klient']]/td[2]";
    String CLIENT_PHONE_NUMBER = "//tr[./td[text()='Telefon']]/td[2]";
    String CLIENT_EMAIL = "//tr[./td[text()='Email']]/td[2]";
    String APPOINTMENT_PRODUCT = "//tr[./td[text()='Produkt']]/td[2]";
    String APPOINTMENT_DATE = "//tr[./td[text()='Datum']]/td[2]";
    String APPOINTMENT_TIME_FROM = "//tr[./td[text()='Začátek']]/td[2]";
    String APPOINTMENT_TIME_TO = "//tr[./td[text()='Konec']]/td[2]";
    String APPOINTMENT_DURATION = "//tr[./td[text()='Trvání']]/td[2]";
    String APPOINTMENT_SOURCE = "//tr[./td[text()='Zdroj']]/td[2]";
    String APPOINTMENT_NOTE = "//tr[./td[text()='Poznámka']]/td[2]";

    @GetElementContent(CLIENT_NAME)
    String getClientName();

    @GetElementContent(CLIENT_PHONE_NUMBER)
    String getClientPhoneNumber();

    @GetElementContent(CLIENT_EMAIL)
    String getClientEmail();

    @GetElementContent(APPOINTMENT_PRODUCT)
    String getAppointmentProduct();

    @GetElementContent(APPOINTMENT_DATE)
    String getAppointmentDate();

    @GetElementContent(APPOINTMENT_TIME_FROM)
    String getAppointmentTimeFrom();

    @GetElementContent(APPOINTMENT_TIME_TO)
    String getAppointmentTimeTo();

    @GetElementContent(APPOINTMENT_DURATION)
    String getAppointmentDuration();

    @GetElementContent(APPOINTMENT_SOURCE)
    String getAppointmentSource();

    @GetElementContent(APPOINTMENT_NOTE)
    String getAppointmentNote();

}