bmc_hub/docs/workflow-manuel-testplan.md

28 KiB
Raw Blame History

Manuel testplan – workflows, tags og afregning

Dato: 8. oktober 2026. Grundlag: lokal implementering b398278 og implementeringsstatus.

Planen er til manuel accepttest; nedenstående resultater er forventninger, ikke allerede udførte manuelle tests. Kør i rækkefølge. Sæt hver test til Bestået / Fejlet / Ikke testet, og notér ID'er og observationer i skemaet nederst.

Nye sider

Links bruger standardporten 8001. Log ind på den lokale Hub først.

De nye administrationssider findes i hovedmenuen Automatisering. Menupunkterne følger brugergruppernes rettigheder: Workflows og Workflowdrift kræver workflows.view; Aftaledækning kræver både workflows.view og workflows.manage; Tagklassifikation kræver system.admin. Personlige menuindstillinger kan desuden skjule et tilladt punkt. Hvorfor åbnes fortsat fra den konkrete tid.

Side Lokalt link Indhold
Workflow Builder Åbn workflows Regler, versioner, simulator, aktivering, kopiering og deaktivering
Aftaler og klippekort Åbn aftaledækning Inkluderede/udelukkede tags, undertags og månedspris
Workflowdrift Åbn drift og eksport Faktisk motortilstand, kø, fejlede hændelser, genforsøg og eksportafstemning
Afregningsbeslutning http://localhost:8001/workflows/time/TIDS_ID Hvorfor, beslutningshistorik, manuel overstyring og genberegning. Erstat TIDS_ID med en faktisk tidsregistrerings ID; siden åbnes også via Hvorfor i økonomikøen
Taghierarki og klassifikation Åbn klassifikation Overtagsstruktur, nøgleordsregler, AI-forslag, godkendelse og taghistorik

Eksisterende sider, som er udvidet og også skal testes:

  • Økonomikø: workflowmetode, Hvorfor, godkendelse og valg mellem separate/samlede fakturalinjer.
  • Tags: oprettelse af tags og link til klassifikation.
  • Fastprisrapporter: pris-/kostprisestimater og det eksisterende forbrugsgrundlag.
  • Sagsvisning, tidscomposer og bundbar: eksisterende sider/komponenter, hvor medarbejderens afregningsvalg skjules for aktive workflowkunder.

1. Miljø og startpunkt

Brug kun den lokale udviklingsinstallation, normalt http://localhost:8001. Hvis lokalporten er ændret, brug den faktiske lokale port. Brug ikke produktionsadressen. Migrationerne 1062–1066 er installeret lokalt; motoren er som udgangspunkt slukket.

  • Brug en særskilt testkunde, fx WF TEST – må ikke faktureres, og nye testsager med præfikset WF TEST. Brug ikke kunde 24, medmindre den faktisk er en isoleret testkunde.
  • En gendannet testdatabase kan indeholde rigtige kunder og integrationer. Kontrollér, at øvrige lokale schedulerjobs og integrationer ikke sender til produktion. Workflowflagene styrer kun den nye motor.
  • Brug en administrator til opsætning, en almindelig medarbejder til tidsregistrering og en bogholder med workflowrettigheder til godkendelse. Administratoren kan gennemføre første runde alene; gentag rettighedstesten med separate brugere.
  • Workflowrettigheder: workflows.view, workflows.manage, workflows.activate, workflows.decisions.view, workflows.override, workflows.settle. Tagadministration kræver system.admin. Roller får ikke automatisk de nye rettigheder.
  • Tag et nyt lokalt checkpoint før aktive tests. Kommandoerne nedenfor ændrer ikke konfiguration automatisk.

I zsh, fra /Users/christianthomas/DEV/bmc_hub_dev, vis først backuphandlingen:

./.venv/bin/python scripts/workflow_backup.py backup

Opret derefter backuppen:

./.venv/bin/python scripts/workflow_backup.py backup --apply --confirm BACKUP-LOCAL-BMC

