"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.FormHelper = void 0;
const FormFieldFillers_1 = require("./FormFieldFillers");
const FormFieldAssertions_1 = require("./FormFieldAssertions");
/**
 * Публичный фасад заполнения и проверки форм.
 */
class FormHelper {
    /**
     * @param page — страница Playwright
     */
    constructor(page) {
        this.fillers = new FormFieldFillers_1.FormFieldFillers(page);
        this.assertions = new FormFieldAssertions_1.FormFieldAssertions();
    }
    fillTextField(fieldKey, value, locators, context) {
        return this.fillers.fillTextField(fieldKey, value, locators, context);
    }
    selectComboboxValue(fieldKey, value, locators, context) {
        return this.fillers.selectComboboxValue(fieldKey, value, locators, context);
    }
    selectMultiComboboxValues(fieldKey, options, locators, context) {
        return this.fillers.selectMultiComboboxValues(fieldKey, options, locators, context);
    }
    fillDaDataField(fieldKey, inputValue, selectValue, expectedValue, locators, context) {
        return this.fillers.fillDaDataField(fieldKey, inputValue, selectValue, expectedValue, locators, context);
    }
    setToggle(fieldKey, desiredState, locators, context) {
        return this.fillers.setToggle(fieldKey, desiredState, locators, context);
    }
    setCheckbox(checkboxKey, checked, checkboxes) {
        return this.fillers.setCheckbox(checkboxKey, checked, checkboxes);
    }
    selectRadioButton(radioKey, radioButtons) {
        return this.fillers.selectRadioButton(radioKey, radioButtons);
    }
    uploadFileByFieldKey(fieldKey, filePath, locators, context) {
        return this.fillers.uploadFileByFieldKey(fieldKey, filePath, locators, context);
    }
    fillFormFields(data, locators, context) {
        return this.fillers.fillFormFields(data, locators, context);
    }
    /**
     * Проверяет значение combobox по ключу поля.
     * Работает в editable и notEditable (mat-select внутри mat-form-field).
     * @param fieldKey — ключ поля из FormFieldsLocators.comboboxFieldsLocators
     * @param expectedValue — ожидаемое отображаемое значение (префикс `=` для exact)
     * @param locators — реестр локаторов полей формы
     * @param context — контекст для логирования
     */
    verifyComboboxValue(fieldKey, expectedValue, locators, context) {
        return this.assertions.verifyComboboxValue(fieldKey, expectedValue, locators, context);
    }
    /**
     * Проверяет значения полей формы.
     * @param values — ожидаемые значения полей
     * @param locators — реестр локаторов полей формы
     * @param context — контекст для логирования
     */
    verifyFormFieldsValues(values, locators, context) {
        return this.assertions.verifyFormFieldsValues(values, locators, context);
    }
}
exports.FormHelper = FormHelper;
