commit21
This commit is contained in:
@@ -0,0 +1,38 @@
|
||||
import fs from 'node:fs/promises';
|
||||
import assert from 'node:assert/strict';
|
||||
|
||||
const source = await fs.readFile('scripts/supplier-evaluation-check.mjs', 'utf8');
|
||||
const common = source.slice(source.indexOf('const base ='), source.indexOf('const author ='));
|
||||
await new Function('fs', 'assert', 'return (async()=>{' + common + `
|
||||
const routes = [];
|
||||
for (const [role, prepare, review] of [['procurement', true, false], ['finance', false, true]]) {
|
||||
const viewer = client();
|
||||
await viewer.enter(role);
|
||||
assert.equal((await viewer.request('/contexto', 'POST', { area: 'procurement', option: 'procurement.internal' })).status, 302);
|
||||
const tasks = await viewer.request('/requisicoes/tarefas?module=supply');
|
||||
assert.equal(tasks.status, 200);
|
||||
for (const task of tasks.page.props.tasks.data) {
|
||||
const detail = await viewer.request(task.href);
|
||||
assert.equal(detail.status, 200);
|
||||
const rows = detail.page.props.records ?? detail.page.props.rules?.data ?? [];
|
||||
assert.equal(rows.length, 1);
|
||||
assert.equal(rows[0].canApprove, true);
|
||||
}
|
||||
const components = [];
|
||||
for (const path of ['/compras/fornecimento?view=agreements', '/compras/fornecimento?view=calendar', '/stock/reposicao']) {
|
||||
const response = await viewer.request(path);
|
||||
assert.equal(response.status, 200);
|
||||
assert.equal(response.page.encryptHistory, true);
|
||||
assert.equal(response.page.props.canPrepare, prepare);
|
||||
assert.equal(response.page.props.canReview, review);
|
||||
components.push({ path, component: response.page.component, result: 'passed' });
|
||||
}
|
||||
routes.push({ role, supply_tasks_shown: tasks.page.props.tasks.data.length, task_links_followed: tasks.page.props.tasks.data.length, components });
|
||||
}
|
||||
await fs.writeFile('docs/proofs/supply-task-integration-http.json', JSON.stringify({
|
||||
checked_at: new Date().toISOString(), environment: base, result: 'passed', routes,
|
||||
business_commands: false, accounts_or_grants_changed: false, sgf_installation_changed: false,
|
||||
visual_review: false, coverage: 'Existing current scope and first-page tasks only; pending decisions tested in disposable databases.'
|
||||
}, null, 2));
|
||||
console.log('Fornecimentos, reposicao e tarefas conferidos nos perfis sinteticos existentes.');
|
||||
` + '})()')(fs, assert);
|
||||
Reference in New Issue
Block a user