Notér den udskrevne mappe. /private/tmp er midlertidig opbevaring; bevar en privat kopi varigt. Tilbageførsel beskriver de forskellige muligheder.

Skift testtilstand

Ret kun de nedenstående nøgler i den lokale .env; bevar resten af filen og eventuelle eksisterende værdier til senere gendannelse. Kundelisten er en bagudkompatibel JSON-standard med Hub-kunde-ID’er, ikke vTiger-ID’er. Nye kundetilvalg styres fra kundekortet.

Nøgle Slukket Skyggetilstand Aktiv test
WORKFLOWS_ENABLED false true true
WORKFLOWS_MODE shadow shadow active
WORKFLOWS_CUSTOMER_IDS [] [] []
WORKFLOWS_INTERNAL_ENABLED false false false
WORKFLOW_AI_ENABLED false false false

Aktivér testkunde A på CRM-kundekortet under Oversigt → Workflows → Brug workflows for kunden; skriv en begrundelse og klik Gem. Kundelisten kan nu stå tom. En eksisterende miljøkundeliste bruges kun som standard, indtil kunden har et gemt valg. Et gemt Fra gælder også for en kunde på miljølisten. En aktiveret workflowversion og en aktiveret motor er fortsat to forskellige ting; begge skal være sat korrekt.

Efter ændringer til .env skal Docker-servicen genskabes, fordi env_file indlæses ved oprettelse. En almindelig restart er ikke tilstrækkelig til at erstatte containerens gamle miljøvariabler.

Kontrollér først Compose-filen i zsh:

docker compose -f docker-compose.yml config --quiet

Hvis den består, genopret kun den lokale API-service:

docker compose -f docker-compose.yml up -d --no-deps --force-recreate api

Kontrollér derefter den faktiske tilstand på /workflows/operations. Fortsæt kun, når banneret viser den forventede tilstand og kundeliste. Ved brug af lokal uvicorn i stedet for Docker: stop og start den samme lokale proces med den opdaterede konfiguration.

2. Testdata

Opret via de eksisterende kunde-, aftale-, kort-, tag- og sagsskærme. Brug samme testkunde til alle finansielle tests og en anden testkunde uden for kundelisten til kontrol.

Data Opsætning / ID, du skal notere
Kunde A Workflowtestkunde, Hub-ID: ______
Kunde B Kontrolkunde uden for kundelisten, Hub-ID: ______
Tags WF TEST Microsoft → WF TEST Office → WF TEST Excel; desuden WF TEST Mobiltelefoni og WF TEST IT-support
Excel-nøgleord Hele ord: Excel; alternativer regneark; særskilt Indeholder-regel: .xlsx; negativt ord uden Excel; prioritet 10
Fastprisaftale A Aktiv for kunde A, gældende i testperioden; fx 20 timer og intern kostpris 300 kr./time; notér ID
Klippekort A Aktivt for kunde A, 2 timer til rådighed, afrunding 30 minutter; notér ID og startsaldo
Sag A1 Kunde A, titel WF TEST Excel, manuel tagtildeling Excel
Sag A2 Kunde A, titel WF TEST Mobil, tag Mobiltelefoni
Sag A3 Kunde A, titel WF TEST Kort, tag IT-support
Sag B1 Kunde B, titel WF TEST Kontrol
Fakturavare Et eksisterende aktivt Hub-varenummer med korrekt e-conomic-tilknytning; notér nummeret. Ellers test lokal standardvare og spring specifik varetest over

Tags oprettes på /tags; overtag og nøgleord vedligeholdes på /tags/classification. Markér de tags, som bruges til afregning, med Kan påvirke afregning. Brug testtags i en gruppe, der tillader flere tags, så eksisterende enkeltvalgsregler ikke forstyrrer testen.

På /workflows/resources: sæt aftale A til at dække Microsoft inklusive undertags, udelukke Mobiltelefoni og have månedspris 15.000 kr. Sæt kort A til kun at dække IT-support. Gem og genåbn for at kontrollere værdierne. Ændr kun testressourcer.

