mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-06-16 10:43:18 +03:00
test(09-filter): smoke filterList simple-search и advanced-column
Покрывает:
- filterList('Север') — поиск по всем колонкам списка Контрагенты
- filterList('Север', { field: 'Наименование' }) — фильтр по
конкретной колонке через расширенный поиск
- unfilterList — восстановление исходного набора
Третий запланированный кейс (text-field filter) семантически совпадает
с advanced-column когда колонка строкового типа — оставлен на регресс P1.
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
export const name = 'Фильтры списка: simple-search, advanced-column';
|
||||
export const tags = ['filter', 'smoke'];
|
||||
export const timeout = 60000;
|
||||
|
||||
export default async function({ navigateSection, openCommand, filterList, unfilterList, readTable, closeForm, assert, step, log }) {
|
||||
|
||||
await step('simple-search: filterList по тексту по всем колонкам', async () => {
|
||||
await navigateSection('Склад');
|
||||
await openCommand('Контрагенты');
|
||||
const before = await readTable({ maxRows: 50 });
|
||||
log(`before filter: total=${before.total}`);
|
||||
assert.ok(before.total >= 4, 'Должно быть минимум 4 контрагента до фильтра');
|
||||
|
||||
await filterList('Север');
|
||||
const after = await readTable({ maxRows: 50 });
|
||||
log(`after simple-search 'Север': rows=${after.rows?.length} names=${after.rows?.map(r => r['Наименование']).join(',')}`);
|
||||
assert.ok(after.rows?.length >= 1 && after.rows?.length < before.total, 'Фильтр должен сузить список');
|
||||
assert.ok(after.rows.every(r => /Север/i.test(r['Наименование'] || '')), 'Все строки должны содержать Север');
|
||||
|
||||
await unfilterList();
|
||||
const restored = await readTable({ maxRows: 50 });
|
||||
log(`after unfilter: total=${restored.total}`);
|
||||
assert.equal(restored.total, before.total, 'После unfilterList список восстановлен');
|
||||
});
|
||||
|
||||
await step('advanced-column: filterList по конкретной колонке', async () => {
|
||||
await filterList('Север', { field: 'Наименование' });
|
||||
const t = await readTable({ maxRows: 50 });
|
||||
log(`advanced-column 'Наименование'='Север': rows=${t.rows?.length} names=${t.rows?.map(r => r['Наименование']).join(',')}`);
|
||||
assert.ok(t.rows?.length >= 1, 'Должна найтись хотя бы одна строка');
|
||||
assert.ok(t.rows.every(r => /Север/i.test(r['Наименование'] || '')), 'Все строки фильтруются по Наименование');
|
||||
|
||||
await unfilterList();
|
||||
await closeForm();
|
||||
});
|
||||
}
|
||||
Reference in New Issue
Block a user