import { CommerceApiIntercepts } from '@commerce-shared-lib/index';

const liquidStatementsSelectors = {
  statementButton:
    '[data-qaid="STATEMENTS-button"],[data-qaid="ADMIN_STATEMENTS-button"]',
  monthlyStatementButton:
    '[qaid="STATEMENTS-menu-item"],[qaid="ADMIN_STATEMENTS_STATEMENTS-menu-item"]',
  bulkDownloadButton: '[data-testid="bulk-download-button"]',
  confirmButton: 'pb-button[styleclass="primary"]',
  confirmModelText: 'Bulk Download Invoices and Receipts',
  successMessage:
    'Your download package is being generated. You will receive an email with the download links shortly.',
  selectMenuItem: '.month'
};

export class Liquid_statements {
  static visitMonthlyStatementsPage() {
    CommerceApiIntercepts.interceptCommerceApis();
    cy.allure().logStep('Visiting Expense Admin Page -> Statements');
    cy.get(liquidStatementsSelectors.statementButton).click();
    cy.get(liquidStatementsSelectors.monthlyStatementButton).click();
    cy.get(liquidStatementsSelectors.selectMenuItem).eq(1).click();
    cy.get(liquidStatementsSelectors.selectMenuItem).eq(5).click();
    cy.get(liquidStatementsSelectors.bulkDownloadButton).eq(5).click();
  }
  static confirmBulkDownload() {
    cy.allure().logStep('Confirm bulk download');
    cy.contains(liquidStatementsSelectors.confirmModelText);
    cy.get(liquidStatementsSelectors.confirmButton).click();
    cy.contains(liquidStatementsSelectors.successMessage);
    cy.get(liquidStatementsSelectors.confirmButton).contains('button', 'Close').click();
  }
}