Testworkflows

Opret på /workflows. Felter og handlinger har danske navne: tag_ids vises som Tags, contains som Indeholder og hours som Timer. Sæt Kunde til kunde A. Brug Tags + Indeholder til tagbetingelser.

Navn Prioritet IF Handling Stop efter match
WF TEST Mobil 10 Tag indeholder Mobiltelefoni Vælg afregning → Faktura, evt. testvarenummer Ja
WF TEST Kort 20 Tag indeholder IT-support Vælg afregning → Klippekort, vælg kort A Ja
WF TEST Office 30 Tag indeholder Microsoft, Medtag undertags = ja Vælg afregning → Fastpris, vælg aftale A Ja
WF TEST Standard 100 hours gt 0 Send til manuel vurdering, begrundelse Ingen testregel dækkede arbejdet Ja

Trigger skal være Tid oprettet (time.created). Gem, test den gemte version med en relevant sag, og aktivér den testede version. Lav derefter kopier med trigger Tid ændret (time.updated), gem, test og aktivér dem. Oprettelsesregler matcher ikke automatisk ændringshændelser; begge sæt er nødvendige til genberegningstests.

Aktivér kun testreglerne. Eksisterende aktive regler kan påvirke resultatet; notér dem og gennemgå deres scope før testen. Simulatoren tester den valgte definition, mens køen evaluerer alle relevante aktive workflows.

3. Slukket motor og simulator

T01 – Eksisterende arbejdsgang

  1. Sæt slukket tilstand og kontrollér banneret.
  2. Registrér almindelig tid på sag B1 gennem den normale medarbejderskærm.
  3. Åbn økonomikøen /economy/time-queue og kontrollér den eksisterende afregningsarbejdsgang.

Forventet: ingen ny automatisk workflowbeslutning. På V5 gemmes hurtigregistrering som kladde; manuelt valg findes under Tidsregistrering. V4 og den hidtidige økonomikø bevarer deres arbejdsgang. Undlad afregning af kontroltiden.

T02 – Hierarki, søgning og cyklus

  1. Find Excel på /tags/classification. Kontrollér stien Microsoft / Office / Excel.
  2. Søg på Excel, derefter Microsoft. Kontrollér også tagvælgeren på en testsag.
  3. Forsøg at sætte Microsofts overtag til Excel.

Forventet: søgning og tagvalg virker; cyklusforsøget afvises og det oprindelige hierarki bevares efter genindlæsning.

T03 – Simulator og undertags

  1. Åbn Office-workflowet og vælg Eksisterende data → Sag, ID A1.
  2. Klik Test gemt version. Kontrollér Fastpris og match på Microsoft med undertags.
  3. Notér kortsaldo, aftaleforbrug og antal testordrekladder. Gentag testen tre gange.
  4. Gem en ny version med Medtag undertags = nej, og test samme sag.

Forventet: den første version matcher Excel gennem Microsoft. Den anden matcher ikke Microsoft, når kun Excel er tildelt. Simulatoren ændrer hverken tags, saldo, forbrug eller kladder. Gem en tredje version med undertags aktiveret igen til de følgende tests.

T04 – Versioner, kopiering og tilbagevalg

  1. Kontrollér at Aktivér testet version er deaktiveret før test.
  2. Test, og ændr derefter en betingelse uden at gemme. Aktivér må igen være deaktiveret.
  3. Gem en ny version; kontrollér at den gamle version stadig kan vælges og indeholder den gamle regel.
  4. Kopiér workflowet; kopien må være inaktiv. Deaktivér kopien.
  5. Vælg en tidligere version, test og aktivér den. Kontrollér aktiveringshistorikken.

Forventet: aktivering kræver test af den gemte version; gamle versioner bevares. Gendan og aktivér de tilsigtede testversioner før næste fase.

