import { BasePage } from './base-page'; export class AlmanacPage extends BasePage { private readonly selectors = { almanacTitle: '.almanac-title', dateDisplay: '.date-display', prevDateButton: '[data-testid="prev-date"]', nextDateButton: '[data-testid="next-date"]', lunarDate: '.lunar-date', ganzhi: '.ganzhi', shuxiang: '.shuxiang', yi: '.yi', ji: '.ji', chongsha: '.chongsha', wuxing: '.wuxing', taishen: '.taishen', caishen: '.caishen', }; async navigate() { await this.page.goto(`${this.baseURL}/pages/almanac/index`); await this.waitForLoad(); } async clickPrevDate() { await this.clickElement(this.selectors.prevDateButton); await this.waitForLoad(); } async clickNextDate() { await this.clickElement(this.selectors.nextDateButton); await this.waitForLoad(); } async getAlmanacTitle(): Promise { return await this.getText(this.selectors.almanacTitle); } async getDateDisplay(): Promise { return await this.getText(this.selectors.dateDisplay); } async getLunarDate(): Promise { return await this.getText(this.selectors.lunarDate); } async getGanzhi(): Promise { return await this.getText(this.selectors.ganzhi); } async getShuxiang(): Promise { return await this.getText(this.selectors.shuxiang); } async getYi(): Promise { return await this.getText(this.selectors.yi); } async getJi(): Promise { return await this.getText(this.selectors.ji); } async getChongsha(): Promise { return await this.getText(this.selectors.chongsha); } async getWuxing(): Promise { return await this.getText(this.selectors.wuxing); } async getTaishen(): Promise { return await this.getText(this.selectors.taishen); } async getCaishen(): Promise { return await this.getText(this.selectors.caishen); } async getAllAlmanacInfo() { return { title: await this.getAlmanacTitle(), dateDisplay: await this.getDateDisplay(), lunarDate: await this.getLunarDate(), ganzhi: await this.getGanzhi(), shuxiang: await this.getShuxiang(), yi: await this.getYi(), ji: await this.getJi(), chongsha: await this.getChongsha(), wuxing: await this.getWuxing(), taishen: await this.getTaishen(), caishen: await this.getCaishen(), }; } }