import { TaxEditDialog } from '@/manager/modules/ui/tax/views/TaxEditDialog';
import { getCardEditButtonHost, getCardHost, getKeyValueItemTextHost } from '@/manager/shared/utils/locator-utils';
import { BaseComponent } from '@/shared/base/BaseComponent';

export class TaxCard extends BaseComponent {
  readonly main = getCardHost(this.host, 'Taxes');
  readonly editButton = getCardEditButtonHost(this.main);
  readonly b2cTax = getKeyValueItemTextHost(this.main, 'B2C');
  readonly b2bTax = getKeyValueItemTextHost(this.main, 'B2B');

  async openTaxEditDialog(): Promise<TaxEditDialog> {
    await Promise.all([this.host.page().waitForURL('**/edit/tax'), this.editButton.click()]);
    return new TaxEditDialog(this.host.page());
  }
}
