From ae5b69f45a0f5eb8cb281e0ef73d406195de444f Mon Sep 17 00:00:00 2001 From: "simone.amadio" Date: Mon, 23 Jan 2023 10:00:49 +0100 Subject: [PATCH] feat: refactory risultati audit servizi scuole --- src/audits/school/serviziAudit.ts | 105 +++++++++++++++++++++--------- src/storage/auditDictionary.ts | 14 +++- 2 files changed, 87 insertions(+), 32 deletions(-) diff --git a/src/audits/school/serviziAudit.ts b/src/audits/school/serviziAudit.ts index 83e7a39f..0add9d95 100644 --- a/src/audits/school/serviziAudit.ts +++ b/src/audits/school/serviziAudit.ts @@ -57,26 +57,20 @@ class LoadAudit extends Audit { subItemsHeading: { key: "inspected_page", itemType: "text" }, }, { - key: null, + key: "title_missing_elements", itemType: "text", - text: "Risultato singolo", - subItemsHeading: { key: "single_result", itemType: "text" }, - }, - { - key: null, - itemType: "text", - text: "Voci obbligatorie mancanti", + text: "", subItemsHeading: { - key: "missing_mandatory_elements_found", + key: "missing_elements", itemType: "text", }, }, { - key: null, + key: "title_wrong_order_elements", itemType: "text", - text: "Voci obbligatorie che non rispettano l'ordine corretto", + text: "", subItemsHeading: { - key: "mandatory_elements_not_right_order", + key: "wrong_order_elements", itemType: "text", }, }, @@ -109,15 +103,16 @@ class LoadAudit extends Audit { }; } - const items = []; + const correctItems = []; + const toleranceItems = []; + const wrongItems = []; let score = 1; for (const randomService of randomServices) { const item = { - single_result: "Corretto", - missing_mandatory_elements_found: "", - mandatory_elements_not_right_order: "", + missing_elements: "", + wrong_order_elements: "", inspected_page: "", }; @@ -192,6 +187,9 @@ class LoadAudit extends Audit { missingMandatoryItems.push(mandatoryBodyVoices[2]); } + item.missing_elements = missingMandatoryItems.join(", "); + item.wrong_order_elements = orderResult.elementsNotInSequence.join(", "); + const missingVoicesAmount = missingMandatoryItems.length; const voicesNotInCorrectOrderAmount = orderResult.numberOfElementsNotInSequence; @@ -201,7 +199,7 @@ class LoadAudit extends Audit { score = 0; } - item.single_result = "Errato"; + wrongItems.push(item); } else if ( (missingVoicesAmount > 0 && missingVoicesAmount <= 2) || voicesNotInCorrectOrderAmount === 1 @@ -210,14 +208,10 @@ class LoadAudit extends Audit { score = 0.5; } - item.single_result = "Tolleranza"; + toleranceItems.push(item); + } else { + correctItems.push(item); } - - item.missing_mandatory_elements_found = missingMandatoryItems.join(", "); - item.mandatory_elements_not_right_order = - orderResult.elementsNotInSequence.join(", "); - - items.push(item); } const results = []; @@ -239,13 +233,66 @@ class LoadAudit extends Audit { break; } - for (const item of items) { + results.push({}); + + if (correctItems.length > 0) { results.push({ - subItems: { - type: "subitems", - items: [item], - }, + result: auditData.subItem.greenResult, + title_missing_elements: "Voci obbligatorie mancanti", + title_wrong_order_elements: + "Voci obbligatorie che non rispettano l'ordine corretto", }); + + for (const item of correctItems) { + results.push({ + subItems: { + type: "subitems", + items: [item], + }, + }); + } + + results.push({}); + } + + if (toleranceItems.length > 0) { + results.push({ + result: auditData.subItem.yellowResult, + title_missing_elements: "Voci obbligatorie mancanti", + title_wrong_order_elements: + "Voci obbligatorie che non rispettano l'ordine corretto", + }); + + for (const item of toleranceItems) { + results.push({ + subItems: { + type: "subitems", + items: [item], + }, + }); + } + + results.push({}); + } + + if (wrongItems.length > 0) { + results.push({ + result: auditData.subItem.redResult, + title_missing_elements: "Voci obbligatorie mancanti", + title_wrong_order_elements: + "Voci obbligatorie che non rispettano l'ordine corretto", + }); + + for (const item of wrongItems) { + results.push({ + subItems: { + type: "subitems", + items: [item], + }, + }); + } + + results.push({}); } return { diff --git a/src/storage/auditDictionary.ts b/src/storage/auditDictionary.ts index bdce4238..b01d2faf 100644 --- a/src/storage/auditDictionary.ts +++ b/src/storage/auditDictionary.ts @@ -513,11 +513,19 @@ export const auditDictionary = { }, "school-servizi-structure-match-model": { greenResult: - "Tutte le voci obbligatorie sono presenti e nell'ordine corretto.", + "Tutte le pagine analizzate hanno tutte le voci obbligatorie presenti e nell'ordine corretto.", yellowResult: - "Fino a 2 voci obbligatorie non sono presenti o 1 voce non è nell'ordine corretto.", + "Almeno una pagina analizzata ha fino a 2 voci obbligatorie mancanti o 1 voce non è nell'ordine corretto.", redResult: - "Più di 2 voci obbligatorie non sono presenti o più di 1 voce non è nell'ordine corretto.", + "Almeno una pagina analizzata ha più di 2 voci obbligatorie mancanti o più di 1 voce non è nell'ordine corretto.", + subItem: { + greenResult: + "Tutte le voci obbligatorie sono presenti e nell'ordine corretto.", + yellowResult: + "Fino a 2 voci obbligatorie non sono presenti o 1 voce non è nell'ordine corretto.", + redResult: + "Più di 2 voci obbligatorie non sono presenti o più di 1 voce non è nell'ordine corretto.", + }, nonExecuted: "Non è stato possibile trovare una scheda servizio su cui condurre il test. Controlla le “Modalità di verifica” per scoprire di più.", title: