mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-06-14 09:54:56 +03:00
test(01-navigation): M3 P1 — section/command/switchTab errors + navigateLink
section-error / command-error / switchTab error: проверка throw для несуществующих имён. navigateLink: link-type (Catalog.Контрагенты) + e1cib URL (с soft-skip для платформ без поддержки e1cib через Shift+F11). Live на webtest: 10/10 passed. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -2,7 +2,7 @@ export const name = 'Навигация по разделам';
|
|||||||
export const tags = ['nav', 'smoke'];
|
export const tags = ['nav', 'smoke'];
|
||||||
export const timeout = 60000;
|
export const timeout = 60000;
|
||||||
|
|
||||||
export default async function({ navigateSection, getPageState, openCommand, closeForm, assert, step, log }) {
|
export default async function({ navigateSection, getPageState, openCommand, navigateLink, switchTab, closeForm, assert, step, log }) {
|
||||||
|
|
||||||
await step('Чтение начального состояния', async () => {
|
await step('Чтение начального состояния', async () => {
|
||||||
const state = await getPageState();
|
const state = await getPageState();
|
||||||
@@ -39,4 +39,58 @@ export default async function({ navigateSection, getPageState, openCommand, clos
|
|||||||
log('Opened: ' + state.title);
|
log('Opened: ' + state.title);
|
||||||
await closeForm();
|
await closeForm();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
await step('section-error: navigateSection с несуществующим именем кидает ошибку', async () => {
|
||||||
|
let err = null;
|
||||||
|
try {
|
||||||
|
await navigateSection('НетТакогоРаздела_xyz');
|
||||||
|
} catch (e) {
|
||||||
|
err = e;
|
||||||
|
}
|
||||||
|
log(`section-error: ${err?.message}`);
|
||||||
|
assert.ok(err, 'Должна быть ошибка для несуществующего раздела');
|
||||||
|
});
|
||||||
|
|
||||||
|
await step('command-error: openCommand с несуществующим именем кидает ошибку', async () => {
|
||||||
|
await navigateSection('Склад');
|
||||||
|
let err = null;
|
||||||
|
try {
|
||||||
|
await openCommand('НетТакойКоманды_xyz');
|
||||||
|
} catch (e) {
|
||||||
|
err = e;
|
||||||
|
}
|
||||||
|
log(`command-error: ${err?.message}`);
|
||||||
|
assert.ok(err, 'Должна быть ошибка для несуществующей команды');
|
||||||
|
});
|
||||||
|
|
||||||
|
await step('navigateLink: открыть Catalog.Контрагенты по metadata пути', async () => {
|
||||||
|
const state = await navigateLink('Catalog.Контрагенты');
|
||||||
|
log(`link-type form=${state.form} formCount=${state.formCount}`);
|
||||||
|
assert.ok(state.form != null, 'navigateLink должен открыть форму');
|
||||||
|
await closeForm();
|
||||||
|
});
|
||||||
|
|
||||||
|
await step('navigateLink: e1cib URL', async () => {
|
||||||
|
// e1cib path-form: Catalog.Контрагенты как e1cib link
|
||||||
|
try {
|
||||||
|
const state = await navigateLink('e1cib/list/Catalog.Контрагенты');
|
||||||
|
log(`link-e1cib form=${state.form}`);
|
||||||
|
assert.ok(state.form != null, 'e1cib link должен открыть форму');
|
||||||
|
await closeForm();
|
||||||
|
} catch (e) {
|
||||||
|
log(`link-e1cib unsupported: ${e.message}`);
|
||||||
|
// некоторые версии не поддерживают полный e1cib через Shift+F11
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
await step('switchTab: ошибка при несуществующем имени', async () => {
|
||||||
|
let err = null;
|
||||||
|
try {
|
||||||
|
await switchTab('НетТакогоТаба_xyz');
|
||||||
|
} catch (e) {
|
||||||
|
err = e;
|
||||||
|
}
|
||||||
|
log(`switchTab-error: ${err?.message}`);
|
||||||
|
assert.ok(err, 'switchTab должен кидать ошибку для несуществующего таба');
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user