T05 – AND, OR og ELSE IF

  1. Lav et særskilt inaktivt simulatorworkflow: kunde A AND (beskrivelse indeholder Excel OR regneark) → Faktura.
  2. Tilføj ELSE IF beskrivelse indeholder intern test → Ikke fakturerbar; ELSE → manuel vurdering.
  3. Test indtastede data: kunde A + Hjælp med Excel; kunde A + Hjælp med regneark; kunde B + Excel; kunde A + intern test.

Forventet: henholdsvis Faktura, Faktura, manuel vurdering og Ikke fakturerbar. Sporet viser både match og ikke-match. Hold dette workflow inaktivt.

4. Skyggetilstand

T06 – Analyse uden forretningsændringer

  1. Sæt skyggetilstand; lad AI være slukket. Kontrollér banneret.
  2. Registrér 45 minutter på A1 med beskrivelse Hjulpet med Excel og notér tids-ID.
  3. Vent op til 60 sekunder, og genindlæs økonomikøen. Jobbet kører normalt hvert 15. sekund; større køer kan tage længere.
  4. Åbn Hvorfor?, eller /workflows/time/TIDS_ID.
  5. Sammenlign kortsaldo, aftaleforbrug, kladder og konkrete tags med før registreringen.

Forventet: skyggeresultat foreslår Fastpris og viser spor/historik. Motoren har ikke ændret afregning, trukket timer eller tilføjet automatiske tags. Manuel overstyring/afregning gennem workflow kræver aktiv tilstand. Eksisterende automatisering kan stadig reagere; undersøg dens kilde ved ændringer.

5. Aktiv test på kunde A

Skift til aktiv test. Opret nye tidsregistreringer; tidligere hændelser, der allerede er behandlet i skyggetilstand, skal ikke forventes automatisk genafspillet.

T07 – Medarbejderen vælger kun tid og beskrivelse

  1. Som medarbejder: registrér 45 minutter på A1, Hjulpet med Excel.
  2. Kontrollér sagsskærm, tidscomposer og bundbar: afregningsvalg/direkte godkendelse må ikke være tilgængelige for denne aktive workflowkunde.
  3. Registrér tid på B1 som kontrol.

Forventet: A-tiden går videre til bogholderiet uden medarbejdervalg af afregning. På V5 gemmes B som kladde; manuelt valg findes under Tidsregistrering. Ingen korttimer trækkes ved registrering.

T08 – Fastpris, faktura, kort og manglende regel

Opret én ny tid på hver sag: A1 45 min, A2 30 min og A3 15 min. Opret også en ny sag for A uden testtags og registrér 20 min med neutral beskrivelse.

Forventet i Hvorfor: A1 Fastpris med aftale A; A2 Faktura; A3 Klippekort med kort A; neutral tid manuel vurdering. Bogholderiet kan se de anvendte workflows og deres spor. Saldo og forbrug er uændrede før godkendelse.

T09 – Nøgleord, negative ord og manuelle tags

  1. Brug nye A-sager uden Excel-tag. Registrér Excel, Hjælp med regneark, Åbnede filen budget.xlsx, Excelkursus og Arbejdet blev udført uden Excel på forskellige tider.
  2. Se klassifikationshistorik for Tidsregistrering og tids-ID på /tags/classification. Se også Hvorfor → Tekniske detaljer for konkrete tag-ID'er.
  3. Brug ikke en sag med Excel i titel/beskrivelse til de negative prøver; klassifikationen bruger også sagens indhold.

Forventet: de første tre giver Excel-tag via nøgleordsregler. Excelkursus matcher ikke Hele ord-reglen; den negative formulering matcher ikke den pågældende regel. Andre regler kan stadig matche, så gennemgå alle regelkilder. Et manuelt tildelt tag skal bevares ved senere behandling; historie skal vise kilden.

T10 – Konflikt og prioritet

  1. Kopiér Mobil-workflowet med samme kunde, trigger og prioritet 10, men vælg Ikke fakturerbar. Test og aktivér kopien.
  2. Registrér ny tid på A2.
  3. Kontrollér manuel vurdering og konfliktspor; der må ikke oprettes afregning automatisk.
  4. Deaktivér konfliktkopien og opret en ny A2-tid.

