commit10
This commit is contained in:
@@ -15,16 +15,16 @@ try {
|
||||
return {groups,html:renderToStaticMarkup(React.createElement(Home,{context,can,groups,navigate:()=>{}}))};
|
||||
};
|
||||
const preparer=check([['company.view',null],['industrial_budgets.view',7],['industrial_budgets.prepare',7]]);
|
||||
assert(preparer.html.includes('A preparar e acompanhar'));assert(!preparer.html.includes('<h2>A validar</h2>'));
|
||||
assert(preparer.html.includes('<h1>Início</h1>'));
|
||||
assert(!preparer.groups.some(g=>g.id==='billing'));assert(!preparer.groups.flatMap(g=>g.items).some(i=>i.id==='access'));
|
||||
const reviewer=check([['company.view',null],['industrial_budgets.view',7],['industrial_budgets.validate',7]]);
|
||||
assert(reviewer.html.includes('<h2>A validar</h2>'));assert(!reviewer.html.includes('<h2>A preparar e acompanhar</h2>'));
|
||||
assert(!reviewer.html.includes('<button'));
|
||||
const otherUnit=check([['company.view',null],['industrial_budgets.view',99],['industrial_budgets.prepare',99]]);
|
||||
assert(!otherUnit.groups.some(g=>g.id==='costs'));
|
||||
const noAccess=check([]);assert.deepEqual(noAccess.groups.map(g=>g.id),['start']);
|
||||
const reader=check([['company.view',null],['industrial_budgets.view',7]]);
|
||||
assert(!reader.html.includes('<h2>A validar</h2>'));assert(!reader.html.includes('<h2>A preparar e acompanhar</h2>'));
|
||||
assert(reader.html.includes('não agrega nem conta tarefas pendentes'));
|
||||
assert(!reader.html.includes('home-context'));
|
||||
const allGroups=navigationGroups(()=>true,7),topics=navigationTopics(allGroups);
|
||||
assert.deepEqual(topics.map(t=>t.label),['Início','Comercial','Compras','Stock','Oficinas','Financeiro','Contabilidade','Configuração']);
|
||||
// Independent inventory: comparing the generated menu with itself cannot detect a removed module.
|
||||
@@ -39,6 +39,10 @@ try {
|
||||
assert(!navigationTopics(noAccess.groups).some(t=>t.id==='accounting'));
|
||||
const before=allGroups.flatMap(g=>g.items.map(i=>i.id)).sort(),after=topics.flatMap(t=>t.sections.flatMap(g=>g.items.map(i=>i.id))).sort();
|
||||
assert.deepEqual(after,before);assert.equal(new Set(after).size,after.length);
|
||||
const groupedHome=renderToStaticMarkup(React.createElement(Home,{context,can:()=>true,groups:allGroups,topics,navigate:()=>{}}));
|
||||
assert(groupedHome.includes('<h1>Início</h1>'));
|
||||
for(const marker of ['<button','<details','<summary','class="panel','Consultas e atalhos permitidos','A preparar e acompanhar','A validar','Contexto actual'])assert(!groupedHome.includes(marker));
|
||||
for(const id of ['accounting_panel','purchasing_home'])assert(allGroups.flatMap(g=>g.items).some(i=>i.id===id));
|
||||
const navHtml=renderToStaticMarkup(React.createElement(Navigation,{groups:allGroups,page:'billing_drafts',navigate:()=>{},user:{name:'Avaliador sintético',email:'consulta@example.test'},busy:false,logout:()=>{}}));
|
||||
assert(navHtml.includes('workspace-topbar'));assert(!navHtml.includes('grouped-sidebar'));assert(!navHtml.includes('navigation-drawer'));
|
||||
for(const topic of topics.filter(t=>t.id!=='start'))assert(navHtml.includes(`aria-controls="topic-${topic.id}"`));
|
||||
|
||||
Reference in New Issue
Block a user