mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-07-17 08:15:16 +03:00
test(06-document): сверка с Комментарий=docId, защита от грязной базы
Раньше verify-list брал первый попавшийся проведённый документ Север — если в базе уже лежал проведённый Север из прошлого прогона, тест проходил даже если текущий не сохранился. Теперь среди кандидатов открываем каждый и сверяем Комментарий с уникальным docId текущего прогона; ассерт срабатывает только при совпадении.
This commit is contained in:
@@ -31,13 +31,24 @@ export default async function({ navigateSection, openCommand, clickElement, fill
|
||||
assert.notEqual(after.form, before.form, 'После Провести и закрыть текущая форма должна смениться (документ закрылся)');
|
||||
});
|
||||
|
||||
await step('verify-list: документ виден в списке с Проведён=Да', async () => {
|
||||
await step('verify-list: документ текущего прогона проведён (по Комментарий=docId)', async () => {
|
||||
await navigateSection('Склад');
|
||||
await openCommand('Приходная накладная');
|
||||
const t = await readTable({ maxRows: 50 });
|
||||
const ours = t.rows.find(r => r['Контрагент'] === 'ООО Север' && r['Проведён'] === 'Да');
|
||||
log(`found posted: ${JSON.stringify(ours)}`);
|
||||
assert.ok(ours, 'Должен быть проведённый документ ООО Север');
|
||||
await closeForm();
|
||||
const candidates = t.rows.filter(r => r['Контрагент'] === 'ООО Север' && r['Проведён'] === 'Да');
|
||||
log(`candidates posted Север: ${candidates.length}`);
|
||||
assert.ok(candidates.length > 0, 'В списке должен быть хотя бы один проведённый документ Север');
|
||||
|
||||
let foundOurs = null;
|
||||
for (const row of candidates) {
|
||||
await clickElement(row['Номер'], { dblclick: true });
|
||||
const s = await getFormState();
|
||||
const cmt = s.fields?.find(f => f.name === 'Комментарий')?.value;
|
||||
const num = row['Номер'];
|
||||
log(`№${num} Комментарий='${cmt}'`);
|
||||
await closeForm();
|
||||
if (cmt === docId) { foundOurs = num; break; }
|
||||
}
|
||||
assert.ok(foundOurs, `Среди проведённых должен быть документ с Комментарий='${docId}'`);
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user