Forventet: to modstridende afregningsvalg i samme prioritetsgruppe giver manuel vurdering, også med Stop efter match. Uden kopien vælges Faktura. En senere regel med højere prioritetsnummer må ikke tilsidesætte et stoppet match.

T11 – Manuel overstyring og genberegning

  1. Vælg en endnu ikke afregnet A2-tid. På Hvorfor: prøv overstyring uden begrundelse.
  2. Vælg Ikke fakturerbar, skriv Manuel testaftale, og gem overstyring.
  3. Klik Genberegn (bevar overstyring). Redigér også tidsbeskrivelsen og vent på ny behandling.
  4. Kontrollér metode og historik. Som administrator: skriv en begrundelse og klik Ophæv overstyring og genberegn.

Forventet: tom begrundelse afvises; historik bevarer oprindelig beslutning og overstyring. Normal genberegning bevarer overstyringen; eksplicit ophævelse anvender de aktive time.updated-regler. Ingen afregning udføres af disse knapper.

T12 – Bogholderiets preview og godkendelse

  1. Åbn /economy/time-queue, filtrér kunde A og derefter hver faktureringstype; kontrollér også filter for afsluttede sager.
  2. Vælg kun nye, ubehandlede A-tider med entydige beslutninger. Kontrollér at de gamle fælles metodevalg er deaktiverede.
  3. Åbn preview. Notér saldo og forbrug før og efter preview.
  4. Klik Gennemfør afregning én gang. Kontrollér tider og de relevante ressourcer.

Forventet: preview ændrer intet. Faktura opretter lokal ordrekladde; Fastpris øger faktisk forbrug med 0,75 time ved A1-prøven; kortet trækker 0,5 time for A3's 15 minutter ved 30-minutters afrunding. Intern/Ikke fakturerbar opretter ingen fakturakladde. Intet sendes til e-conomic fra denne godkendelse.

T13 – Separate eller samlede fakturalinjer

  1. Registrér to nye A2-tider på samme sag, 30 og 45 minutter, samme vare og sats.
  2. Vælg begge, vælg separate linjer, og se preview: forvent to linjer med tilsammen 1,25 time. Gennemfør og notér kladde-ID.
  3. Opret et nyt tilsvarende par, vælg sammenlagte linjer og gennemfør.

Forventet: andet par samles til én linje med 1,25 time, og alle tids-ID'er kan spores. Forskellige varenumre må ikke samles som samme vare. Brug nye tider til hver prøve; allerede afregnede tider kan ikke bruges igen.

T14 – Saldo, dækning og datoer

  1. Notér kortets aktuelle saldo. Opret korttid, der kræver flere afrundede timer end saldoen.
  2. Prøv en Fastpris-overstyring på Mobil-tid, selvom Mobil er udelukket af aftalen.
  3. Brug en separat udløbet/inaktiv testaftale eller et udløbet testkort i en regel eller overstyring.
  4. Prøv en manglende/ukendt fakturavare på en ny fakturatid, og godkend gennem køen.

Forventet: manuel vurdering eller tydelig afvisning; ingen negativ saldo, ugyldigt aftaleforbrug eller halv oprettet kladde. En manglende vare kan først afvises ved afregning. En manuel overstyring må ikke omgå ressourcevalidering. Notér det faktiske tidspunkt og den viste fejl.

T15 – Gentagen og samtidig godkendelse

  1. Opret en ny A3-tid med tilstrækkelig saldo. Åbn samme valg i to browserfaner og lav preview i begge.
  2. Gennemfør i den første fane, derefter i den anden. Prøv også dobbeltklik ved en separat ny test.
  3. Kontrollér kortets transaktionshistorik og saldo, ikke kun toastbeskeden.

Forventet: højst ét korttræk pr. tids-ID. Andet forsøg er allerede behandlet eller afvises. Gentag med Faktura: højst én kladde pr. tids-ID. Hvorfor kan stadig dokumentere den afregnede beslutning, og ændring/genberegning af den skal afvises.

