Files
Nick Shirokov 11e961c816 test(07-tabs): smoke переключение страниц формы Основное/Дополнительно
Покрывает clickElement по имени страницы как механизм переключения
вкладок формы. Используем форму элемента Номенклатура: page1
показывает шапку (Артикул, ВидНоменклатуры, ...), page2 — Дополнительно
(ЕдиницаИзмерения, Комментарий). Verify: набор state.fields различен
после переключения и совпадает после возврата.
2026-05-02 20:07:46 +03:00

33 lines
1.6 KiB
JavaScript

export const name = 'Страницы формы: переключение между Основное и Дополнительно';
export const tags = ['tabs', 'smoke'];
export const timeout = 60000;
export default async function({ navigateSection, openCommand, clickElement, closeForm, getFormState, assert, step, log }) {
await step('switch: переключение страниц на форме номенклатуры', async () => {
await navigateSection('Склад');
await openCommand('Номенклатура');
await clickElement('Товары', { dblclick: true });
await clickElement('Товар 01', { dblclick: true });
const s1 = await getFormState();
const names1 = s1.fields?.map(f => f.name) || [];
log(`page1 fields: ${names1.join(', ')}`);
assert.includes(names1, 'Артикул', 'На странице Основное должен быть Артикул');
await clickElement('Дополнительно');
const s2 = await getFormState();
const names2 = s2.fields?.map(f => f.name) || [];
log(`page2 fields: ${names2.join(', ')}`);
assert.notEqual(names2.join(','), names1.join(','), 'Набор полей на странице Дополнительно должен отличаться');
await clickElement('Основное');
const s3 = await getFormState();
const names3 = s3.fields?.map(f => f.name) || [];
log(`back to page1 fields: ${names3.join(', ')}`);
assert.includes(names3, 'Артикул', 'После возврата на Основное снова виден Артикул');
await closeForm({ save: false });
});
}