T16 – Fastprisrapport og rettigheder

  1. Åbn eksisterende fastprisrapport /fixed-price-agreements/reports/dashboard; kontrollér testaftalens månedspris, budget og forbrug efter godkendelse.
  2. Kontrollér rentabilitet for den relevante periode: månedens pris og intern kostpris indgår, og brugte timer er de godkendte testtimer. Skeln mellem dashboardets estimat og faktisk perioderapport.
  3. Log ind som medarbejder uden administrationsrettigheder. Forsøg at åbne workflow-/tagadministration, overstyre og godkende.
  4. Log ind som bogholder med de tilsigtede rettigheder og kontrollér tilladte handlinger.
  5. Kontrollér Automatisering-menuen: medarbejderen uden rettigheder ser ingen nye punkter; læsebrugeren ser Workflows/Workflowdrift, men ingen redigeringsknapper eller Aftaledækning/Tagklassifikation. En systemadministrator med kun system.admin ser Tagklassifikation. Kontrollér også direkte URL'er.
  6. Skjul et tilladt menupunkt i Profil → menuindstillinger, genindlæs og kontrollér, at det forbliver skjult. Vis det igen. Et punkt uden adgang må ikke kunne gøres synligt gennem personlige menuvalg.
  7. Kontrollér de fem sider i lyst/mørkt tema og ved smal vinduesbredde: tekst, felter, knapper og tagstier skal kunne læses uden afskårne handlinger.

Forventet: ingen nye skriverettigheder for medarbejderen. En synlig knap er ikke i sig selv bevis på adgang; handlingen skal afvises af serveren, hvis rettigheden mangler.

T17 – Øvrige handlinger og stop af loops

  1. Opret særskilt testworkflow med case.created for kunde A, titlen WF TEST Handling, og handlinger Opret opgave, Sæt felt → priority med en gyldig eksisterende prioritet, og Notifikation til testbrugeren.
  2. Test, aktivér og opret en ny testsag. Kontrollér én opgave, den valgte prioritet og frontendnotifikation; ingen workflowmail/Mattermost forventes.
  3. Test Opret reminder med fremtidigt tidspunkt og testmodtager på en ny testsag.
  4. Valgfrit: opret to testworkflows, som starter hinanden. Kontrollér at kæden stopper; følg køen på Drift og eksport. Deaktivér dem straks efter prøven.

Forventet: handlinger knyttes til den rigtige sag. Gentagen behandling skaber ikke samme handling igen for samme event. Loop afvises eller stoppes af kædegrænsen; det må ikke fortsætte uden begrænsning. Nye, forskellige events kan legitimt udføre en regel igen.

6. Valgfrie integrationstests

T18 – AI-forslag

Kun hvis lokal Ollama-model og endpoint fungerer. Notér eksisterende værdier; ret ingen produktionsendpoint. Sæt WORKFLOW_AI_ENABLED=true, behold aktiv testkunde og sæt tærsklerne til WORKFLOW_AI_AUTO_THRESHOLD=90, WORKFLOW_AI_SUGGEST_THRESHOLD=70. Genopret API og kontrollér banneret.

  1. Lav en ny sag med neutral tekst og en ny tid: Formlerne beregner forkert i regnearket. Undgå konfigurerede nøgleord, hvis du vil isolere AI-delen; justér testteksten til fx Cellerne viser forkerte beregnede tal.
  2. Vent på AI-jobbet. På /tags/classification: vælg Tidsregistrering, angiv tids-ID og klik Vis.
  3. Kontrollér forslagets tag, model, forklaring og confidence i historikken. Et forslag er ikke garanteret, da modellen er variabel.
  4. Hvis Excel foreslås og påvirker afregning: prøv bogholderigodkendelse før review; godkend eller afvis derefter forslaget med begrundelse.
  5. Genindlæs Hvorfor efter ny behandling. Test også en ændret beskrivelse, mens et job endnu afventer.

Forventet: afregningsrelevante AI-tags kræver review selv ved høj confidence og blokerer afregning, mens relevante forslag/job er uafklarede. Gamle resultater må ikke anvendes på ændret tekst. AI-confidence er modellens vurdering. Hvis modellen ikke foreslår et relevant tag, markér reviewprøven Ikke testet; det er ikke bevis på fungerende review. Ved utilgængelig AI: undersøg jobstatus/teknisk log og markér integrationen fejlet eller blokeret.

Slå AI fra igen efter testen. Automatisk AI-kø er implementeret for tidsregistrering; antag ikke, at oprettelse af en vilkårlig mail alene starter denne AI-kø.

T19 – e-conomic

Spring denne prøve over, hvis der ikke er en verificeret særskilt e-conomic-testaftale med testkunde og testvare. En lokal Hub er ikke garanti for, at e-conomic-forbindelsen er test. Denne prøve opretter en ekstern ordre via den eksisterende ordreeksport.

  1. Vælg én workflowoprettet fakturakladde. Kontrollér kunde, vare, timer og beløb samt eksportbrugerens eksisterende rettighed economic.documents.export.
  2. Overfør gennem den eksisterende ordreskærm. Notér ekstern ordre og eksportreference på /workflows/operations.
  3. Forsøg samme eksport igen; kontrollér i e-conomic, at der ikke er en ekstra ordre.
  4. Ved reelt uafklaret svar: brug Kontrollér og afstem eksisterende ordre med den eksisterende ordres nummer. Prøv ikke blind geneksport.

Forventet: én ekstern ordre, stabil reference og bevaret tids-/linjespor. Afstemning kontrollerer kunde, varer og beløb og opretter ikke en ny ordre. En forkert ordres nummer afvises. Fremprovokér ikke en timeout ved at slukke produktion/netværk; fejl-/timeoutprøven kan markeres Ikke testet, hvis et kontrolleret testsetup mangler.

7. Sluk igen og kontrollér tilbagevejen

T20 – Deaktivering uden tab af data

  1. Notér sidste afregning, kortsaldo, forbrug og kladde-ID'er.
  2. Sæt WORKFLOWS_ENABLED=false, WORKFLOW_AI_ENABLED=false, WORKFLOWS_INTERNAL_ENABLED=false; genopret API.
  3. Kontrollér Slukket på /workflows/operations.
  4. Opret en ny kontroltid og kontrollér den gamle arbejdsgang.
  5. Kontrollér at tidligere beslutninger og gennemførte afregninger stadig kan dokumenteres.

Forventet: ny workflowbehandling ophører. Slukning tilbagefører ikke gennemførte korttræk eller sletter kladder; historik bevares. Deaktivér testworkflows, og arkivér testdata gennem eksisterende funktioner. Ret gennemførte testafregninger gennem den normale økonomiproces.

Permanent afinstallation og fuld databasegendannelse indgår ikke i den almindelige manuelle test. Afprøv kun dette i en separat disposable database efter rollbackvejledningen. En fuld restore fjerner også senere data.

T21 – Aktivér og deaktivér fra CRM-kundekortet

  1. Åbn /customers/KUNDE_A_ID → Oversigt → Workflows som administrator eller bruger med både customers.edit og workflows.activate samt læseadgang til kunder/workflows.
  2. Slå Brug workflows for kunden til, skriv Manuel CRM-test, og klik Gem. Genindlæs: valget skal stadig være Til. Med global motor slukket viser kortet, at kundens valg er gemt, men ikke aktivt.
  3. Start global skyggetilstand og derefter aktiv tilstand som beskrevet ovenfor. I aktiv tilstand skal kortet vise Aktiv for kunden. Registrér ny tid, og kontrollér workflowafregning.
  4. Slå kunden fra, begrund og gem. Den globale motor skal forblive aktiv, men kortet vise Ikke aktiv. En ny tid følger den eksisterende arbejdsgang; eksisterende beslutninger og afregninger bevares.
  5. Genstart den lokale API: kundens valg skal stadig være Fra. En eventuel gammel miljøkundeliste må ikke tilsidesætte det gemte Fra.
  6. Log ind med kun læseadgang. Status må kunne ses, men aktivering/deaktivering må ikke kunne gemmes. Mangler begge læserettigheder, skjules sektionen.
  7. Prøv tom eller for kort begrundelse. Valget må ikke blive gemt. Kundekortets øvrige sektioner skal stadig fungere.

Forventet: valget gælder uden miljøændring eller API-genstart pr. kunde; motorens globale tilstand er fortsat en hovedkontrol. Kun fremtidig behandling bruger valget; gamle tider genbehandles ikke automatisk. Tilvalg/fravalg registreres med bruger, tidspunkt og begrundelse. Slå testkunden fra efter prøven.

8. Fejlrapport og accept

Hvis der er uventet korttræk, dobbelt kladde, forkert kunde, manglende historik eller ændringer i skyggetilstand: stop den aktive test, slå motor/AI fra og bevar data til fejlsøgning. Fortsæt ikke med flere afregninger.

Notér ved fejl: testnummer, lokal URL, tidspunkt, brugerrolle, kunde-/sag-/tids-ID, workflow og version, tilstand, forventet/faktisk resultat og eventuel fejltekst. Gem gerne et skærmbillede og Hvorfor-detaljer; del ingen tokens, passwords eller .env-indhold.

Test Bestået / Fejlet / Ikke testet ID'er og observationer
T01 Eksisterende adfærd
T02 Hierarki
T03 Simulator/undertags
T04 Versioner
T05 AND/OR/ELSE IF
T06 Skyggetilstand
T07 Medarbejderflow
T08 Afregningsvalg
T09 Nøgleord
T10 Konflikter
T11 Overstyring
T12 Godkendelse
T13 Fakturalinjer
T14 Ressourcekontrol
T15 Dobbeltbehandling
T16 Rapporter/rettigheder
T17 Handlinger/loops
T18 AI (valgfri)
T19 e-conomic (valgfri)
T20 Deaktivering
T21 Kundekortaktivering
T22 V5-afregning

Grundforløbet er manuelt accepteret, når T01–T17, T20, T21 og T22 består, og ingen alvorlige fejl står åbne. AI og e-conomic kan kun accepteres særskilt efter deres egne tests. Slukket standard er ikke i sig selv godkendelse til produktion.

Automatisk SLA/eskalering, aftaleudløb samt eventkilder til reminder.due og notification.created er endnu ikke tilkoblet og kan ikke accepteres med denne plan. Registrér dem som Ikke implementeret, ikke Bestået. Sagoprettelse via workflow er heller ikke implementeret. Se status.

T22 – Afregning på Sag V5

  1. Åbn /sag/<id>/v5 for både en aktiv workflowkunde og en kunde uden aktive workflows. Registrér tid med hurtigkommentar, timer og /tid.
  2. Kontrollér, at ingen af disse registreringsfelter tilbyder afregningsvalg. Kunden uden workflows skal få kladde. Den aktive kunde skal få kladde, indtil workflowet vælger afregning.
  3. Åbn Tidsregistrering. Kontrollér, at den valgte metode vises, også når den lagrede tid fortsat er kladde.
  4. Vælg afregning manuelt under fanen. For aktive workflows kræves workflows.override og workflows.decisions.view samt en begrundelse. Kontrollér beslutningshistorikken og uændret kortsaldo før økonomisk godkendelse.
  5. Kontrollér, at allerede godkendt/afregnet workflowtid ikke kan ændres gennem denne knap. Kontrollér også, at en almindelig medarbejder uden overstyringsrettighed ikke får knappen for aktiv workflowtid.
  6. Gentag en eksisterende V4-registrering: dens tidligere afregningsvalg skal fortsat fungere.

Forventet: V5 har kun manuelt afregningsvalg under Tidsregistrering. Registrering og workflowoverstyring trækker ikke korttimer.