πŸ§ͺ Rapport Tests Pest Laravel β€” PREPROD

21/09/2026 11:57:29 · ❌ 17 test(s) en échec

1281
Total
1260
PassΓ©s
17
Γ‰chouΓ©s
4
IgnorΓ©s
1419.1s
DurΓ©e
StatutClasseTestDurΓ©eMessage
βœ… Tests.Api.Inpulse.InpulseTest Sync products 0.005s
βœ… Tests.Features.Loggers.FridgeLoggerBatchReplayTest baseline saint denis june 1 reproduces counter bug 22.513s
βœ… Tests.Features.Loggers.FridgeLoggerBatchReplayTest baseline pfc fruit legume june 1 reproduces counter bug 9.912s
βœ… Tests.Features.Loggers.FridgeLoggerBatchReplayTest baseline saint denis excursion time is counter times 600 10.174s
βœ… Tests.Features.Loggers.FridgeLoggerBatchReplayTest nominal single measure every 10 min still works 10.007s
βœ… Tests.Features.Loggers.FridgeLoggerBatchReplayTest baseline logger issue day csv reproduces error-day behavior 10.629s
βœ… Tests.Features.Loggers.FridgeLoggerBatchReplayTest baseline logger issue day csv with connectivity checks 14.955s
βœ… Tests.Features.Loggers.FridgeLoggerBatchReplayTest baseline logger issue day mod nico 1 csv reproduces error-day behavior 10.970s
βœ… Tests.Features.Loggers.FridgeLoggerBatchReplayTest baseline logger issue day mod nico 2 csv reproduces error-day behavior 11.140s
βœ… Tests.Features.Loggers.FridgeLoggerBatchReplayTest baseline quick june 2026 csv 39.694s
βœ… Tests.Features.Loggers.FridgeLoggerBatchReplayTest replay OK_CASE quick nevers marzy csv 16.868s
βœ… Tests.Features.Loggers.FridgeLoggerBatchReplayTest replay TEMP_KO_CONN_OK_CASE_WITH_EXCLUSION quick villeneuve csv 17.586s
βœ… Tests.Features.Loggers.FridgeLoggersTest Temperatures 16.117s
βœ… Tests.Features.Loggers.FridgeLoggersTest Several measures 12.044s
βœ… Tests.Features.Loggers.FridgeLoggersTest Connection 11.538s
βœ… Tests.Features.Loggers.FridgeLoggersTest Epv cauderan 18.817s
βœ… Tests.Features.Loggers.FridgeLoggersTest Terrasse saint pol 12.288s
βœ… Tests.Features.Loggers.FridgeLoggersTest Global connection 14.855s
βœ… Tests.Features.Loggers.FridgeLoggersTest ClosedDates logger 11.058s
βœ… Tests.Features.Loggers.FridgeLoggersTest ClosedDates logger 11.445s
βœ… Tests.Features.Loggers.FridgeLoggersTest ClosedDates contacts 11.588s
βœ… Tests.Features.Loggers.FridgeLoggersTest ClosedDates connexion contacts 10.913s
βœ… Tests.Features.Loggers.FridgeLoggersTest ClosedDates connexion contacts 10.446s
βœ… Tests.Features.Loggers.FridgeLoggersTest Case cirl 19.110s
βœ… Tests.Features.Loggers.FridgeLoggersTest No data alerts 13.642s
βœ… Tests.Features.Loggers.FridgeLoggersTest NoDataAlerts AllLoggers 10.107s
βœ… Tests.Features.Loggers.FridgeLoggersTest NoDataAlerts ResumeBeforeSecondAlert 11.150s
βœ… Tests.Features.Loggers.FridgeLoggersTest NoDataAlerts MultipleLoggers 13.209s
βœ… Tests.Features.Loggers.FridgeLoggersTest NoDataAlert IgnoresInactiveLoggers 10.806s
βœ… Tests.Features.Loggers.LoggerClosedDatesScenariosTest back_to_normal after exclusion sends no email when issue was never alerted 10.012s
βœ… Tests.Features.Loggers.LoggerClosedDatesScenariosTest deferred issue resolved during exclusion is not promoted when exclusion ends 10.842s
βœ… Tests.Features.Loggers.LoggerConnectionScenariosTest scenario stable produces one batch per measurement 10.067s
βœ… Tests.Features.Loggers.LoggerConnectionScenariosTest scenario stable and unstable accept inLimits OK KO 10.334s
βœ… Tests.Features.Loggers.LoggerConnectionScenariosTest scenario unstable produces one burst with backlog since last reception 9.988s
βœ… Tests.Features.Loggers.LoggerConnectionScenariosTest scenario stable then unstable then noData then unstable then stable ends in stable_ok 11.716s
βœ… Tests.Features.Loggers.LoggerConnectionScenariosTest stable_ok to stable_ko triggers temperature_issue 10.205s
βœ… Tests.Features.Loggers.LoggerConnectionScenariosTest scenario stable then noData then unstable then stable 10.756s
βœ… Tests.Features.Loggers.LoggerConnectionScenariosTest connection scenario shapes with data set "dataset "stable β†’ unstable β†’ noData β†’ unstable β†’ stable"" 9.948s
βœ… Tests.Features.Loggers.LoggerConnectionScenariosTest connection scenario shapes with data set "dataset "stable β†’ noData β†’ unstable β†’ stable"" 9.845s
βœ… Tests.Features.Loggers.LoggerPeriodicTemperatureTickTest periodic tick triggers dizzy temperature issue after ko readings then silence 9.842s
βœ… Tests.Features.Loggers.LoggerPeriodicTemperatureTickTest periodic tick does not run when last reading temperature is in limits 10.406s
βœ… Tests.Features.Loggers.LoggerPeriodicTemperatureTickTest periodic tick sends temperature reminder when excursion remains open without new data 10.785s
βœ… Tests.Features.Loggers.LoggerPeriodicTemperatureTickTest periodic tick does nothing when window has no readings 10.245s
βœ… Tests.Features.Loggers.LoggerSimulationTickTest does nothing when simulation is disabled 10.024s
βœ… Tests.Features.Loggers.LoggerSimulationTickTest injects a reading for each eligible logger when enabled 10.633s
βœ… Tests.Features.Loggers.LoggerSimulationTickTest respects the restaurant allowlist 9.617s
βœ… Tests.Features.Loggers.LoggerSimulationTickTest dry-run does not persist any reading 9.539s
βœ… Tests.Features.Loggers.LoggerSimulationTickTest an excursion produces an out-of-limits reading 9.411s
βœ… Tests.Features.Loggers.LoggerSimulationTickTest an inactive logger is not simulated 10.916s
βœ… Tests.Features.Loggers.LoggerTemperatureReminderTest reminder event type mirrors initial temperature issue 0.049s
βœ… Tests.Features.Loggers.LoggerTemperatureReminderTest sendsTemperatureReminder identifies reminder events 0.037s
βœ… Tests.Features.Loggers.LoggerWindowTransitionsTest dizzy temperature issue variant distinguishes co-occurring dizzy_started 0.042s
βœ… Tests.Features.Loggers.LoggerWindowTransitionsTest dizzy ended alert variant covers temperature outcomes 0.040s
βœ… Tests.Features.Loggers.LoggerWindowTransitionsTest temperature and resolution alerts are suppressed when dizzy ended covers them 0.039s
βœ… Tests.Features.Loggers.LoggerWindowTransitionsTest transition planner returns expected events with data set "dataset "stable_ok β†’ stable_ko"" 0.040s
βœ… Tests.Features.Loggers.LoggerWindowTransitionsTest transition planner returns expected events with data set "dataset "stable_ok β†’ unstable_ok"" 0.039s
βœ… Tests.Features.Loggers.LoggerWindowTransitionsTest transition planner returns expected events with data set "dataset "stable_ok β†’ unstable_ko"" 0.044s
βœ… Tests.Features.Loggers.LoggerWindowTransitionsTest transition planner returns expected events with data set "dataset "stable_ko β†’ stable_ok"" 0.040s
βœ… Tests.Features.Loggers.LoggerWindowTransitionsTest transition planner returns expected events with data set "dataset "stable_ko β†’ unstable_ok"" 0.039s
βœ… Tests.Features.Loggers.LoggerWindowTransitionsTest transition planner returns expected events with data set "dataset "stable_ko β†’ unstable_ko"" 0.040s
βœ… Tests.Features.Loggers.LoggerWindowTransitionsTest transition planner returns expected events with data set "dataset "unstable_ok β†’ stable_ok"" 0.040s
βœ… Tests.Features.Loggers.LoggerWindowTransitionsTest transition planner returns expected events with data set "dataset "unstable_ok β†’ stable_ko"" 0.040s
βœ… Tests.Features.Loggers.LoggerWindowTransitionsTest transition planner returns expected events with data set "dataset "unstable_ok β†’ unstable_ko"" 0.038s
βœ… Tests.Features.Loggers.LoggerWindowTransitionsTest transition planner returns expected events with data set "dataset "unstable_ko β†’ stable_ok"" 0.037s
βœ… Tests.Features.Loggers.LoggerWindowTransitionsTest transition planner returns expected events with data set "dataset "unstable_ko β†’ stable_ko"" 0.038s
βœ… Tests.Features.Loggers.LoggerWindowTransitionsTest transition planner returns expected events with data set "dataset "unstable_ko β†’ unstable_ok"" 0.041s
βœ… Tests.Features.Loggers.LoggerWindowTransitionsTest transition planner returns expected events with data set "dataset "first batch (no previous state)"" 0.039s
βœ… Tests.Features.Loggers.LoggerWindowTransitionsTest window state is derived from analysis flags with data set "dataset "stable ok"" 0.042s
βœ… Tests.Features.Loggers.LoggerWindowTransitionsTest window state is derived from analysis flags with data set "dataset "stable ko"" 0.040s
βœ… Tests.Features.Loggers.LoggerWindowTransitionsTest window state is derived from analysis flags with data set "dataset "unstable ok"" 0.040s
βœ… Tests.Features.Loggers.LoggerWindowTransitionsTest window state is derived from analysis flags with data set "dataset "unstable ko"" 0.039s
βœ… Tests.Unit.ActionPlan.ActionPlanAlertRecipientsTest IsAuditLinked is true for a plan born from an audit 0.006s
βœ… Tests.Unit.ActionPlan.ActionPlanAlertRecipientsTest IsAuditLinked is false for a standalone plan 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanAlertRecipientsTest IsAuditLinked is false for another recordable type 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanAlertRecipientsTest IsAuditLinked is false when the id is missing 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanAlertRecipientsTest ToRecipients on an empty collection 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanAlertRecipientsTest ToRecipients uses the name attribute of a local contact 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanAlertRecipientsTest ToRecipients concatenates firstname and lastname of a national contact 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanAlertRecipientsTest ToRecipients falls back to firstname when name is empty 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanAlertRecipientsTest ToRecipients deduplicates by email regardless of case 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanAlertRecipientsTest ToRecipients preserves the original case of the email 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanAlertRecipientsTest No pivot row means subscribed 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanAlertRecipientsTest Pivot with pa alerts on means subscribed 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanAlertRecipientsTest Pivot with pa alerts off means opted out 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanAlertRecipientsTest IsSubscribedToAuditPlans handles the query builder shape 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanAlertRecipientsTest ToRecipients skips contacts without email 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanApiServiceTest Parse period date reads french format and starts the day 0.010s
βœ… Tests.Unit.ActionPlan.ActionPlanApiServiceTest Parse period date ends the day when asked 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanApiServiceTest Parse period date falls back to today when missing 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanApiServiceTest Parse period date falls back to today when unreadable 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanApiServiceTest Resolve per page uses default when missing 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanApiServiceTest Resolve per page keeps requested value 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanApiServiceTest Resolve per page caps excessive value 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanApiServiceTest Resolve per page ignores zero and negative 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanApiServiceTest Collect audit record ids keeps only audit records 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanApiServiceTest Collect audit record ids deduplicates and drops null ids 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanApiServiceTest Collect audit record ids returns empty array when no audit 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanApiServiceTest Split files by kind treats both image and photo as photos 0.001s
βœ… Tests.Unit.ActionPlan.ActionPlanApiServiceTest Split files by kind keeps documents apart 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanApiServiceTest Split files by kind excludes commentary files 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanApiServiceTest Transform audit exposes both identifiers and name 0.001s
βœ… Tests.Unit.ActionPlan.ActionPlanApiServiceTest Transform audit returns null for a plan created manually 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanApiServiceTest Transform audit returns null when audit record is missing 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanApiServiceTest Transform audit tolerates an audit record without its audit 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanApiServiceTest Transform employee exposes identity 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanApiServiceTest Transform employee returns null when unassigned 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanApiServiceTest Get attached file delegates to repository 0.001s
βœ… Tests.Unit.ActionPlan.ActionPlanApiServiceTest Get attached file returns null when repository refuses 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanHistoryControllerTest Restaurant matches its own action plan 0.011s
βœ… Tests.Unit.ActionPlan.ActionPlanHistoryControllerTest Restaurant does not match another restaurants action plan 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanHistoryControllerTest Null current entity is denied 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanHistoryControllerTest Client with access to owning restaurant is allowed 0.001s
βœ… Tests.Unit.ActionPlan.ActionPlanHistoryControllerTest Client without access to owning restaurant is denied 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanHistoryControllerTest Non restaurant userable type is denied even if id coincides 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanHistoryExportTest BuildRow does not crash when planFiles is eloquent collection 0.057s
βœ… Tests.Unit.ActionPlan.ActionPlanHistoryExportTest BuildRow returns dash when no files or comments 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanHistoryExportTest BuildRow merges plan comments into commentaries 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanHistoryExportTest BuildRow counts photos and documents 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanHistoryExportTest BuildRow counts old files when no period given 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanHistoryExportTest BuildRow excludes file outside window when period given 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanHistoryExportTest BuildRow counts file inside window when period given 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanHistoryExportTest ResolveSource returns action plan label when recordable type null 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanHistoryExportTest ResolveSource returns action plan label for action plan class 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanHistoryExportTest ResolveSource returns audit label for audit record class 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanHistoryExportTest ResolveSource falls back to class basename for unknown type 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanHistoryExportTest BuildRow uses changelog snapshot not final plan responsible 0.001s
βœ… Tests.Unit.ActionPlan.ActionPlanHistoryExportTest BuildRow responsible varies between two changelogs of the same plan 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanHistoryExportTest BuildRow returns dash when changelog has no assigned snapshot 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanHistoryExportTest BuildRow uses plan responsible when no changelog 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanHistoryExportTest BuildRow uses changelog status date and author when changelog given 0.001s
βœ… Tests.Unit.ActionPlan.ActionPlanHistoryExportTest BuildRow falls back to dash when changelog has no status or employee 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanHistoryExportTest BuildRow uses plan status and creation date when no changelog 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanHistoryLocalServiceTest RecordableTypeForModule returns audit record class for audits 0.006s
βœ… Tests.Unit.ActionPlan.ActionPlanHistoryLocalServiceTest RecordableTypeForModule returns null for unknown module 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanHistoryLocalServiceTest GetBoardData calculates percent correctly 0.003s
βœ… Tests.Unit.ActionPlan.ActionPlanHistoryLocalServiceTest GetBoardData returns dash percent when no plans 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanHistoryLocalServiceTest GetBoardData returns 100 percent when all done 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanHistoryLocalServiceTest GetDaysData formats kpi string with percent 0.002s
βœ… Tests.Unit.ActionPlan.ActionPlanHistoryLocalServiceTest GetDaysData returns dash when total is zero 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanHistoryLocalServiceTest GetDaysData uses zero finished when day absent from finished 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanHistoryLocalServiceTest GetTableViewData delegates to repo 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanHistoryLocalServiceTest GetPopupItems delegates to repo 0.002s
βœ… Tests.Unit.ActionPlan.ActionPlanHistoryLocalServiceTest FindById delegates to repo 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanHistoryLocalServiceTest GetAuditLinkedActionPlans chains repo calls 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanHistoryLocalServiceTest GetByAuditRecordId delegates to repo 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanHistoryLocalServiceTest CountByAuditRecordId delegates to repo 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanHistoryLocalServiceTest GetDetailsData separates documents from images 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanHistoryLocalServiceTest GetDetailsData returns status changelogs collection 0.001s
βœ… Tests.Unit.ActionPlan.ActionPlanHistoryLocalServiceTest GetDetailsData excludes assignment events from the journal 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanHistoryLocalServiceTest GetDetailsData returns empty data when no files or changelogs 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanHistoryLocalServiceTest ResolveOrphanTag returns supprimee when category is deleted 0.004s
βœ… Tests.Unit.ActionPlan.ActionPlanHistoryLocalServiceTest ResolveOrphanTag returns national when nat category and loc only settings 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanHistoryLocalServiceTest ResolveOrphanTag returns local when loc category and nat only settings 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanHistoryLocalServiceTest ResolveOrphanTag returns null when category matches active scope 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanHistoryLocalServiceTest GetDetailsData builds photo gallery urls in order 0.001s
βœ… Tests.Unit.ActionPlan.ActionPlanHistoryLocalServiceTest FormatHomeKpi returns dash when total is zero 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanHistoryLocalServiceTest FormatHomeKpi formats percentage and fraction 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanHistoryLocalServiceTest FormatHomeKpi rounds percentage 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanHistoryLocalServiceTest PopupTypeIcon returns expected icon per type 0.001s
βœ… Tests.Unit.ActionPlan.ActionPlanHistoryLocalServiceTest ApplyDynamicFilterValues unsets all sections when everything empty 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanHistoryLocalServiceTest ApplyDynamicFilterValues populates categories when present 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanHistoryLocalServiceTest ApplyDynamicFilterValues populates responsable names when present 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanHistoryLocalServiceTest ApplyDynamicFilterValues unsets statuses when setting is null even with statuses 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanHistoryLocalServiceTest ApplyDynamicFilterValues populates statuses when setting and statuses present 0.001s
βœ… Tests.Unit.ActionPlan.ActionPlanHistoryLocalServiceTest ApplyDynamicFilterValues unsets statuses when setting present but no statuses 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanHistoryLocalServiceTest ResolveFilterCategories returns loc categories when loc only 0.001s
βœ… Tests.Unit.ActionPlan.ActionPlanHistoryLocalServiceTest ResolveFilterCategories returns nat categories when nat only 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanHistoryLocalServiceTest ResolveFilterCategories merges loc and nat sorted by position 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanHistoryLocalServiceTest ResolveFilterCategories appends orphan categories with tag 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanHistoryLocalServiceTest ResolveLocFilterCategories delegates to repo with userable id and class 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanHistoryLocalServiceTest ResolveNatFilterCategories delegates to repo with client family id 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanHistoryMultiServiceTest GetHomeCardData returns required keys 0.009s
βœ… Tests.Unit.ActionPlan.ActionPlanHistoryMultiServiceTest GetDaysData returns empty array 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanHistoryMultiServiceTest GetBoardData returns stub structure 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanHistoryMultiServiceTest GetTableViewData returns empty collection 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanHistoryMultiServiceTest GetPopupItems returns empty paginator 0.001s
βœ… Tests.Unit.ActionPlan.ActionPlanHistoryMultiServiceTest FindById returns null 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanHistoryMultiServiceTest GetAuditLinkedActionPlans returns empty collection 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanHistoryMultiServiceTest GetByAuditRecordId returns empty collection 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanHistoryMultiServiceTest CountByAuditRecordId returns zero 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanHistoryMultiServiceTest BuildFilters returns empty array 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanHistoryMultiServiceTest FindAttachedFile returns null 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanHistoryMultiServiceTest PopupTypeIcon returns expected icon per type 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanParametersServiceTest UpdateSetting rejects invalid field 0.005s
βœ… Tests.Unit.ActionPlan.ActionPlanParametersServiceTest UpdateSetting propagates repo failure 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanParametersServiceTest GetIndexPageData creates settings when missing 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanParametersServiceTest GetIndexPageData does not recreate settings when present 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanParametersServiceTest GetIndexPageData returns early when settings setup fails 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanParametersServiceTest GetIndexPageData creates statuses when missing 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanParametersServiceTest GetIndexPageData does not duplicate statuses when present 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanParametersServiceTest GetCategories for client family returns family own categories 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanParametersServiceTest GetCategories without family returns only restaurant categories 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanParametersServiceTest GetCategories with family and loc param returns only restaurant categories 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanParametersServiceTest GetCategories with family and nat param returns only family categories 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanParametersServiceTest GetCategories with family passes active only to repo 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanParametersServiceTest GetCategories does not filter locally disabled family categories 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanParametersServiceTest GetCategories with family and loc nat param returns both 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanParametersServiceTest UpdateCategory returns success with model when repo succeeds 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanParametersServiceTest UpdateCategory returns failure when repo returns null 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanParametersServiceTest ToggleCategory returns success with model when repo succeeds 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanParametersServiceTest ToggleCategory returns failure when repo returns null 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanParametersServiceTest BulkDelete returns success when repo succeeds 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanParametersServiceTest BulkDelete returns failure when repo fails 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanParametersServiceTest GetIndexPageData includes settings in return 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanParametersServiceTest IsConfiguredForRestaurant returns false when no setting 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanParametersServiceTest IsConfiguredForRestaurant returns false when no active statuses 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanParametersServiceTest IsConfiguredForRestaurant returns true via loc categories 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanParametersServiceTest IsConfiguredForRestaurant returns true via nat categories 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanParametersServiceTest IsConfiguredForRestaurant returns true when loc missing but nat has categories 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanParametersServiceTest IsConfiguredForRestaurant returns false when no categories anywhere 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanParametersServiceTest IsConfiguredForRestaurant returns false when loc no categories and nat disabled 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanParametersServiceTest IsConfiguredForRestaurant returns false when nat no categories and loc disabled 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanParametersServiceTest IsConfiguredForRestaurant returns false when neither loc nor nat 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanParametersServiceTest UpdateSetting accepts all whitelisted fields with data set "photos_enabled" 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanParametersServiceTest UpdateSetting accepts all whitelisted fields with data set "photos_required" 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanParametersServiceTest UpdateSetting accepts all whitelisted fields with data set "commentaries_enabled" 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanParametersServiceTest UpdateSetting accepts all whitelisted fields with data set "commentaries_required" 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanParametersServiceTest UpdateSetting accepts all whitelisted fields with data set "documents_enabled" 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanParametersServiceTest UpdateSetting accepts all whitelisted fields with data set "documents_required" 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanParametersServiceTest UpdateSetting accepts all whitelisted fields with data set "reminder_date_enabled" 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanParametersServiceTest UpdateSetting accepts all whitelisted fields with data set "reminder_date_required" 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanServiceTest ResolveActiveCategories without family uses loc categories 0.009s
βœ… Tests.Unit.ActionPlan.ActionPlanServiceTest ResolveActiveCategories with loc only uses loc categories 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanServiceTest ResolveActiveCategories with nat only uses family categories 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanServiceTest ResolveActiveCategories with loc and nat merges both 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanServiceTest GetIndexData creates settings when missing 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanServiceTest GetIndexData does not recreate settings when present 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanServiceTest GetIndexData counts past reminder as urgent 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanServiceTest GetIndexData passes through the access scope 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanServiceTest GetIndexData excludes future reminder from urgent count 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanServiceTest GetIndexData excludes null reminder from urgent count 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanServiceTest GetIndexData excludes draft from urgent count 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanServiceTest GetIndexData urgent count sums across statuses 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanServiceTest GetIndexData excludes finished status from urgent count 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanServiceTest GetIndexData excludes plan with finished at from urgent count even on non finished status 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanServiceTest GetIndexData returns no urgent when no statuses 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanServiceTest GetIndexData statuses sorted by position 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanServiceTest GetIndexData includes plan finished within 7 days 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanServiceTest GetIndexData excludes plan finished more than 7 days ago 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanServiceTest GetIndexData old finished plan excluded from urgent count 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanServiceTest GetUrgentPlansData flattens urgent plans across statuses 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanServiceTest GetUrgentPlansData sorts by reminded at ascending 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanServiceTest GetUrgentPlansData excludes plan with finished at regardless of status 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanServiceTest GetUrgentPlansData passes through the access scope settings and statuses 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanServiceTest ComputeFinishedAt sets when finished statuses id matches 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanServiceTest ComputeFinishedAt clears when finished statuses id set but status differs 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanServiceTest ComputeFinishedAt stays null without a configured final status 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanServiceTest ComputeFinishedAt clears an existing date without a configured final status 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanServiceTest ComputeFinishedAt preserves existing finished at when already finished 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanServiceTest ComputeFinishedAt clears when settings is null 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanServiceTest IsFinishedStatus true when configured id matches 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanServiceTest IsFinishedStatus false when configured id differs 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanServiceTest IsFinishedStatus is false without a configured final status 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanServiceTest ResolveIsDraftOnUpdate stays draft when still requested as draft 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanServiceTest ResolveIsDraftOnUpdate finalizes draft when requested as final 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanServiceTest ResolveIsDraftOnUpdate ignores draft request on already finalized plan 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanServiceTest ResolveIsDraftOnUpdate stays final when already finalized and no save mode 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanServiceTest DeleteFileAttachment delegates to repo when the file belongs to the tenant 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanServiceTest DeleteFileAttachment refuses a file outside the tenant 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanServiceTest GetPlansForRecord delegates to repo with correct type and id 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanServiceTest GetIndexData passes employee id to status twin 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanServiceTest GetIndexData passes null employee id through unchanged 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanServiceTest GetAuditPlansCount passes employee id to record twin 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanServiceTest GetPlansForRecord keeps plan without finished at 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanServiceTest GetPlansForRecord keeps plan finished within 7 days 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanServiceTest GetPlansForRecord excludes plan finished more than 7 days ago 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanServiceTest AuditRecordHasValidatedTask delegates to repo 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanServiceTest AuditRecordHasValidatedTask bypasses gate for finished period 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanServiceTest AuditRecordHasValidatedTask delegates to repo when period unknown 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanServiceTest GetAuditPlansCount returns zero when no plans 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanServiceTest GetAuditPlansCount includes finished plans in count 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanServiceTest GetAuditPlansCount counts active and finished plans 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanServiceTest GetAuditPlansCount excludes drafts from count 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanServiceTest GetAuditPlansCount hasUrgent true when reminder in past 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanServiceTest GetAuditPlansCount hasUrgent false when reminder after tomorrow 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanServiceTest GetAuditPlansCount hasUrgent false when no reminder 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanServiceTest GetAuditPlansCount hasUrgent false when only draft has past reminder 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanServiceTest FilterByModuleAccess excludes employee with module in forbidden 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanServiceTest FilterByModuleAccess includes employee without forbidden modules 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanServiceTest FilterByModuleAccess includes employee with other forbidden module 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanServiceTest FilterByModuleAccess restores current employee when filtered out 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanServiceTest GetResponsableEmployees returns a collection 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanServiceTest GetResponsableEmployees delegates to repo with correct restaurant 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanServiceTest GetResponsableEmployees filters out employees without module access 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanServiceTest GetResponsableEmployees preserves current employee when access revoked 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanServiceTest FilterByModuleAccess does not duplicate current employee already in list 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanServiceTest SanitizeFileName replaces spaces with dashes 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanServiceTest SanitizeFileName strips special characters but keeps dashes 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanServiceTest SanitizeFileName strips underscores 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanServiceTest SanitizeFileName keeps already safe name with dash unchanged 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanServiceTest BuildStorePayload uses category name and icon when not locked 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanServiceTest BuildStorePayload locked category overrides resolved category 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanServiceTest BuildStorePayload refuses an audit record outside the tenant 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanServiceTest BuildStorePayload falls back to empty strings when no category or status 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanServiceTest BuildStorePayload defaults recordable type to action plan when absent 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanServiceTest BuildStorePayload turns empty selects into null not zero 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanServiceTest BuildUpdatePayload freezes category and description once the plan is saved 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanServiceTest BuildUpdatePayload accepts the submitted values while the plan is a draft 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanServiceTest BuildUpdatePayload falls back to plan statuses name when status not found 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanServiceTest BuildUpdatePayload turns empty selects into null not zero 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanSyncServiceTest ResolveSyncAuthorEmployeeId accepts an employee of the restaurant 0.022s
βœ… Tests.Unit.ActionPlan.ActionPlanSyncServiceTest ResolveSyncAuthorEmployeeId accepts a numeric string 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanSyncServiceTest ResolveSyncAuthorEmployeeId rejects an employee of another restaurant 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanSyncServiceTest ResolveSyncAuthorEmployeeId rejects empty zero and garbage 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanSyncServiceTest GetCategoriesToSync delegates and returns array 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanSyncServiceTest GetSettingsToSync delegates and returns array 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanSyncServiceTest GetActionPlansToSync delegates and returns array 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanSyncServiceTest GetAttachedFilesToSync delegates and returns array 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanSyncServiceTest GetCommentsToSync delegates and returns array 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanSyncServiceTest GetStatusesToSync returns empty array when no settings id 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanSyncServiceTest GetStatusesToSync delegates when settings id provided 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanSyncServiceTest GetStatusesToSyncForRestaurantTablet returns empty when settings missing 0.001s
βœ… Tests.Unit.ActionPlan.ActionPlanSyncServiceTest GetStatusesToSyncForRestaurantTablet delegates with tablet sync date 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanSyncServiceTest GetStatusesToSyncForRestaurantTablet ignores last sync when forced 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanSyncServiceTest LogStatusChange does not log when statuses id is null 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanSyncServiceTest LogStatusChange does not log when status unchanged 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanSyncServiceTest LogStatusChange logs when status changes 0.001s
βœ… Tests.Unit.ActionPlan.ActionPlanSyncServiceTest LogStatusChange logs when old status was null 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanSyncServiceTest LogStatusChange records tablet author and assigned snapshot 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanSyncServiceTest LogStatusChange ignores a tablet author foreign to the restaurant 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanSyncServiceTest LogAssignment does not log when plan has no employee 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanSyncServiceTest LogAssignment does not log when assignee is unchanged 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanSyncServiceTest LogAssignment logs the initial assignment when previous is null 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanSyncServiceTest LogAssignment logs a reassignment 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanSyncServiceTest SyncAttachedFile returns invalid file error when file is null 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanSyncServiceTest SyncAttachedFile returns invalid file error when file not valid 0.008s
βœ… Tests.Unit.ActionPlan.ActionPlanSyncServiceTest SyncAttachedFile returns error when action plan not found 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanSyncServiceTest SyncAttachedFile returns error when storage fails 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanSyncServiceTest SyncAttachedFile returns success with record id on new file 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanSyncServiceTest IsConfiguredForRestaurant returns false when no setting 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanSyncServiceTest IsConfiguredForRestaurant returns false when no active statuses 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanSyncServiceTest IsConfiguredForRestaurant returns true via loc categories 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanSyncServiceTest IsConfiguredForRestaurant returns true via nat categories 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanSyncServiceTest IsConfiguredForRestaurant returns true when loc missing but nat has categories 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanSyncServiceTest IsConfiguredForRestaurant returns false when no categories anywhere 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanSyncServiceTest IsConfiguredForRestaurant returns false when loc no categories and nat disabled 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanSyncServiceTest IsConfiguredForRestaurant returns false when nat no categories and loc disabled 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanSyncServiceTest IsConfiguredForRestaurant returns false when neither loc nor nat 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanSyncServiceTest ResolveStatusId takes the server name when id already valid 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanSyncServiceTest ResolveStatusId matches by name when id is stale sqlite id 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanSyncServiceTest ResolveStatusId returns null id when no match by name 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanSyncServiceTest ResolveStatusId handles null name without error 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanSyncServiceTest ResolveStatusId recovers the id from the name when the payload has no id 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanSyncServiceTest ResolveCategoryId keeps id when already valid 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanSyncServiceTest ResolveCategoryId matches by label when id is stale 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanSyncServiceTest ResolveCategoryId returns null when no match 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanSyncServiceTest DecideNotifyEvents new plan not draft not finished fires created only 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanSyncServiceTest DecideNotifyEvents new plan created directly finished fires both in order 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanSyncServiceTest DecideNotifyEvents new plan as draft fires nothing 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanSyncServiceTest DecideNotifyEvents new plan draft and finished fires nothing 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanSyncServiceTest DecideNotifyEvents existing plan leaving draft fires created 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanSyncServiceTest DecideNotifyEvents existing plan leaving draft and finished fires both 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanSyncServiceTest DecideNotifyEvents existing plan transitioning to finished fires finished only 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanSyncServiceTest DecideNotifyEvents existing plan already finished fires nothing 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanSyncServiceTest DecideNotifyEvents existing plan still draft fires nothing 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanSyncServiceTest DecideNotifyEvents existing plan no change fires nothing 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanSyncServiceTest LogAssignment now records the author and the previous assignee 0.001s
βœ… Tests.Unit.ActionPlan.ActionPlanSyncServiceTest LogAssignment records no author when the tablet sends none 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanSyncServiceTest LogReminderChange does not log when the date is unchanged 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanSyncServiceTest LogReminderChange logs when the date moves 0.000s
βœ… Tests.Unit.ActionPlan.ActionPlanSyncServiceTest LogReminderChange logs a date being cleared 0.000s
βœ… Tests.Unit.ActionPlan.StatusChangelogTimelineTest Apply on an empty journal returns an empty collection 0.013s
βœ… Tests.Unit.ActionPlan.StatusChangelogTimelineTest Apply sorts events chronologically 0.000s
βœ… Tests.Unit.ActionPlan.StatusChangelogTimelineTest An assignment is ordered before a status change of the same instant 0.000s
βœ… Tests.Unit.ActionPlan.StatusChangelogTimelineTest A status change before any assignment has no known assignee 0.000s
βœ… Tests.Unit.ActionPlan.StatusChangelogTimelineTest A status change after an assignment resolves that assignee 0.000s
βœ… Tests.Unit.ActionPlan.StatusChangelogTimelineTest A reassignment only applies to later events 0.000s
βœ… Tests.Unit.ActionPlan.StatusChangelogTimelineTest An assignment event carries the assignee it institutes 0.000s
βœ… Tests.Unit.ActionPlan.StatusChangelogTimelineTest JournalLines renders one single line for a batch that changed two fields 0.000s
βœ… Tests.Unit.ActionPlan.StatusChangelogTimelineTest The line of a batch carries every field the save changed 0.000s
βœ… Tests.Unit.ActionPlan.StatusChangelogTimelineTest A change of the reminder date alone still produces a line 0.000s
βœ… Tests.Unit.ActionPlan.StatusChangelogTimelineTest An event without batch forms its own line 0.000s
βœ… Tests.Unit.ActionPlan.StatusChangelogTimelineTest ResolvedState is a snapshot and never leaks a later value 0.000s
βœ… Tests.Unit.ActionPlan.StatusChangelogTimelineTest JournalLines ignores the events of another module 0.000s
βœ… Tests.Unit.Alert.AuditContactPivotsTest The opt in is read in a single query for the whole population 0.004s
βœ… Tests.Unit.Alert.AuditContactPivotsTest Only contacts whose master switch is on are submitted to the opt in query 0.000s
βœ… Tests.Unit.Alert.AuditContactPivotsTest Pivot values follow the double condition 0.000s
βœ… Tests.Unit.Alert.AuditContactPivotsTest Every contact gets a pivot row even when nobody is opted in 0.000s
βœ… Tests.Unit.Alert.AuditContactPivotsTest A non array iterable is traversed twice without being exhausted 0.000s
βœ… Tests.Unit.Alert.AuditContactPivotsTest An empty population produces an empty map 0.000s
βœ… Tests.Unit.Api.AdoriaSyncFixtureBenchmarkTest Sync replay fixture is idempotent and reports timings 0.055s
βœ… Tests.Unit.Api.AdoriaSyncResilienceTest Get data throws when menu request fails 0.043s
βœ… Tests.Unit.Api.AdoriaSyncResilienceTest Get data throws on html error body that is not json 0.040s
βœ… Tests.Unit.Api.AdoriaSyncResilienceTest Kitchen catalog is cached across calls 0.040s
βœ… Tests.Unit.Api.AdoriaSyncResilienceTest Kitchen failure does not abort menu import 0.040s
βœ… Tests.Unit.Api.AdoriaSyncResilienceTest Test connection returns false instead of throwing 0.040s
βœ… Tests.Unit.Api.AdoriaSyncResilienceTest Test connection returns true when multi step setup is incomplete 0.041s
βœ… Tests.Unit.Api.AdoriaSyncResilienceTest Test connection returns false when organization token is rejected 0.039s
βœ… Tests.Unit.Api.AdoriaSyncResilienceTest Sync adoria connexion job uses retries and api sync queue 0.040s
βœ… Tests.Unit.Api.AdoriaSyncResilienceTest Sync adoria api defaults to single job mode 0.040s
βœ… Tests.Unit.Api.AdoriaSyncResilienceTest Sync adoria api per connexion mode shortens parent timeout 0.039s
βœ… Tests.Unit.Api.ApiConnectionResilienceTest Src api token is trimmed on assignment 0.044s
βœ… Tests.Unit.Api.ApiConnectionResilienceTest Src api token trim ignores non string values 0.040s
βœ… Tests.Unit.Api.ApiConnectionResilienceTest Equilibre get data throws when auth token request fails 0.040s
βœ… Tests.Unit.Api.ApiConnectionResilienceTest Equilibre get data throws when site id is rejected by api 0.041s
βœ… Tests.Unit.Api.ApiConnectionResilienceTest Equilibre test connection returns false instead of throwing on invalid site 0.055s
βœ… Tests.Unit.Api.ApiConnectionResilienceTest Equilibre test connection returns true when api legitimately has no data 0.046s
βœ… Tests.Unit.Api.ApiConnectionResilienceTest Compass test connection returns false instead of throwing 0.043s
βœ… Tests.Unit.Api.ApiConnectionResilienceTest Easilys test connection returns true when id site not yet selected 0.042s
βœ… Tests.Unit.Api.ApiConnectionResilienceTest Easilys get data throws when id site is missing 0.041s
βœ… Tests.Unit.Api.ApiConnectionResilienceTest Easilys test connection returns false when every request fails 0.041s
βœ… Tests.Unit.Api.ApiImportedDataDuplicatePreventionTest Equilibre daily resync does not duplicate control reception import 10.486s
βœ… Tests.Unit.Api.ApiImportedDataDuplicatePreventionTest Equilibre daily resync does not duplicate product imports 11.229s
βœ… Tests.Unit.Api.ApiImportedDataDuplicatePreventionTest Equilibre without prepare sync reproduces duplicate imports 9.991s
βœ… Tests.Unit.Api.ApiImportedDataDuplicatePreventionTest Equilibre orphan product import is relinked not duplicated 10.913s
βœ… Tests.Unit.Api.ApiImportedDataDuplicatePreventionTest Easilys resync does not duplicate control reception and product imports 10.290s
βœ… Tests.Unit.Api.ApiImportedDataDuplicatePreventionTest Compass resync does not duplicate control reception and product imports 10.873s
βœ… Tests.Unit.Api.ApiImportedDataDuplicatePreventionTest Get existing data depends on restaurant context 11.094s
βœ… Tests.Unit.Api.EquilibreSyncFixtureBenchmarkTest Sync replay fixture is idempotent and reports timings 0.063s
βœ… Tests.Unit.Api.ImportApisSyncGuardsTest Ajax is active toggle does not reset import apis on local service 0.119s
βœ… Tests.Unit.Api.ImportApisSyncGuardsTest Ajax is active toggle does not reset import apis on indep service 0.042s
βœ… Tests.Unit.Api.ImportApisSyncGuardsTest Full form submit without import apis resets them 0.041s
βœ… Tests.Unit.Api.ImportApisSyncGuardsTest Sync query excludes inactive restaurants but keeps client family connexions 0.040s
βœ… Tests.Unit.AttachedFiles.AttachedFileSyncServiceTest SyncAttachedFile dispatches to action plan sync service by default 0.003s
βœ… Tests.Unit.AttachedFiles.AttachedFileSyncServiceTest SyncAttachedFile dispatches to audit sync service for audit action task 0.000s
βœ… Tests.Unit.AttachedFiles.AttachedFileSyncServiceTest SyncAttachedFile rejects unknown attachable type 0.000s
βœ… Tests.Unit.Audits.AuditEmployeeReferentialTest National copy never touches the forbidden employees pivot 0.058s
βœ… Tests.Unit.Audits.AuditEmployeeReferentialTest Local copy still copies the forbidden employees pivot 0.041s
βœ… Tests.Unit.Audits.AuditEmployeeReferentialTest National update never touches the forbidden employees pivot 0.040s
βœ… Tests.Unit.Audits.AuditEmployeeReferentialTest Local update still forbids everyone when no employee is checked 0.039s
βœ… Tests.Unit.Audits.AuditEmployeeReferentialTest Local update forbids only the unchecked employees 0.047s
βœ… Tests.Unit.Audits.AuditEmployeeReferentialTest National edit page never loads the employee referential 0.049s
βœ… Tests.Unit.Audits.AuditEmployeeReferentialTest Local edit page still loads the employee referential 0.038s
βœ… Tests.Unit.Audits.AuditSyncServiceTest GetAuditsToSync enriches each audit with forbidden employees ids 0.005s
βœ… Tests.Unit.Audits.AuditSyncServiceTest GetAuditDirectoriesToSync enriches audits ids and removes audits relation 0.001s
βœ… Tests.Unit.Audits.AuditSyncServiceTest GetAuditActionsToSync prefixes consigne when present 0.001s
βœ… Tests.Unit.Audits.AuditSyncServiceTest GetAuditActionsToSync leaves empty consigne untouched 0.000s
βœ… Tests.Unit.Audits.AuditSyncServiceTest GetAuditActionsToSync forwards lastSync and withTrashed to repository 0.000s
βœ… Tests.Unit.Audits.AuditSyncServiceTest GetAuditExtraActionsToSync delegates and returns array 0.001s
βœ… Tests.Unit.Audits.AuditSyncServiceTest GetAuditActionTasksToSync forwards fix 5677 filters to repository 0.000s
βœ… Tests.Unit.Audits.AuditSyncServiceTest GetAuditActionTasksToSync enables incremental filter when no reset nor resend 0.000s
βœ… Tests.Unit.Audits.AuditSyncServiceTest GetAuditActionTasksToSync skips tasks without allAuditAction or audit 0.001s
βœ… Tests.Unit.Audits.AuditSyncServiceTest GetAuditActionTasksToSync sorts national before local and recomputes positions 0.001s
βœ… Tests.Unit.Audits.AuditSyncServiceTest GetAuditActionTasksToSync aggregates images and uses last as task image 0.001s
βœ… Tests.Unit.Audits.AuditSyncServiceTest GetAuditActionTasksToSync leaves image null when no images 0.000s
βœ… Tests.Unit.Audits.AuditSyncServiceTest GetAuditActionTasksToSync copies fields from allAuditAction and unserializes extraActions 0.000s
βœ… Tests.Unit.Audits.AuditSyncServiceTest GetAuditActionTasksToSync sets extraActions null when empty 0.000s
βœ… Tests.Unit.Audits.AuditSyncServiceTest SyncAuditActionTask returns status false when no id and no match by valid until 0.000s
βœ… Tests.Unit.Audits.AuditSyncServiceTest SyncAuditActionTask resolves by ovh id when tablet uses ovh 0.001s
βœ… Tests.Unit.Audits.AuditSyncServiceTest SyncAuditActionTask resolves directly by id when tablet has no ovh 0.000s
βœ… Tests.Unit.Audits.AuditSyncServiceTest SyncAuditActionTask resolves via 2023 11 17 hardcoded range and skips general fallback 0.000s
βœ… Tests.Unit.Audits.AuditSyncServiceTest SyncAuditActionTask falls through to general range when 2023 11 17 range is ambiguous 0.001s
βœ… Tests.Unit.Audits.AuditSyncServiceTest SyncAuditActionTask falls back to general day range for non 2023 11 17 dates 0.000s
βœ… Tests.Unit.Audits.AuditSyncServiceTest SyncAuditActionTask returns status false when day range fallback is ambiguous 0.000s
βœ… Tests.Unit.Audits.AuditSyncServiceTest SyncAuditActionTask does not update when task is already done 0.000s
βœ… Tests.Unit.Audits.AuditSyncServiceTest SyncAuditActionTask returns validation errors when task invalid without resolving ids 0.000s
βœ… Tests.Unit.Audits.AuditSyncServiceTest SyncAuditActionTask fills task and sets technical fields 0.001s
βœ… Tests.Unit.Audits.AuditSyncServiceTest SyncAuditActionTask resolves related ids after validation 0.001s
βœ… Tests.Unit.Audits.AuditSyncServiceTest SyncAuditActionTask returns success with id when save succeeds 0.000s
βœ… Tests.Unit.Audits.AuditSyncServiceTest SyncAuditActionTask returns failure without id when save fails 0.000s
βœ… Tests.Unit.Audits.AuditSyncServiceTest SyncAuditActionTask does not regenerate cycle when audit missing 0.000s
βœ… Tests.Unit.Audits.AuditSyncServiceTest SyncAuditActionTask does not regenerate cycle when period not finished 0.000s
βœ… Tests.Unit.Audits.AuditSyncServiceTest SyncAuditActionTask does not regenerate cycle when audit disabled for restaurant 0.000s
βœ… Tests.Unit.Audits.AuditSyncServiceTest SyncAuditActionTask treats unset client audits disabled as empty 0.001s
βœ… Tests.Unit.Audits.AuditSyncServiceTest SyncAuditActionTask does not regenerate cycle when achievement not done 0.000s
βœ… Tests.Unit.Audits.AuditSyncServiceTest SyncAuditActionTask regenerates into existing current record 0.001s
βœ… Tests.Unit.Audits.AuditSyncServiceTest SyncAuditActionTask regenerates into brand new record when none current 0.001s
βœ… Tests.Unit.Audits.AuditSyncServiceTest SyncAuditActionTask ignores invalid image and follows no image path 0.001s
βœ… Tests.Unit.Audits.AuditSyncServiceTest SyncAuditActionTask returns invalid image error when size zero 0.000s
βœ… Tests.Unit.Audits.AuditSyncServiceTest SyncAuditActionTask attaches image and saves when move and creation succeed 0.001s
βœ… Tests.Unit.Audits.AuditSyncServiceTest SyncAuditActionTask does not save when image creation fails 0.001s
βœ… Tests.Unit.Audits.AuditSyncServiceTest AddAuditActionTaskImage uses ovh lookup when tablet uses ovh 0.000s
βœ… Tests.Unit.Audits.AuditSyncServiceTest AddAuditActionTaskImage uses direct lookup when tablet has no ovh 0.000s
βœ… Tests.Unit.Audits.AuditSyncServiceTest AddAuditActionTaskImage returns status false when task not found 0.000s
βœ… Tests.Unit.Audits.AuditSyncServiceTest AddAuditActionTaskImage returns status false when image missing 0.000s
βœ… Tests.Unit.Audits.AuditSyncServiceTest AddAuditActionTaskImage returns status false when image invalid 0.000s
βœ… Tests.Unit.Audits.AuditSyncServiceTest AddAuditActionTaskImage returns invalid image error when size zero 0.000s
βœ… Tests.Unit.Audits.AuditSyncServiceTest AddAuditActionTaskImage uses task date not today for destination and returns created image 0.001s
βœ… Tests.Unit.Audits.AuditSyncServiceTest AddAuditActionTaskImage reports failure when created image does not exist 0.001s
βœ… Tests.Unit.Audits.AuditSyncServiceTest SyncAttachedFile returns invalid file error when file is null 0.000s
βœ… Tests.Unit.Audits.AuditSyncServiceTest SyncAttachedFile returns invalid file error when file not valid 0.000s
βœ… Tests.Unit.Audits.AuditSyncServiceTest SyncAttachedFile returns error when task not found 0.000s
βœ… Tests.Unit.Audits.AuditSyncServiceTest SyncAttachedFile returns error when storage fails 0.000s
βœ… Tests.Unit.Audits.AuditSyncServiceTest SyncAttachedFile returns success with record id on new file 0.001s
βœ… Tests.Unit.Audits.AuditSyncServiceTest GetAttachedFilesToSync delegates and returns array 0.000s
βœ… Tests.Unit.Audits.AuditTaskServiceTest GetEditData returns comments and documents for existing task 0.015s
βœ… Tests.Unit.Audits.AuditTaskServiceTest AddComment creates comment when text non empty 0.000s
βœ… Tests.Unit.Audits.AuditTaskServiceTest AddComment trims text before creating 0.000s
βœ… Tests.Unit.Audits.AuditTaskServiceTest AddComment is noop when text empty or blank 0.000s
βœ… Tests.Unit.Audits.AuditTaskServiceTest DeleteComment delegates to repository 0.000s
βœ… Tests.Unit.Audits.AuditTaskServiceTest DeleteDocument delegates to repository 0.000s
βœ… Tests.Unit.Audits.AuditTaskServiceTest GetDocumentForView delegates to repository 0.000s
βœ… Tests.Unit.Audits.AuditsBoardServiceTest GetFilters returns the three filter groups with their labels 0.003s
βœ… Tests.Unit.Audits.AuditsBoardServiceTest GetRecords passes the client hook values to the repository 0.000s
βœ… Tests.Unit.Audits.AuditsBoardServiceTest GetRecords accepts a null restaurant id 0.000s
βœ… Tests.Unit.Audits.AuditsBoardServiceTest GetTasks passes the client hook value and a hardcoded page size 0.000s
βœ… Tests.Unit.Audits.AuditsBoardServiceTest ExpandCalendarPeriod widens a week by one week on each side 0.001s
βœ… Tests.Unit.Audits.AuditsBoardServiceTest ExpandCalendarPeriod widens a thirty day month by one month on each side 0.000s
βœ… Tests.Unit.Audits.AuditsBoardServiceTest ExpandCalendarPeriod overshoots by two months when the month ends on the 31st 0.000s
βœ… Tests.Unit.Audits.AuditsBoardServiceTest ExpandCalendarPeriod widens a year by one year on each side 0.000s
βœ… Tests.Unit.Audits.AuditsBoardServiceTest ExpandCalendarPeriod never goes past today 0.000s
βœ… Tests.Unit.Audits.AuditsBoardServiceTest ExpandCalendarPeriod returns the period untouched for an unknown periodicity 0.000s
βœ… Tests.Unit.Audits.AuditsBoardServiceTest ExpandCalendarPeriod mutates the carbon instances it receives 0.000s
βœ… Tests.Unit.Audits.AuditsBoardServiceTest CalendarCellPeriod spans from the start day to the end of its week 0.000s
βœ… Tests.Unit.Audits.AuditsBoardServiceTest CalendarCellPeriod spans to the end of the month 0.000s
βœ… Tests.Unit.Audits.AuditsBoardServiceTest CalendarCellPeriod spans to the end of the year 0.000s
βœ… Tests.Unit.Audits.AuditsBoardServiceTest CalendarCellPeriod covers the single day for an unknown periodicity 0.000s
βœ… Tests.Unit.Audits.AuditsBoardServiceTest CalendarCellPeriod mutates the start date it receives 0.000s
βœ… Tests.Unit.Audits.AuditsBoardServiceTest CalendarDetailPeriod extends only the end to its period 0.000s
βœ… Tests.Unit.Audits.AuditsBoardServiceTest CalendarDetailPeriod leaves the bounds alone for all 0.000s
βœ… Tests.Unit.Audits.AuditsBoardServiceTest CalendarDetailPeriod extends the end to the end of its month 0.000s
βœ… Tests.Unit.Audits.AuditsBoardServiceTest CalendarDetailPeriod only reaches the end of day for an unknown periodicity 0.000s
βœ… Tests.Unit.Audits.AuditsBoardServiceTest GetCalendarAggregates asks for the extended flag and keys by restaurant 0.000s
βœ… Tests.Unit.Audits.AuditsBoardServiceTest GetCalendarAggregates defaults the family filter to an empty array 0.000s
βœ… Tests.Unit.Audits.AuditsBoardServiceTest BuildCalendarCells gives every active restaurant a cell even without audits 0.000s
βœ… Tests.Unit.Audits.AuditsBoardServiceTest BuildCalendarCells skips inactive restaurants entirely 0.000s
βœ… Tests.Unit.Audits.AuditsBoardServiceTest BuildCalendarCells fills the aggregates and formats the ratio 0.000s
βœ… Tests.Unit.Audits.AuditsBoardServiceTest BuildCalendarCells ignores aggregates for unknown restaurants 0.000s
βœ… Tests.Unit.Audits.AuditsBoardServiceTest BuildCalendarCells marks a restaurant closed over a whole week 0.000s
βœ… Tests.Unit.Audits.AuditsBoardServiceTest BuildCalendarCells does not mark closed when the restaurant opens once 0.000s
βœ… Tests.Unit.Audits.AuditsBoardServiceTest BuildCalendarCells never computes closed beyond a week 0.000s
βœ… Tests.Unit.Audits.AuditsBoardServiceTest GetSelectedFamilyNames joins the names of the selected families 0.000s
βœ… Tests.Unit.Audits.AuditsBoardServiceTest GetSelectedFamilyNames returns an empty string without a family filter 0.000s
βœ… Tests.Unit.Audits.AuditsBoardServiceTest GetSelectedFamilyNames ignores ids the client does not own 0.000s
βœ… Tests.Unit.Audits.AuditsBoardServiceTest CalendarRowClass flags a non conforme record first 0.000s
βœ… Tests.Unit.Audits.AuditsBoardServiceTest CalendarRowClass warns on a record that was not done 0.000s
βœ… Tests.Unit.Audits.AuditsBoardServiceTest CalendarRowClass marks a record in progress as pending 0.000s
βœ… Tests.Unit.Audits.AuditsBoardServiceTest CalendarRowClass returns no class for anything else 0.000s
βœ… Tests.Unit.Audits.AuditsBoardServiceTest BuildRecordPdfData returns null when the record does not exist 0.000s
βœ… Tests.Unit.Audits.AuditsExtraActionsServiceTest GetIndexPageData returns the action and its ordered extra actions 0.008s
βœ… Tests.Unit.Audits.AuditsExtraActionsServiceTest GetIndexPageData returns null when the action does not exist 0.000s
βœ… Tests.Unit.Audits.AuditsExtraActionsServiceTest GetIndexPageData returns null when the action belongs to someone else 0.000s
βœ… Tests.Unit.Audits.AuditsExtraActionsServiceTest GetCreatePageData returns a blank action with colors and type labels 0.000s
βœ… Tests.Unit.Audits.AuditsExtraActionsServiceTest GetCreatePageData returns null for a foreign action 0.000s
βœ… Tests.Unit.Audits.AuditsExtraActionsServiceTest GetEditPageData returns the extra action with colors and type labels 0.000s
βœ… Tests.Unit.Audits.AuditsExtraActionsServiceTest GetEditPageData leaves auditAction null when the relation is orphan 0.000s
βœ… Tests.Unit.Audits.AuditsExtraActionsServiceTest GetEditPageData returns null for a foreign extra action 0.000s
βœ… Tests.Unit.Audits.AuditsExtraActionsServiceTest StoreExtraAction sets owner active position and parent then saves 0.000s
βœ… Tests.Unit.Audits.AuditsExtraActionsServiceTest StoreExtraAction lets the post overwrite the computed position and active 0.000s
βœ… Tests.Unit.Audits.AuditsExtraActionsServiceTest StoreExtraAction returns null and saves nothing for a foreign action 0.000s
βœ… Tests.Unit.Audits.AuditsExtraActionsServiceTest UpdateExtraAction returns the saved branch with the filled action 0.000s
βœ… Tests.Unit.Audits.AuditsExtraActionsServiceTest UpdateExtraAction returns the save failed branch when the repository refuses 0.000s
βœ… Tests.Unit.Audits.AuditsExtraActionsServiceTest UpdateExtraAction returns the not found branch for a foreign extra action 0.000s
βœ… Tests.Unit.Audits.AuditsExtraActionsServiceTest DeleteExtraAction returns status true when the repository deletes 0.000s
βœ… Tests.Unit.Audits.AuditsExtraActionsServiceTest DeleteExtraAction returns status false with an error when the delete fails 0.000s
βœ… Tests.Unit.Audits.AuditsExtraActionsServiceTest DeleteExtraAction returns a bare false status for a foreign extra action 0.000s
βœ… Tests.Unit.Audits.AuditsExtraActionsServiceTest ReorderExtraActions numbers the given ids from one 0.000s
βœ… Tests.Unit.Audits.AuditsExtraActionsServiceTest ReorderExtraActions skips empty ids without burning a position 0.000s
βœ… Tests.Unit.Audits.AuditsExtraActionsServiceTest ReorderExtraActions reuses the position of a row the repository refused 0.000s
βœ… Tests.Unit.Audits.AuditsExtraActionsServiceTest ReorderExtraActions returns false for a foreign action 0.000s
βœ… Tests.Unit.Audits.AuditsExtraActionsServiceTest NormalizeTemperatureInput promotes the custom fields on the quantity type 0.000s
βœ… Tests.Unit.Audits.AuditsExtraActionsServiceTest NormalizeTemperatureInput ignores the custom fields on other types 0.000s
βœ… Tests.Unit.Audits.AuditsExtraActionsServiceTest NormalizeTemperatureInput turns empty bounds into null 0.000s
βœ… Tests.Unit.Audits.AuditsExtraActionsServiceTest NormalizeTemperatureInput falls back on the minimum for an empty default 0.000s
βœ… Tests.Unit.Audits.AuditsExtraActionsServiceTest NormalizeTemperatureInput falls back on one when there is no minimum 0.000s
βœ… Tests.Unit.Audits.AuditsExtraActionsServiceTest NormalizeTemperatureInput leaves filled values alone 0.000s
βœ… Tests.Unit.Audits.AuditsHistoryServiceTest GetHistoryFilters returns static filters config 0.007s
βœ… Tests.Unit.Audits.AuditsHistoryServiceTest GetRecordsForHistory delegates to repository and returns its result 0.000s
βœ… Tests.Unit.Audits.AuditsHistoryServiceTest GetTasksForHistory delegates to repository with given perPage 0.000s
βœ… Tests.Unit.Audits.AuditsHistoryServiceTest GetTasksForHistory defaults perPage to 250 0.000s
βœ… Tests.Unit.Audits.AuditsHistoryServiceTest FindAuditRecordForExport delegates to repository 0.000s
βœ… Tests.Unit.Audits.AuditsHistoryServiceTest FindAuditRecordForExport returns null when not found 0.000s
βœ… Tests.Unit.Audits.AuditsHistoryServiceTest CanAccessRecordForExport returns false when record is null 0.000s
βœ… Tests.Unit.Audits.AuditsHistoryServiceTest CanAccessRecordForExport returns true when client guard regardless of authUserId 0.000s
βœ… Tests.Unit.Audits.AuditsHistoryServiceTest CanAccessRecordForExport returns true when not client guard and authUserId matches restaurant 0.000s
βœ… Tests.Unit.Audits.AuditsHistoryServiceTest CanAccessRecordForExport returns false when not client guard and authUserId does not match 0.000s
βœ… Tests.Unit.Audits.AuditsHistoryServiceTest BuildDirectPdfExportData returns null when record not found 0.000s
βœ… Tests.Unit.Audits.AuditsHistoryServiceTest GetXlsHistoryFilename uses user modules name 0.000s
βœ… Tests.Unit.Audits.AuditsHistoryServiceTest GetXlsTasksHistoryFilename returns fixed label 0.000s
βœ… Tests.Unit.Audits.AuditsHistoryServiceTest GetActionsPopupData returns null when record not found 0.000s
βœ… Tests.Unit.Audits.AuditsHistoryServiceTest GetPopupData returns default view without repository call when type is unknown 0.000s
βœ… Tests.Unit.Audits.AuditsHistoryServiceTest GetRecordDetailsById returns null when task not found 0.000s
βœ… Tests.Unit.Audits.AuditsHistoryServiceTest PrepareDocumentDownload returns file when linked task exists 0.000s
βœ… Tests.Unit.Audits.AuditsParametersServiceTest GetIndexPageData groups audits by period 0.004s
βœ… Tests.Unit.Audits.AuditsParametersServiceTest StoreAudit sets defaults and syncs contacts when save succeeds 0.000s
βœ… Tests.Unit.Audits.AuditsParametersServiceTest StoreAudit does not sync contacts when save fails 0.000s
βœ… Tests.Unit.Audits.AuditsParametersServiceTest GetEditPageData returns null when audit not found 0.000s
βœ… Tests.Unit.Audits.AuditsParametersServiceTest GetEditPageData returns null when audit belongs to another restaurant 0.000s
βœ… Tests.Unit.Audits.AuditsParametersServiceTest GetEditPageData returns full data when audit belongs to restaurant 0.000s
βœ… Tests.Unit.Audits.AuditsParametersServiceTest GetTasksActionsPageData returns null when audit not found 0.000s
βœ… Tests.Unit.Audits.AuditsParametersServiceTest GetTasksActionsPageData returns null for a foreign audit 0.000s
βœ… Tests.Unit.Audits.AuditsParametersServiceTest GetTasksActionsPageData returns data for an owned audit 0.000s
βœ… Tests.Unit.Audits.AuditsParametersServiceTest UpdateAudit returns not found when audit missing 0.000s
βœ… Tests.Unit.Audits.AuditsParametersServiceTest UpdateAudit returns not found when foreign audit and not same family 0.000s
βœ… Tests.Unit.Audits.AuditsParametersServiceTest UpdateAudit falls through to not found when family matches but active key absent 0.000s
βœ… Tests.Unit.Audits.AuditsParametersServiceTest GetShowPageData returns null when audit not found 0.000s
βœ… Tests.Unit.Audits.AuditsParametersServiceTest GetShowPageData returns null when audit belongs to another restaurant 0.000s
βœ… Tests.Unit.Audits.AuditsParametersServiceTest GetShowPageData returns audit and periods when owned 0.000s
βœ… Tests.Unit.Audits.AuditsParametersServiceTest DestroyAudit returns deleted false when audit not found 0.000s
βœ… Tests.Unit.Audits.AuditsParametersServiceTest DestroyAudit returns deleted false when foreign audit 0.000s
βœ… Tests.Unit.Audits.AuditsParametersServiceTest DestroyAudit returns deleted true when owned and delete succeeds 0.000s
βœ… Tests.Unit.Audits.AuditsParametersServiceTest DestroyAudit returns deleted false when delete fails 0.000s
βœ… Tests.Unit.Audits.AuditsParametersServiceTest ImportXlsxRows returns status false when file invalid 0.000s
βœ… Tests.Unit.Audits.AuditsParametersServiceTest ExportAuditActions returns null when audit not found 0.000s
βœ… Tests.Unit.Audits.AuditsParametersServiceTest ReorderAudits upserts position for each valid id and skips empty 0.000s
βœ… Tests.Unit.Audits.AuditsParametersServiceTest ReorderAudits skips id not found by repository 0.000s
βœ… Tests.Unit.Audits.AuditsParametersServiceTest ReorderActions upserts position without active field 0.000s
βœ… Tests.Unit.Audits.AuditsParametersServiceTest CreateAction returns null when audit not found 0.000s
βœ… Tests.Unit.Audits.AuditsParametersServiceTest CreateAction defaults coefficent to one when empty 0.000s
βœ… Tests.Unit.Audits.AuditsParametersServiceTest CreateAction keeps provided coefficent 0.000s
βœ… Tests.Unit.Audits.AuditsParametersServiceTest CreateAction creates extra actions when provided by import 0.000s
βœ… Tests.Unit.Audits.AuditsParametersServiceTest CreateAction does not create extra actions when absent 0.000s
βœ… Tests.Unit.Audits.AuditsParametersServiceTest GetCreateDirectoryPageData returns expected structure 0.000s
βœ… Tests.Unit.Audits.AuditsParametersServiceTest GetEditDirectoryPageData returns null when directory not found 0.000s
βœ… Tests.Unit.Audits.AuditsParametersServiceTest GetEditDirectoryPageData combines audits without directory and directory audits 0.000s
βœ… Tests.Unit.Audits.AuditsParametersServiceTest SaveDirectory creates new directory with defaults when directoryId null 0.000s
βœ… Tests.Unit.Audits.AuditsParametersServiceTest SaveDirectory uses provided name and color 0.000s
βœ… Tests.Unit.Audits.AuditsParametersServiceTest SaveDirectory assigns new audits to directory when save succeeds 0.000s
βœ… Tests.Unit.Audits.AuditsParametersServiceTest SaveDirectory does not assign audits when save fails 0.000s
βœ… Tests.Unit.Audits.AuditsParametersServiceTest SaveDirectory update mode unassigns removed audits and keeps still selected ones 0.000s
βœ… Tests.Unit.Audits.AuditsParametersServiceTest DeleteDirectory returns deleted false when directory not found 0.000s
βœ… Tests.Unit.Audits.AuditsParametersServiceTest DeleteDirectory returns deleted false when foreign directory 0.000s
βœ… Tests.Unit.Audits.AuditsParametersServiceTest DeleteDirectory moves audits out when moveAudits true 0.000s
βœ… Tests.Unit.Audits.AuditsParametersServiceTest DeleteDirectory deletes audits when moveAudits false 0.000s
βœ… Tests.Unit.Audits.AuditsParametersServiceTest DeleteDirectory returns deleted false when repository delete fails 0.000s
βœ… Tests.Unit.Audits.AuditsParametersServiceTest The tenant is forwarded to the repository when deleting a directory 0.000s
βœ… Tests.Unit.Audits.AuditsParametersServiceTest GetShowDirectoryPageData returns null when directory not found 0.000s
βœ… Tests.Unit.Audits.AuditsParametersServiceTest GetShowDirectoryPageData groups audits by period without ownership check 0.001s
βœ… Tests.Unit.Audits.AuditsParametersServiceTest ToggleDirectoryActive returns status false when directory not found 0.000s
βœ… Tests.Unit.Audits.CentralAuditsBoardServiceTest CreatedAt counts in the records period centrally but not for a client 0.009s
βœ… Tests.Unit.Audits.CentralAuditsBoardServiceTest The central records screen is not paginated while the client one is 0.000s
βœ… Tests.Unit.Audits.CentralAuditsBoardServiceTest The realisation filter constrains tasks centrally but not for a client 0.000s
βœ… Tests.Unit.Audits.CentralAuditsBoardServiceTest The client xls filename is a constant and ignores the restaurant 0.000s
βœ… Tests.Unit.Audits.CentralAuditsBoardServiceTest The client tasks xls filename is a constant 0.000s
βœ… Tests.Unit.Audits.CentralAuditsBoardServiceTest The client pdf filename is prefixed by a literal and carries the creation date 0.000s
βœ… Tests.Unit.Audits.LocalAuditServiceTest GetTaskDetailData returns null when task not found 0.002s
βœ… Tests.Unit.Audits.LocalAuditServiceTest GetTaskDetailData returns task and extraActions when found 0.000s
βœ… Tests.Unit.Audits.LocalAuditServiceTest GetTaskDetailData passes null auditActionId when no auditAction 0.000s
βœ… Tests.Unit.Audits.LocalAuditServiceTest UpdateTask returns null when task not found 0.000s
βœ… Tests.Unit.Audits.LocalAuditServiceTest UpdateTask returns success true and task when update succeeds 0.000s
βœ… Tests.Unit.Audits.LocalAuditServiceTest UpdateTask returns success false when update fails 0.000s
βœ… Tests.Unit.Audits.LocalAuditServiceTest UpdateTasksBatch skips task not found by repository 0.002s
βœ… Tests.Unit.Audits.LocalAuditServiceTest UpdateTasksBatch skips update when rate empty 0.000s
βœ… Tests.Unit.Audits.LocalAuditServiceTest UpdateTasksBatch updates task with expected data when rate present 0.000s
βœ… Tests.Unit.Audits.LocalAuditServiceTest UpdateTasksBatch defaults comment and extraActions when absent 0.000s
βœ… Tests.Unit.Audits.LocalAuditServiceTest UpdateTasksBatch calls tasksUpdated once when auditRecord present 0.001s
βœ… Tests.Unit.Audits.LocalAuditServiceTest UpdateTasksBatch does not call tasksUpdated when no auditRecord 0.000s
βœ… Tests.Unit.Audits.LocalAuditServiceTest UpdateTasksBatch retains audit and auditRecord from first resolving task 0.000s
βœ… Tests.Unit.Audits.LocalAuditServiceTest UpdateTasksBatch does not regenerate cycle when period is not finished 0.000s
βœ… Tests.Unit.Audits.LocalAuditServiceTest UpdateTasksBatch does not regenerate cycle when achievement is not done 0.000s
βœ… Tests.Unit.Audits.LocalAuditServiceTest RemoveTaskImage returns false when image not found 0.000s
βœ… Tests.Unit.Audits.LocalAuditServiceTest CheckDirectoryPassword returns true when password matches 0.000s
βœ… Tests.Unit.Audits.MultiAuditServiceTest GetIndexData returns empty collections and null employee 0.008s
βœ… Tests.Unit.Audits.MultiAuditServiceTest GetTasksPageData returns null 0.000s
βœ… Tests.Unit.Audits.MultiAuditServiceTest GetTaskDetailData returns null when entity is null 0.000s
βœ… Tests.Unit.Audits.MultiAuditServiceTest GetTaskDetailData scopes lookup to client restaurant ids 0.001s
βœ… Tests.Unit.Audits.MultiAuditServiceTest GetTaskDetailData returns task and extraActions when found 0.000s
βœ… Tests.Unit.Audits.MultiAuditServiceTest GetTaskDetailData passes null auditActionId when no auditAction 0.000s
βœ… Tests.Unit.Audits.MultiAuditServiceTest UpdateTask returns null 0.000s
βœ… Tests.Unit.Audits.MultiAuditServiceTest UpdateTasksBatch is a noop 0.000s
βœ… Tests.Unit.Audits.MultiAuditServiceTest AddTaskImage returns null 0.000s
βœ… Tests.Unit.Audits.MultiAuditServiceTest RemoveTaskImage returns false 0.000s
βœ… Tests.Unit.Audits.MultiAuditServiceTest GetDirectoryViewData returns periods and directory with empty audits 0.000s
βœ… Tests.Unit.Audits.MultiAuditServiceTest CheckDirectoryPassword returns true when password matches 0.000s
βœ… Tests.Unit.Audits.MultiAuditsExtraActionsServiceTest OwnerColumn is the family column nationally and the restaurant column locally 0.003s
βœ… Tests.Unit.Audits.MultiAuditsParametersServiceTest OwnerColumn is the family column nationally and the restaurant column locally 0.001s
βœ… Tests.Unit.Audits.MultiAuditsParametersServiceTest ManagesForbiddenEmployees is off nationally and on locally 0.000s
βœ… Tests.Unit.Audits.MultiAuditsParametersServiceTest TaskScopeArgument scopes the regeneration to the family nationally 0.000s
βœ… Tests.Unit.Audits.MultiAuditsParametersServiceTest TaskScopeArgument stays empty locally so the command does nothing 0.000s
βœ… Tests.Unit.Audits.MultiAuditsParametersServiceTest TaskScopeArgument returns on both contexts instead of recursing 0.000s
βœ… Tests.Unit.Audits.MultiAuditsParametersServiceTest InheritsFromFamily is false nationally because a family is the top 0.000s
βœ… Tests.Unit.Audits.MultiAuditsParametersServiceTest DirectoryIsAccessible requires strict family ownership nationally 0.000s
βœ… Tests.Unit.Audits.MultiAuditsParametersServiceTest DirectoryIsAccessible is unconditionally true locally 0.000s
βœ… Tests.Unit.Audits.MultiAuditsParametersServiceTest DeleteDirectory guards on the family column nationally 0.000s
βœ… Tests.Unit.Audits.MultiAuditsParametersServiceTest StoreAudit asks for the contacts of its own owner in both contexts 0.001s
βœ… Tests.Unit.Audits.SimpleAuditsParametersServiceTest GetShowPageData returns audits and folders from repository 0.003s
βœ… Tests.Unit.Audits.SimpleAuditsParametersServiceTest GetAreaPopupData uses new audit and includes all periods when id is null 0.000s
βœ… Tests.Unit.Audits.SimpleAuditsParametersServiceTest GetAreaPopupData uses existing audit and filters periods to its own period 0.000s
βœ… Tests.Unit.Audits.SimpleAuditsParametersServiceTest GetAreaPopupData parent values only include audits without actions 0.000s
βœ… Tests.Unit.Audits.SimpleAuditsParametersServiceTest GetActionPopupData creates new action when actionId is null 0.000s
βœ… Tests.Unit.Audits.SimpleAuditsParametersServiceTest GetActionPopupData finds local override action when actionId given 0.000s
βœ… Tests.Unit.Audits.SimpleAuditsParametersServiceTest GetActionPopupData returns null audit when audit not found even with trashed 0.000s
⏭️ Tests.Unit.CleaningPlan.CleaningPlanObserverTest Activating parent propagates to children 0.000s
⏭️ Tests.Unit.CleaningPlan.CleaningPlanObserverTest Deactivating parent propagates to children 0.000s
⏭️ Tests.Unit.CleaningPlan.CleaningPlanObserverTest Unchanged value does not touch children 0.000s
⏭️ Tests.Unit.CleaningPlan.CleaningPlanObserverTest Parent without children does not throw 0.000s
βœ… Tests.Unit.CleaningPlan.CleaningPlanParentOptionRulesTest Loc own active zone is proposable 0.003s
βœ… Tests.Unit.CleaningPlan.CleaningPlanParentOptionRulesTest Loc own disabled zone stays proposable 0.000s
βœ… Tests.Unit.CleaningPlan.CleaningPlanParentOptionRulesTest Loc active national zone is proposable 0.000s
βœ… Tests.Unit.CleaningPlan.CleaningPlanParentOptionRulesTest Loc disabled national zone is not proposable 0.000s
βœ… Tests.Unit.CleaningPlan.CleaningPlanParentOptionRulesTest Loc national zone refused by this restaurant is not proposable 0.000s
βœ… Tests.Unit.CleaningPlan.CleaningPlanParentOptionRulesTest Loc zone of another restaurant is never proposable 0.000s
βœ… Tests.Unit.CleaningPlan.CleaningPlanParentOptionRulesTest Loc restaurant without family only sees its own 0.000s
βœ… Tests.Unit.CleaningPlan.CleaningPlanParentOptionRulesTest Nat active national zone is proposable 0.000s
βœ… Tests.Unit.CleaningPlan.CleaningPlanParentOptionRulesTest Nat disabled national zone is not proposable 0.000s
βœ… Tests.Unit.CleaningPlan.CleaningPlanParentOptionRulesTest Nat local zone of an establishment is not proposable 0.000s
βœ… Tests.Unit.CleaningPlan.CleaningPlanParentOptionRulesTest Nat zone of another family is not proposable 0.000s
βœ… Tests.Unit.CleaningPlan.CleaningPlanParentOptionRulesTest Zone without parent is in inactive branch only if itself disabled 0.000s
βœ… Tests.Unit.CleaningPlan.CleaningPlanParentOptionRulesTest Active zone under disabled parent is in inactive branch 0.000s
βœ… Tests.Unit.CleaningPlan.CleaningPlanParentOptionRulesTest Inactive ancestor is detected at any depth 0.000s
βœ… Tests.Unit.CleaningPlan.CleaningPlanParentOptionRulesTest Fully active chain is not in inactive branch 0.000s
βœ… Tests.Unit.CleaningPlan.CleaningPlanTaskGenerationPureLogicTest Always expected valid until without expiration uses year 3000 0.003s
βœ… Tests.Unit.CleaningPlan.CleaningPlanTaskGenerationPureLogicTest Always expected valid until with expiration adds days from valid from 0.000s
βœ… Tests.Unit.CleaningPlan.CleaningPlanTaskGenerationPureLogicTest Always expected valid until when valid from null uses fallback now 0.000s
βœ… Tests.Unit.CleaningPlan.CleaningPlanTaskGenerationPureLogicTest Valid from copy is not mutated when computing expected until 0.000s
βœ… Tests.Unit.CleaningPlan.CleaningPlanTaskGenerationPureLogicTest Day skip when closed and week closure covers task slot 0.000s
βœ… Tests.Unit.CleaningPlan.CleaningPlanTaskGenerationPureLogicTest Day not skipped when restaurant marked open 0.000s
βœ… Tests.Unit.CleaningPlan.CleaningPlanTaskGenerationPureLogicTest Frequency loop indices match service loop 0.000s
βœ… Tests.Unit.CleaningPlan.CleaningPlanTaskGenerationPureLogicTest Frequency one does not require index number in query 0.000s
βœ… Tests.Unit.CleaningPlan.CleaningPlanTaskGenerationPureLogicTest Frequency greater than one requires index per iteration 0.000s
βœ… Tests.Unit.CleaningPlan.CleaningPlanTaskGenerationPureLogicTest Always branch should create new row when expected until already passed 0.000s
βœ… Tests.Unit.CleaningPlan.CleaningPlanTaskGenerationPureLogicTest Always branch should not create new row when expected until still future 0.000s
βœ… Tests.Unit.CleaningPlan.CleaningPlanTaskGenerationPureLogicTest Idempotence window same calendar day 0.000s
⚠️ Tests.Unit.CleaningPlan.CleaningPlanTaskGeneratorServiceIntegrationTest Nat plan disabled at loc does not generate tasks 0.129s Nat plan disabled at loc does not generate tasksErrorException: fopen(/var/www/octopus-haccp/storage/framework/cache/b1/db/b1dbf705d8c0a6eea597ccac7f49c32c4722d864): Failed to open stream: Permission denied at vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php:265 at v
⚠️ Tests.Unit.CleaningPlan.CleaningPlanTaskGeneratorServiceIntegrationTest Nat action disabled at loc does not generate tasks 0.105s Nat action disabled at loc does not generate tasksErrorException: fopen(/var/www/octopus-haccp/storage/framework/cache/5b/0d/5b0d65c20856e27d1d96d5c47bf363b7c9754eb3): Failed to open stream: Permission denied at vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php:265 at
⚠️ Tests.Unit.CleaningPlan.CleaningPlanTaskGeneratorServiceIntegrationTest Closed restaurant stops generation 0.123s Closed restaurant stops generationErrorException: fopen(/var/www/octopus-haccp/storage/framework/cache/e2/76/e276ebc58d8820f0672d946f96e46245842601af): Failed to open stream: Permission denied at vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php:265 at vendor/laravel/
⚠️ Tests.Unit.CleaningPlan.CleaningPlanTaskGeneratorServiceIntegrationTest Always is idempotent then regenerates when expired path hits 0.101s Always is idempotent then regenerates when expired path hitsErrorException: fopen(/var/www/octopus-haccp/storage/framework/cache/37/99/3799fc518a912a3985407fd5c8e0d80243c7c800): Failed to open stream: Permission denied at vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.
⚠️ Tests.Unit.CleaningPlan.CleaningPlanTaskGeneratorServiceIntegrationTest Frequency increase from one reuses existing task as main 0.100s Frequency increase from one reuses existing task as mainErrorException: fopen(/var/www/octopus-haccp/storage/framework/cache/bb/67/bb67471e1d1b1934b13b603b5d526951f81cee58): Failed to open stream: Permission denied at vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php:
⚠️ Tests.Unit.CleaningPlan.CleaningPlanTaskGeneratorServiceIntegrationTest Frequency generates indexed children linked to first task 0.102s Frequency generates indexed children linked to first taskErrorException: fopen(/var/www/octopus-haccp/storage/framework/cache/2f/df/2fdf1732c23ef48ef25c59d57c3b34c2e7dd1edb): Failed to open stream: Permission denied at vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php
⚠️ Tests.Unit.CleaningPlan.CleaningPlanTaskGeneratorServiceIntegrationTest Only action id generates only target action tasks 0.118s Only action id generates only target action tasksErrorException: fopen(/var/www/octopus-haccp/storage/framework/cache/1c/48/1c48f5479c0514a249ac6671db043b94547b5fe6): Failed to open stream: Permission denied at vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php:265 at
⚠️ Tests.Unit.CleaningPlan.CleaningPlanTaskGeneratorServiceIntegrationTest Always updates valid until without modifying existing valid from 0.104s Always updates valid until without modifying existing valid fromErrorException: fopen(/var/www/octopus-haccp/storage/framework/cache/2d/f2/2df26758653f664810f0002c3b67e5abaf2bf785): Failed to open stream: Permission denied at vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExcepti
⚠️ Tests.Unit.CleaningPlan.CleaningPlanTaskGeneratorServiceIntegrationTest Always friday only with expiration catch up after expiry on saturday 0.103s Always friday only with expiration catch up after expiry on saturdayErrorException: fopen(/var/www/octopus-haccp/storage/framework/cache/24/6c/246c86618f35012a272db419c892b693b9635fed): Failed to open stream: Permission denied at vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExc
⚠️ Tests.Unit.CleaningPlan.CleaningPlanTaskGeneratorServiceIntegrationTest Loc action on nat plan still generates when nat action disabled at loc 0.103s Loc action on nat plan still generates when nat action disabled at locErrorException: fopen(/var/www/octopus-haccp/storage/framework/cache/44/2e/442e795ffb716cbb9333fd7a4891384ee52acbbe): Failed to open stream: Permission denied at vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleE
⚠️ Tests.Unit.CleaningPlan.CleaningPlanTaskGeneratorServiceIntegrationTest Day task not skipped when week closure does not cover full action slot 0.105s Day task not skipped when week closure does not cover full action slotErrorException: fopen(/var/www/octopus-haccp/storage/framework/cache/96/4b/964b570a3ebe18e2b5feeb5502da1180bf498b0b): Failed to open stream: Permission denied at vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleE
⚠️ Tests.Unit.CleaningPlan.CleaningPlanTaskGeneratorServiceIntegrationTest Day task skipped when week closure covers full action slot 0.116s Day task skipped when week closure covers full action slotErrorException: fopen(/var/www/octopus-haccp/storage/framework/cache/b5/14/b514e19f75bafc260c133efb5098d934f993f210): Failed to open stream: Permission denied at vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.ph
⚠️ Tests.Unit.CleaningPlan.CleaningPlanTaskGeneratorServiceIntegrationTest Day task skipped when week closure is full day with same start end hour 0.102s Day task skipped when week closure is full day with same start end hourErrorException: fopen(/var/www/octopus-haccp/storage/framework/cache/1e/eb/1eeb6e122e5d9bbaef0c3f61b779503b8a6e4d73): Failed to open stream: Permission denied at vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/Handle
⚠️ Tests.Unit.CleaningPlan.CleaningPlanTaskGeneratorServiceIntegrationTest Frequency generation is idempotent on same period window 0.104s Frequency generation is idempotent on same period windowErrorException: fopen(/var/www/octopus-haccp/storage/framework/cache/40/a3/40a3079807e2e5ce88635f3523ed3a661d86077c): Failed to open stream: Permission denied at vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php:
⚠️ Tests.Unit.CleaningPlan.CleaningPlanTaskGeneratorServiceIntegrationTest Week task skipped when restaurant closed all week period 0.122s Week task skipped when restaurant closed all week periodErrorException: fopen(/var/www/octopus-haccp/storage/framework/cache/02/83/02834979c1affd070fe01f533737a642ebc6018d): Failed to open stream: No such file or directory at vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExcepti
⚠️ Tests.Unit.CleaningPlan.CleaningPlanTaskGeneratorServiceIntegrationTest Nat parent disabled blocks child nat action generation regression 0.120s Nat parent disabled blocks child nat action generation regressionErrorException: fopen(/var/www/octopus-haccp/storage/framework/cache/52/14/5214cd90be5f171059d08cba52b99efa9f8afa34): Failed to open stream: No such file or directory at vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/Hand
⚠️ Tests.Unit.CleaningPlan.CleaningPlanTaskGeneratorServiceIntegrationTest Nat loc disabled and several generations 0.135s Nat loc disabled and several generationsErrorException: fopen(/var/www/octopus-haccp/storage/framework/cache/fb/5e/fb5ec57b09f5025ab370b99b2439403cac4eb881): Failed to open stream: Permission denied at vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php:265 at vendor/la
βœ… Tests.Unit.CleaningPlan.RestaurantCleaningPlanActionActiveTest Active zero disables family action 0.006s
βœ… Tests.Unit.CleaningPlan.RestaurantCleaningPlanActionActiveTest Active one keeps family action when not disabled list 0.000s
βœ… Tests.Unit.CleaningPlan.RestaurantNatLocCleaningPlanActionTest Loc action active when restaurant id matches and active one 0.001s
βœ… Tests.Unit.CleaningPlan.RestaurantNatLocCleaningPlanActionTest Loc action inactive when active zero 0.000s
βœ… Tests.Unit.CleaningPlan.RestaurantNatLocCleaningPlanActionTest Nat action active when family matches and no disabled list 0.000s
βœ… Tests.Unit.CleaningPlan.RestaurantNatLocCleaningPlanActionTest Nat action inactive when disabled for plan at loc 0.000s
βœ… Tests.Unit.CleaningPlan.RestaurantNatLocCleaningPlanActionTest Nat action still active when sibling action disabled on same plan 0.000s
βœ… Tests.Unit.CleaningPlan.RestaurantNatLocCleaningPlanActionTest Nat action inactive when national row inactive without effective override 0.000s
βœ… Tests.Unit.CleaningPlan.RestaurantNatLocCleaningPlanActionTest Nat action inactive when active zero even if base active one 0.000s
βœ… Tests.Unit.CleaningPlan.RestaurantNatLocCleaningPlanActionTest Nat action false when family mismatch 0.000s
βœ… Tests.Unit.CleaningPlan.RestaurantNatLocCleaningPlanActionTest Loc action uses effective not only base active for restaurant row 0.000s
βœ… Tests.Unit.CleaningPlan.RestaurantNatLocCleaningPlanActionTest Loc action on nat plan evaluated as restaurant row 0.000s
βœ… Tests.Unit.CleaningPlan.RestaurantNatLocCleaningPlanActionTest Nat disabled list ignored for pure loc action same restaurant id 0.000s
βœ… Tests.Unit.Common.ExportDispatchResponseTest History page is safe 0.003s
βœ… Tests.Unit.Common.ExportDispatchResponseTest Download url is unsafe 0.000s
βœ… Tests.Unit.Common.ExportDispatchResponseTest Export xls trigger url is unsafe 0.000s
βœ… Tests.Unit.Common.ExportDispatchResponseTest Cooking temperature xls trigger url is unsafe 0.000s
βœ… Tests.Unit.Common.ExportDispatchResponseTest Pdf export trigger url is unsafe 0.000s
βœ… Tests.Unit.Common.ExportDispatchResponseTest Foreign host is unsafe 0.000s
βœ… Tests.Unit.Common.ExportDispatchResponseTest Empty and null are unsafe 0.000s
βœ… Tests.Unit.Common.ExportDispatchResponseTest In app browser exit urls are unsafe 0.000s
βœ… Tests.Unit.Common.ExportToSpreadsheetActionTest Writes rows to file 0.027s
βœ… Tests.Unit.Common.ExportToSpreadsheetActionTest Writes a file when there are no rows 0.003s
βœ… Tests.Unit.Common.ReadSpreadsheetActionTest Reads rows keyed by header 0.015s
βœ… Tests.Unit.Export.AuditRecordExportTest No action plan returns two dashes 0.005s
βœ… Tests.Unit.Export.AuditRecordExportTest Action plan returns description then status 0.001s
βœ… Tests.Unit.Export.AuditRecordExportTest Action plan with null description falls back to dash 0.000s
βœ… Tests.Unit.Export.AuditRecordExportTest Action plan with null status falls back to dash 0.000s
βœ… Tests.Unit.Export.AuditRecordExportTest Action plan without description nor status 0.000s
βœ… Tests.Unit.Http.Middleware.CorsMiddlewareTest Reflects localhost 5200 on sync tablet for hot reload 0.006s
βœ… Tests.Unit.Http.Middleware.CorsMiddlewareTest Allows hot reload origin on any path outside production 0.000s
βœ… Tests.Unit.Http.Middleware.CorsMiddlewareTest Blocks hot reload origin in production 0.000s
βœ… Tests.Unit.Http.Middleware.CorsMiddlewareTest Allows options preflight from localhost 5200 on sync tablet 0.000s
βœ… Tests.Unit.Http.Middleware.CorsMiddlewareTest Allows https localhost without port on any path in production 0.000s
βœ… Tests.Unit.Http.Middleware.CorsMiddlewareTest Allows 127 0 0 1 with port on sync paths 0.000s
βœ… Tests.Unit.Http.Middleware.CorsMiddlewareTest Does not reflect untrusted origin on sync tablet 0.000s
βœ… Tests.Unit.Loggers.AlertOptimizationReportServiceTest countAlertsGroupedByLogger groups sent SMS-triggering alerts by logger, across restaurants 10.620s
βœ… Tests.Unit.Loggers.AlertOptimizationReportServiceTest generate identifies only the logger above the threshold and reaches a conclusion for it 10.470s
βœ… Tests.Unit.Loggers.AlertOptimizationReportServiceTest generate excludes CIRL restaurants by default and includes them with withCirl 10.200s
βœ… Tests.Unit.Loggers.AlertOptimizationReportServiceTest generate includes a logger below the alert threshold when SMS volume exceeds it 10.021s
βœ… Tests.Unit.Loggers.AlertOptimizationReportServiceTest diagnoseLogger sets peakAlertDay to the day with the most alerts 11.259s
βœ… Tests.Unit.Loggers.AlertOptimizationReportServiceTest diagnoseLogger sets peakAlertDay to the earliest day when two days tie 11.819s
βœ… Tests.Unit.Loggers.AlertOptimizationReportServiceTest diagnoseLogger ignores alert_sent=false events when computing peakAlertDay 9.949s
βœ… Tests.Unit.Loggers.AlertOptimizationReportServiceTest generate excludes a logger below the alert threshold when events have no SMS recipient 9.417s
βœ… Tests.Unit.Loggers.ContactsSnapshotBuilderTest snapshot marks all channels active with empty skipped_reason 10.194s
βœ… Tests.Unit.Loggers.ContactsSnapshotBuilderTest snapshot marks contact in closed dates with skipped_reason closed_dates 9.111s
βœ… Tests.Unit.Loggers.ContactsSnapshotBuilderTest snapshot marks inactive channels and nc alerts with distinct skipped_reason 8.673s
βœ… Tests.Unit.Loggers.DiagnosisSummaryFormatterTest isAdjustable is true only for A/B/C/F 0.002s
βœ… Tests.Unit.Loggers.DiagnosisSummaryFormatterTest formatAction for C omits the justification stat and only states the reduction 0.000s
βœ… Tests.Unit.Loggers.DiagnosisSummaryFormatterTest formatAction for B omits the readings-coverage justification stat 0.000s
βœ… Tests.Unit.Loggers.DiagnosisSummaryFormatterTest formatAction for F omits the historical-coverage stat 0.000s
βœ… Tests.Unit.Loggers.DiagnosisSummaryFormatterTest formatAction for F appends the restaurant timezone when provided 0.000s
βœ… Tests.Unit.Loggers.DiagnosisSummaryFormatterTest formatActionLines for A lists both temperature steps when present 0.000s
βœ… Tests.Unit.Loggers.DiagnosisSummaryFormatterTest formatActionLines for C lists both duration steps when present 0.000s
βœ… Tests.Unit.Loggers.DiagnosisSummaryFormatterTest format includes the shared header for adjustable categories, formatAction does not 0.001s
βœ… Tests.Unit.Loggers.DiagnosisSummaryFormatterTest format for non-adjustable categories is unchanged and self-contained 0.000s
βœ… Tests.Unit.Loggers.DizzyBackToNormalFutureLogTest dizzy_back_to_normal (standalone) chart still includes a resolving log timestamped after "now" 8.532s
βœ… Tests.Unit.Loggers.DizzyChartPeriodBuilderTest dizzy chart periods pair started and ended within day 0.001s
βœ… Tests.Unit.Loggers.DizzyChartPeriodBuilderTest dizzy chart periods continue open dizzy until end of day 0.000s
βœ… Tests.Unit.Loggers.DizzyChartPeriodBuilderTest dizzy chart periods inherit dizzy state from before day start 0.000s
βœ… Tests.Unit.Loggers.DizzyChartPeriodBuilderTest dizzy chart periods format overlays in the day timezone 0.000s
βœ… Tests.Unit.Loggers.DizzyEndedTempOngoingSuppressionTest temp_ongoing dizzy_ended is suppressed when already notified since the active issue started 8.821s
βœ… Tests.Unit.Loggers.DizzyEndedTempOngoingSuppressionTest temp_ongoing dizzy_ended is sent when no notification has fired since the active issue started 9.587s
βœ… Tests.Unit.Loggers.DizzyEndedTempOngoingSuppressionTest temp_ongoing dizzy_ended stays suppressed across repeated flaps even when no temperature_issue event was ever recorded 10.559s
βœ… Tests.Unit.Loggers.DizzyTemperatureIssueMailCopyTest period expected points cover dizzy started to now not a near-zero duration 0.045s
βœ… Tests.Unit.Loggers.DizzyTemperatureIssueMailCopyTest dizzy issue mail context uses reception-period counts since dizzy started 0.055s
βœ… Tests.Unit.Loggers.DizzyTemperatureIssueMailCopyTest dizzy temperature issue mail keeps period ratio on first sentence and window on temperatures 0.046s
βœ… Tests.Unit.Loggers.DizzyTemperatureIssueMailTest chart svg renders a polyline for multiple temperature points 0.047s
βœ… Tests.Unit.Loggers.DizzyTemperatureIssueMailTest chart svg is empty with fewer than two points 0.043s
βœ… Tests.Unit.Loggers.DizzyTemperatureIssueMailTest mail context builder exposes dizzy period stats 0.047s
βœ… Tests.Unit.Loggers.DizzyTemperatureIssueMailTest mail context builder exposes compliant since for back to normal 0.057s
βœ… Tests.Unit.Loggers.DizzyTemperatureIssueMailTest mail context builder uses window scope for dizzy back to normal with started 0.056s
βœ… Tests.Unit.Loggers.DizzyTemperatureIssueMailTest dizzy mail stats include ignored logs in window scope 0.057s
βœ… Tests.Unit.Loggers.DizzyTemperatureIssueMailTest dizzy temperature issue chart uses logs since dizzy started while stats stay on window 0.047s
βœ… Tests.Unit.Loggers.DizzyTemperatureIssueMailTest mail context builder exposes dizzy ended period recap 0.043s
βœ… Tests.Unit.Loggers.DizzyTemperatureIssueMailTest dizzy ended stats include ignored logs like the chart 0.054s
βœ… Tests.Unit.Loggers.DizzyTemperatureIssueMailTest dizzy ended temp resolved exposes compliant since from reference log 0.043s
βœ… Tests.Unit.Loggers.DizzyTemperatureIssueMailTest dizzy ended temp appeared does not expose compliant since 0.045s
βœ… Tests.Unit.Loggers.DizzyTemperatureIssueMailTest dizzy ended period start uses dizzy started when older than sliding window 0.049s
βœ… Tests.Unit.Loggers.DizzyTemperatureIssueMailTest dizzy ended temp appeared exposes anomaly started at from reference log 0.043s
βœ… Tests.Unit.Loggers.DizzyTemperatureIssueMailTest dizzy ended period start uses sliding window when dizzy started is more recent 0.042s
βœ… Tests.Unit.Loggers.DizzyTemperatureIssueMailTest dizzy ended mail context uses recap ended_at instead of now for stats and chart 0.041s
βœ… Tests.Unit.Loggers.DizzyTemperatureIssueRepeatSuppressionTest dizzy_temperature_issue is not re-sent on a repeat flap while an alert is already active 9.589s
βœ… Tests.Unit.Loggers.DizzyTemperatureIssueRepeatSuppressionTest dizzy_temperature_issue is sent when no alert is currently active and a 2nd reading already confirms it 11.119s
βœ… Tests.Unit.Loggers.DizzyTemperatureIssueRepeatSuppressionTest dizzy_temperature_issue is deferred when only one reading has been received 10.111s
βœ… Tests.Unit.Loggers.DizzyTemperatureIssueRepeatSuppressionTest a deferred dizzy_temperature_issue is sent once a second reading confirms it 9.904s
βœ… Tests.Unit.Loggers.ExclusionWindowOptimizerTest optimize recommends an exclusion window when a recurring daily block would be suppressed by it 11.697s
βœ… Tests.Unit.Loggers.ExclusionWindowOptimizerTest optimize returns null when there are too few alerts to find a candidate window 9.392s
βœ… Tests.Unit.Loggers.ExclusionWindowOptimizerTest optimize returns null when the baseline has no episodes to begin with 9.919s
βœ… Tests.Unit.Loggers.FridgeLoggerPdfChartBuilderTest pdf day windows cover each restaurant-local day of the period 0.056s
βœ… Tests.Unit.Loggers.FridgeLoggerPdfChartBuilderTest pdf day window for martinique includes paris 06:00 of that date 0.044s
βœ… Tests.Unit.Loggers.FridgeLoggerRefactorBenchmarkTest Stable ok reports refactored overhead vs legacy 30.762s
βœ… Tests.Unit.Loggers.FridgeLoggerRefactorBenchmarkTest Query profiler classifies sql 9.194s
βœ… Tests.Unit.Loggers.LogAnnotatorTest ignored out-of-range logs keep a physical snapshot without joining the alert streak 0.046s
βœ… Tests.Unit.Loggers.LogAnnotatorTest ignored in-range logs stay at zero counters 0.042s
βœ… Tests.Unit.Loggers.LogAnnotatorTest ignored out-of-range logs do not continue the live alerting streak 0.042s
βœ… Tests.Unit.Loggers.LoggerAlertEventPresenterTest presenter reports logger-level exclusion when contacts would be eligible 0.044s
βœ… Tests.Unit.Loggers.LoggerAlertEventPresenterTest presenter reports all-contacts exclusion when every channel is excluded 0.043s
βœ… Tests.Unit.Loggers.LoggerAlertEventPresenterTest presenter reports no active subscribers when contacts are inactive 0.042s
βœ… Tests.Unit.Loggers.LoggerAlertEventPresenterTest presenter filters out contacts without nc alerts subscription 0.041s
βœ… Tests.Unit.Loggers.LoggerAlertEventPresenterTest presenter shows contact name only without email or phone 0.041s
βœ… Tests.Unit.Loggers.LoggerAlertEventPresenterTest presenter labels contact exclusion as exclusion alertes capteurs 0.041s
βœ… Tests.Unit.Loggers.LoggerAlertEventPresenterTest generatesMailOrSms excludes dizzy_started 0.042s
βœ… Tests.Unit.Loggers.LoggerAlertEventPresenterTest generatesMailOrSms excludes dizzy_ended without mail variant 0.042s
βœ… Tests.Unit.Loggers.LoggerAlertEventPresenterTest generatesMailOrSms includes dizzy_ended with mail variant or alert_sent 0.040s
βœ… Tests.Unit.Loggers.LoggerAlertEventPresenterTest generatesMailOrSms includes temperature issue 0.041s
βœ… Tests.Unit.Loggers.LoggerAlertEventPresenterTest presenter labels temperature issue after dizzy ended 0.042s
βœ… Tests.Unit.Loggers.LoggerAlertEventPresenterTest appearsInAlertHistory includes dizzy_started without notification 0.045s
βœ… Tests.Unit.Loggers.LoggerAlertEventPresenterTest appearsInAlertHistory includes dizzy ended without variant 0.040s
βœ… Tests.Unit.Loggers.LoggerAlertEventPresenterTest presenter reports awaiting second reading reason 0.041s
βœ… Tests.Unit.Loggers.LoggerAlertEventPresenterTest countNotifications tallies sent and not sent mail or sms events 0.042s
βœ… Tests.Unit.Loggers.LoggerAlertEventPresenterTest sentAlertsIndexByLogId groups sent contacts by channel 0.043s
βœ… Tests.Unit.Loggers.LoggerAlertEventPresenterTest formatSentAlertLinesForLog shows sms and email lines with contacts 0.041s
βœ… Tests.Unit.Loggers.LoggerAlertEventPresenterTest formatSentAlertLinesForLog shows only sms when email was not sent 0.042s
βœ… Tests.Unit.Loggers.LoggerAlertEventPresenterTest formatSentAlertLinesForLog returns empty when no sent events exist for log 0.042s
βœ… Tests.Unit.Loggers.LoggerChartAlertMarkerBuilderTest chart alert markers use linked log coordinates 0.050s
βœ… Tests.Unit.Loggers.LoggerChartAlertMarkerBuilderTest chart alert markers use timestamp when recorded_at is shifted 0.043s
βœ… Tests.Unit.Loggers.LoggerChartAlertMarkerBuilderTest chart alert markers style back to normal with green checkmark 0.044s
βœ… Tests.Unit.Loggers.LoggerChartAlertMarkerBuilderTest chart alert markers style dizzy ended temp resolved like back to normal 0.043s
βœ… Tests.Unit.Loggers.LoggerChartAlertMarkerBuilderTest chart alert markers style dizzy ended recap as black icon on white 0.042s
βœ… Tests.Unit.Loggers.LoggerChartAlertMarkerBuilderTest chart alert markers skip dizzy ended temp appeared 0.042s
βœ… Tests.Unit.Loggers.LoggerChartAlertMarkerBuilderTest chart alert markers skip events without mail or sms 0.043s
βœ… Tests.Unit.Loggers.LoggerChartAlertMarkerBuilderTest alert marker style uses grey for unsent alerts 0.043s
βœ… Tests.Unit.Loggers.LoggerChartAlertMarkerBuilderTest dizzy ended temp appeared is excluded from chart 0.045s
βœ… Tests.Unit.Loggers.LoggerChartAlertMarkerBuilderTest dizzy ended with prior alerts uses white recap style 0.044s
βœ… Tests.Unit.Loggers.LoggerChartAlertMarkerBuilderTest icon char from class returns utf8 glyph 0.043s
βœ… Tests.Unit.Loggers.LoggerDisplayTimezoneTest date bounds for a martinique day start at local midnight 0.055s
βœ… Tests.Unit.Loggers.LoggerDisplayTimezoneTest day bounds from paris morning timestamp stay on the martinique calendar day 0.048s
βœ… Tests.Unit.Loggers.LoggerDisplayTimezoneTest mysql utc offset for martinique is minus four hours 0.040s
βœ… Tests.Unit.Loggers.LoggerDisplayTimezoneTest sql date for app timezone keeps legacy recorded_at grouping 0.041s
βœ… Tests.Unit.Loggers.LoggerDisplayTimezoneTest sql date for martinique does not use convert_tz 0.040s
βœ… Tests.Unit.Loggers.LoggerDisplayTimezoneTest invalid timezone falls back to app timezone 0.041s
βœ… Tests.Unit.Loggers.LoggerDisplayTimezoneTest formatHi converts a utc carbon to the restaurant clock 0.041s
βœ… Tests.Unit.Loggers.LoggerDisplayTimezoneTest chart axis labels add the date at the start when the window spans two days 0.040s
βœ… Tests.Unit.Loggers.LoggerDisplayTimezoneTest apply to logs sets display timezone used by measurement at 0.039s
βœ… Tests.Unit.Loggers.LoggerDisplayTimezoneTest calendar period bounds keep paris dates identical for europe/paris 0.039s
βœ… Tests.Unit.Loggers.LoggerDisplayTimezoneTest calendar period bounds reinterpret a paris day as martinique midnight 0.040s
βœ… Tests.Unit.Loggers.LoggerExclusionChartPeriodBuilderTest exclusion chart periods ignore contact-level exclusions 0.006s
βœ… Tests.Unit.Loggers.LoggerExclusionChartPeriodBuilderTest exclusion chart periods support full-day date exclusions 0.000s
βœ… Tests.Unit.Loggers.LoggerExclusionChartPeriodBuilderTest exclusion chart periods merge overlapping week ranges 0.000s
βœ… Tests.Unit.Loggers.LoggerReplayCsvOrderTest csv codec keeps chronological measurements within a batch and replay does not reverse them 0.045s
βœ… Tests.Unit.Loggers.LoggerTemperatureChartPngRendererTest png chart is empty with fewer than two points 0.042s
βœ… Tests.Unit.Loggers.LoggerTemperatureChartPngRendererTest png chart renders a valid PNG at the requested size for multiple points 0.049s
βœ… Tests.Unit.Loggers.LoggerTemperatureChartPngRendererTest png chart stroke is dark rather than white 0.054s
βœ… Tests.Unit.Loggers.LoggerTemperatureChartPngRendererTest png chart keeps the last temperature label inside the canvas 0.061s
βœ… Tests.Unit.Loggers.LoggerTemperatureChartPurgerTest purge removes only day directories older than the retention window 0.045s
βœ… Tests.Unit.Loggers.LoggerTemperatureChartPurgerTest purge is a no-op when the directory does not exist 0.041s
βœ… Tests.Unit.Loggers.LoggerTemperatureChartSvgRendererTest svg chart plots timestamp even when recorded_at is two hours earlier 0.042s
βœ… Tests.Unit.Loggers.LoggerTemperatureChartSvgRendererTest fridge logger log chart axis uses timestamp not recorded_at 0.041s
βœ… Tests.Unit.Loggers.LoggerTemperatureChartSvgRendererTest svg chart axis labels use restaurant timezone not utc 0.043s
βœ… Tests.Unit.Loggers.LoggerTemperatureChartSvgRendererTest chart axis uses restaurant timezone when provided 0.041s
βœ… Tests.Unit.Loggers.LoggerWindowStateBackfillerTest skips a logger whose last_log_id is already at or after until 9.077s
βœ… Tests.Unit.Loggers.LoggerWindowStateBackfillerTest processes a logger whose last_log_id is stale relative to until 8.721s
βœ… Tests.Unit.Loggers.LoggerWindowStateBackfillerTest skips a logger already caught up to until when no newer data arrived (re-run with same --until) 8.843s
βœ… Tests.Unit.Loggers.LoggerWindowStateBackfillerTest processes a logger with no prior last_log_id 9.546s
βœ… Tests.Unit.Loggers.LoggerWindowStateBackfillerTest processes a logger with a legacy last_log_id but no last_event yet 8.827s
βœ… Tests.Unit.Loggers.LoggerWindowStateBackfillerTest cutoff relies on the reading timestamp, not created_at 8.975s
βœ… Tests.Unit.Loggers.NoDataAlertCoordinatorTest applyReconnectContext flags pending no data alert 8.888s
βœ… Tests.Unit.Loggers.NoDataAlertCoordinatorTest resolveViaTemperatureReconnect clears flags and records merged resolution event 16.922s
βœ… Tests.Unit.Loggers.ReceptionQualityAnalyzerTest classify returns category D for a clean, regular cadence multiple of 10 min 10.577s
βœ… Tests.Unit.Loggers.ReceptionQualityAnalyzerTest classify returns category E when alerts fire on windows with low data completeness 8.960s
βœ… Tests.Unit.Loggers.ReceptionQualityAnalyzerTest classify returns null for a normal, well-received sensor 10.024s
βœ… Tests.Unit.Loggers.RestaurantIdFilterTest restaurant id filter parses single id 0.002s
βœ… Tests.Unit.Loggers.RestaurantIdFilterTest restaurant id filter parses comma separated ids 0.000s
βœ… Tests.Unit.Loggers.RestaurantIdFilterTest restaurant id filter trims spaces and deduplicates 0.000s
βœ… Tests.Unit.Loggers.RestaurantIdFilterTest restaurant id filter returns null for empty value 0.000s
βœ… Tests.Unit.Loggers.RestaurantIdFilterTest restaurant id filter rejects invalid tokens 0.000s
βœ… Tests.Unit.Loggers.SmsPhoneDeduplicationTest uniqueByNormalizedPhone keeps one contact per distinct phone number 0.054s
βœ… Tests.Unit.Loggers.SmsPhoneDeduplicationTest normalizePhone maps french national formats to e164 0.042s
βœ… Tests.Unit.Loggers.SmsPhoneDeduplicationTest prepareMessage leaves short messages untouched even with degree symbol 0.040s
βœ… Tests.Unit.Loggers.SmsPhoneDeduplicationTest prepareMessage keeps gsm7 french accents like E acute 0.041s
βœ… Tests.Unit.Loggers.SmsPhoneDeduplicationTest prepareMessage only rewrites chars outside gsm7 when longer than 70 0.041s
βœ… Tests.Unit.Loggers.SmsPhoneDeduplicationTest prepareMessage leaves real french donnees with e acute unchanged 0.042s
βœ… Tests.Unit.Loggers.SopalogBrokerIsDateInClosedDatesTest Normal range hour inside returns true 0.003s
βœ… Tests.Unit.Loggers.SopalogBrokerIsDateInClosedDatesTest Normal range hour outside returns false 0.000s
βœ… Tests.Unit.Loggers.SopalogBrokerIsDateInClosedDatesTest Midnight crossing range hour before midnight should return true 0.000s
βœ… Tests.Unit.Loggers.SopalogBrokerIsDateInClosedDatesTest Midnight crossing range hour after midnight should return true 0.000s
βœ… Tests.Unit.Loggers.SopalogBrokerIsDateInClosedDatesTest Midnight crossing range start boundary should return true 0.000s
βœ… Tests.Unit.Loggers.SopalogBrokerIsDateInClosedDatesTest Midnight crossing range end boundary should return true 0.000s
βœ… Tests.Unit.Loggers.SopalogBrokerIsDateInClosedDatesTest Midnight crossing range hour clearly outside returns false 0.000s
βœ… Tests.Unit.Loggers.SopalogBrokerIsDateInClosedDatesTest Midnight crossing range just before start returns false 0.000s
βœ… Tests.Unit.Loggers.SopalogBrokerIsDateInClosedDatesTest Midnight crossing range just after end returns false 0.000s
βœ… Tests.Unit.Loggers.SopalogBrokerIsDateInClosedDatesTest Closed all day when start equals end returns true at any hour 0.000s
βœ… Tests.Unit.Loggers.StableTemperatureMailTest stable mail context builder starts chart fifteen minutes before anomaly 0.051s
βœ… Tests.Unit.Loggers.StableTemperatureMailTest stable alert chart axis extends to now without including later compliant points 0.047s
βœ… Tests.Unit.Loggers.StableTemperatureMailTest stable mail chart stays in viewbox when recorded_at is shifted from timestamp 0.044s
βœ… Tests.Unit.Loggers.StableTemperatureMailTest stable mail context builder exposes compliant since on resolution 0.044s
βœ… Tests.Unit.Loggers.TemperatureIssueContextTest back_to_normal during exclusion resolves a deferred temperature issue 9.586s
βœ… Tests.Unit.Loggers.TemperatureIssueContextTest deferred issue without resolution stays pending 10.241s
βœ… Tests.Unit.Loggers.TemperatureIssueContextTest isTempOngoingAlreadyNotified is true right after a temp_ongoing dizzy_ended was sent 9.577s
βœ… Tests.Unit.Loggers.TemperatureIssueContextTest isTempOngoingAlreadyNotified is false once a resolution happened after the last dizzy_ended 8.988s
βœ… Tests.Unit.Loggers.TemperatureIssueContextTest isTempOngoingAlreadyNotified is false when no dizzy_ended has fired yet 8.940s
βœ… Tests.Unit.Loggers.TemperatureReminderEvaluatorTest reminder is not sent in the same batch as a fresh temperature issue 8.758s
βœ… Tests.Unit.Loggers.TemperatureReminderEvaluatorTest reminder uses the latest issue after context refresh 8.776s
βœ… Tests.Unit.Loggers.TemperatureReminderEvaluatorTest reminder is sent two hours after the active issue 9.578s
βœ… Tests.Unit.Loggers.TemperatureReminderEvaluatorTest pending temperature issue suppressed by dizzy ended is never sent later 8.805s
βœ… Tests.Unit.Loggers.TemperatureWalkerTest walks from previous temperature within the configured delta 0.002s
βœ… Tests.Unit.Loggers.TemperatureWalkerTest starts at the center of the range when there is no previous reading 0.000s
βœ… Tests.Unit.Loggers.TemperatureWalkerTest resets to the center of the range when reset-to-center is drawn 0.000s
βœ… Tests.Unit.Loggers.TemperatureWalkerTest produces an out-of-limits reading when an excursion is drawn 0.000s
βœ… Tests.Unit.Loggers.ThresholdAndDurationOptimizerTest optimize recommends only category A when raising the max threshold alone resolves most alerts 9.160s
βœ… Tests.Unit.Loggers.ThresholdAndDurationOptimizerTest optimize recommends only category B when both thresholds must move to resolve most alerts 9.887s
βœ… Tests.Unit.Loggers.ThresholdAndDurationOptimizerTest optimize recommends only category C when the alerts are short excursions unaffected by threshold changes 9.608s
βœ… Tests.Unit.Loggers.ThresholdAndDurationOptimizerTest optimize surfaces both a threshold option and a duration option when both are independently viable 9.228s
βœ… Tests.Unit.Loggers.ThresholdAndDurationOptimizerTest optimize returns an empty list when there is nothing worth changing 8.125s
βœ… Tests.Unit.Loggers.ThresholdAndDurationOptimizerTest optimize surfaces +1Β°C and +2Β°C when the larger step reduces alerts much more 8.588s
βœ… Tests.Unit.Loggers.ThresholdAndDurationOptimizerTest optimize keeps only +1Β°C when +2Β°C barely improves further 8.730s
βœ… Tests.Unit.Loggers.ThresholdAndDurationOptimizerTest optimize keeps only +2Β°C when +1Β°C does not reduce alerts enough 8.512s
βœ… Tests.Unit.Loggers.ThresholdAndDurationOptimizerTest optimize surfaces +10 min and +20 min when the larger step reduces alerts much more 8.578s
βœ… Tests.Unit.Loggers.ThresholdAndDurationOptimizerTest optimize keeps only +10 min when +20 min barely improves further 8.531s
βœ… Tests.Unit.Loggers.TimeClusteringAnalyzerTest findBestWindow finds a <=4h window covering more than 80% of the alerts 8.640s
βœ… Tests.Unit.Loggers.TimeClusteringAnalyzerTest findBestWindow handles a window wrapping past midnight 8.303s
βœ… Tests.Unit.Loggers.TimeClusteringAnalyzerTest findBestWindow returns a low-coverage window when alerts are spread evenly across the day 8.177s
βœ… Tests.Unit.Loggers.TimeClusteringAnalyzerTest findBestWindow returns null when there are too few alerts to be meaningful 8.494s
βœ… Tests.Unit.Loggers.WindowStateReplaySimulatorTest analyzeWindow matches TemperatureWindowAnalyzer::analyze() for the same logs and config 8.948s
βœ… Tests.Unit.Loggers.WindowStateReplaySimulatorTest countIssueEpisodes counts one episode per sustained out-of-limits block 8.241s
βœ… Tests.Unit.Loggers.WindowStateReplaySimulatorTest countIssueEpisodes counts a fresh episode after a full recovery in between 8.310s
βœ… Tests.Unit.Loggers.WindowStateReplaySimulatorTest countIssueEpisodes returns 0 when nothing ever leaves the stable_ok state 8.037s
βœ… Tests.Unit.Mail.MailPitTagsTest adds X-Tags header when mailpit_tags is configured 0.042s
βœ… Tests.Unit.Mail.MailPitTagsTest does nothing when mailpit_tags is empty 0.038s
βœ… Tests.Unit.Mail.MailPitTagsTest does not overwrite an existing X-Tags header 0.038s
βœ… Tests.Unit.Mail.MailSimulatedTimestampTest sets mail date header from carbon test now 0.041s
βœ… Tests.Unit.Mail.MailSimulatedTimestampTest does nothing when carbon test now is not set 0.040s
βœ… Tests.Unit.Mail.MailSimulatedTimestampTest can prefix subject when LOGGER_MAIL_SUBJECT_SIMULATED_TIME is enabled 0.042s
βœ… Tests.Unit.NotationServiceRegressionTest Check percent ne declenche pas d alerte quand total est zero 0.001s
βœ… Tests.Unit.NotationServiceRegressionTest Check module data type number ne declenche pas d alerte quand periode fermee 0.001s
βœ… Tests.Unit.NotationServiceRegressionTest Check module data type number alerte quand restaurant ouvert et total zero 0.000s
βœ… Tests.Unit.NotationServiceRegressionTest Client check module data type number ne declenche pas d alerte quand periode fermee 0.002s
βœ… Tests.Unit.NotationServiceRegressionTest Client check module data type number alerte quand restaurant ouvert et total zero 0.000s
βœ… Tests.Unit.NotationServiceTest Check min records for period returns no alert when restaurant closed all period 0.002s
βœ… Tests.Unit.NotationServiceTest Check percent returns no alert when precomputed percent is dash 0.000s
βœ… Tests.Unit.OnboardingNotificationServiceTest First day uses one hour delay 0.001s
βœ… Tests.Unit.OnboardingNotificationServiceTest Between day one and day three uses two hour delay 0.000s
βœ… Tests.Unit.OnboardingNotificationServiceTest After day three uses six hour delay 0.000s
βœ… Tests.Unit.Restaurant.RestaurantIsClosedAllPeriodTest Period closure covers full week range returns true 0.001s
βœ… Tests.Unit.Restaurant.RestaurantIsClosedAllPeriodTest Week all day closure every weekday in range returns true 0.000s
βœ… Tests.Unit.Restaurant.RestaurantIsClosedAllPeriodTest Week closure only weekends range has open weekday returns false 0.000s
βœ… Tests.Unit.Restaurant.RestaurantIsClosedAllPeriodTest Single date closure on same day returns true 0.000s
βœ… Tests.Unit.Restaurant.RestaurantIsClosedAllPeriodTest No closures returns false 0.000s
βœ… Tests.Unit.Restaurant.RestaurantIsOpenAtMidnightClosureTest Normal range hour inside restaurant is closed 0.001s
βœ… Tests.Unit.Restaurant.RestaurantIsOpenAtMidnightClosureTest Normal range hour outside restaurant is open 0.000s
βœ… Tests.Unit.Restaurant.RestaurantIsOpenAtMidnightClosureTest Midnight crossing range hour before midnight should be closed 0.000s
βœ… Tests.Unit.Restaurant.RestaurantIsOpenAtMidnightClosureTest Midnight crossing range hour after midnight should be closed 0.000s
βœ… Tests.Unit.Restaurant.RestaurantIsOpenAtMidnightClosureTest Midnight crossing range start boundary should be closed 0.000s
βœ… Tests.Unit.Restaurant.RestaurantIsOpenAtMidnightClosureTest Midnight crossing range end boundary should be closed 0.000s
βœ… Tests.Unit.Restaurant.RestaurantIsOpenAtMidnightClosureTest Midnight crossing range hour clearly outside stays open 0.000s
βœ… Tests.Unit.Restaurant.RestaurantIsOpenAtMidnightClosureTest Midnight crossing range just before start stays open 0.000s
βœ… Tests.Unit.Restaurant.RestaurantIsOpenAtMidnightClosureTest Midnight crossing range just after end stays open 0.000s
βœ… Tests.Unit.Restaurant.RestaurantIsOpenAtMidnightClosureTest Closed all day when start equals end stays closed at any hour 0.000s
βœ… Tests.Unit.Routing.ModuleCsrfCoverageTest Every module write route served by session is covered by csrf 0.054s
βœ… Tests.Unit.Routing.ModuleCsrfCoverageTest The module csrf verifier has no exemption 0.043s
βœ… Tests.Unit.Support.MailAddressListTest Flatten keeps plain email strings 0.002s
βœ… Tests.Unit.Support.MailAddressListTest Flatten unwraps nested list appended as a single cc item 0.000s
βœ… Tests.Unit.Support.MailAddressListTest Flatten drops empty nested list that laravel turns into stdclass 0.000s
βœ… Tests.Unit.Support.MailAddressListTest Flatten accepts address key used by laravel normalized recipients 0.000s
βœ… Tests.Unit.Support.MailAddressListTest Flatten drops null and blank values 0.000s
βœ… Tests.Unit.Support.MailAddressListTest Flatten wraps a single recipient string 0.000s
βœ… Tests.Unit.Support.MailAddressListTest Flatten treats associative email map as one recipient 0.000s
βœ… Tests.Unit.Support.MailAddressListTest Flatten extracts email from a list of maps 0.000s
βœ… Tests.Unit.Support.MailAddressListTest Flatten handles json decoded scheduled job cc payload 0.000s
βœ… Tests.Unit.Support.MailAddressListTest Flatten handles json decoded empty nested cc list 0.000s
βœ… App.Modules.Academy.Tests.AcademyModuleFeatureTest Backoffice pages are reachable 0.129s
βœ… App.Modules.Academy.Tests.AcademyModuleFeatureTest Can update dynamic areas and section fields 0.077s
βœ… App.Modules.Academy.Tests.AcademyModuleFeatureTest Rich text validates plain text length not html length 0.061s
βœ… App.Modules.Academy.Tests.AcademyModuleFeatureTest Content title validates max string length 0.055s
βœ… App.Modules.Academy.Tests.AcademyModuleFeatureTest Home sections title validates max string length 0.055s
βœ… App.Modules.Academy.Tests.AcademyModuleFeatureTest Related article title validates max string length on content store 0.073s
βœ… App.Modules.Academy.Tests.AcademyModuleFeatureTest Content title validates max string length on content store 0.056s
βœ… App.Modules.Academy.Tests.AcademyModuleFeatureTest Front renders rich text html unescaped 0.128s
βœ… App.Modules.Academy.Tests.AcademyModuleFeatureTest Can search existing tags for backoffice autocomplete 0.053s
βœ… App.Modules.Academy.Tests.AcademyModuleFeatureTest Video content draft then publish then toggle from list then delete 0.075s
βœ… App.Modules.Academy.Tests.AcademyModuleFeatureTest Document flow with thematics and front visibility 0.079s
βœ… App.Modules.Academy.Tests.AcademyModuleFeatureTest Front home section and content pages are reachable 0.140s
βœ… App.Modules.Academy.Tests.AcademyModuleFeatureTest Front content detail displays related articles before similar contents 0.118s
βœ… App.Modules.Academy.Tests.AcademyModuleFeatureTest Front content detail shows similar contents ordered by shared tags without thematics 0.125s
βœ… App.Modules.Academy.Tests.AcademyModuleFeatureTest Front content detail fills similar contents with section peers without shared tags 0.117s
βœ… App.Modules.Academy.Tests.AcademyModuleFeatureTest Front content detail prioritizes same thematic before other similar contents 0.127s
βœ… App.Modules.Academy.Tests.AcademyModuleFeatureTest Front shows only active and published contents and blocks others 0.141s
βœ… App.Modules.Academy.Tests.AcademyModuleFeatureTest Front returns 404 for unknown section or unknown content 0.122s
βœ… App.Modules.Academy.Tests.AcademyModuleFeatureTest Front section without thematics is still reachable without thematic filter bar 0.116s
βœ… App.Modules.Academy.Tests.AcademyModuleFeatureTest Front section search and thematic filters apply across pagination 0.153s
βœ… App.Modules.Academy.Tests.AcademyModuleFeatureTest Front section search matches content tags 0.125s
βœ… App.Modules.Academy.Tests.AcademyModuleFeatureTest Front uses default thumbnail logo when content thumbnail is missing 0.117s
βœ… App.Modules.Academy.Tests.AcademyModuleFeatureTest Front home does not render sections without slug 0.113s
βœ… App.Modules.Academy.Tests.AcademyModuleFeatureTest Youtube url formats are supported on front 0.132s
βœ… App.Modules.Academy.Tests.AcademyModuleFeatureTest Front access is forbidden when restaurant has no academy access 0.111s
βœ… App.Modules.Academy.Tests.AcademyModuleFeatureTest Courses can be created and are visible on front section when upcoming and published 0.117s
βœ… App.Modules.Academy.Tests.AcademyModuleFeatureTest Backoffice courses list orders drafts first then published by ascending date 0.062s
βœ… App.Modules.Academy.Tests.AcademyModuleFeatureTest Courses draft cannot be activated publish and activate endpoint publishes 0.058s
βœ… App.Modules.Academy.Tests.AcademyRichTextTest Plain text length ignores html tags 0.008s
βœ… App.Modules.Academy.Tests.AcademyRichTextTest Plain text length collapses whitespace 0.000s
βœ… App.Modules.Academy.Tests.AcademyRichTextTest Exceeds max plain text length 0.000s
βœ… App.Modules.Academy.Tests.AcademyRichTextTest Html longer than column limit passes when plain text within limit 0.000s
βœ… App.Modules.Alert.Tests.AlertServiceTest Update audit alerts writes client and cascades to contacts 0.003s
βœ… App.Modules.Alert.Tests.AlertServiceTest Update audit alerts can disable 0.000s
βœ… App.Modules.Alert.Tests.EloquentAlertRepositoryTest It never deletes the multisite report contact even when it is not in the kept restaurant ids 8.171s
βœ… App.Modules.Alert.Tests.EloquentAlertRepositoryTest Find or create global contact reuses the existing restaurant id zero contact 8.293s
βœ… App.Modules.Alert.Tests.EloquentAlertRepositoryTest Find or create global contact does not duplicate on repeated calls 8.416s
βœ… App.Modules.Alert.Tests.GetAccessRestaurantsPreloadingTest Preloaded main client restaurants are reused without re querying 0.010s
βœ… App.Modules.Alert.Tests.GetAccessRestaurantsPreloadingTest Preloaded main client restaurants preserve access filtering 0.001s
βœ… App.Modules.Alert.Tests.NcSettingsDisplayDataTest Critical fridges are loaded once for all contacts 0.023s
βœ… App.Modules.Auth.Tests.AuthGuardTest From entity returns admin for admin model 0.045s
βœ… App.Modules.Auth.Tests.AuthGuardTest From entity returns client for client model 0.040s
βœ… App.Modules.Auth.Tests.AuthGuardTest From entity returns web for restaurant model 0.040s
βœ… App.Modules.Auth.Tests.AuthGuardTest From entity returns central for restaurant central model 0.041s
βœ… App.Modules.Auth.Tests.AuthGuardTest From userable type maps all known types 0.042s
βœ… App.Modules.Auth.Tests.AuthGuardTest From userable type throws for unknown type 0.042s
βœ… App.Modules.Auth.Tests.AuthGuardTest From domain returns admin for superpoulpe domain 0.042s
βœ… App.Modules.Auth.Tests.AuthGuardTest From domain returns client for clients domain 0.041s
βœ… App.Modules.Auth.Tests.AuthGuardTest From domain returns web for app domain 0.043s
βœ… App.Modules.Auth.Tests.AuthGuardTest From domain returns null for unknown domain 0.044s
βœ… App.Modules.Auth.Tests.AuthGuardTest From request returns central for app domain with central prefix 0.040s
βœ… App.Modules.Auth.Tests.AuthGuardTest From request returns web for app domain without central prefix 0.041s
βœ… App.Modules.Auth.Tests.AuthGuardTest From request returns null for unknown domain 0.042s
βœ… App.Modules.Auth.Tests.AuthGuardTest Get redirect route name returns expected routes 0.041s
βœ… App.Modules.Auth.Tests.AuthGuardTest Model returns correct model class for each guard 0.042s
βœ… App.Modules.Auth.Tests.AuthGuardTest Get impersonation entry route name returns null for admin 0.042s
βœ… App.Modules.Auth.Tests.AuthGuardTest Get impersonation entry route name returns route for impersonable guards 0.041s
βœ… App.Modules.Auth.Tests.AuthServiceTest Authenticate returns null when no users match login 0.118s
βœ… App.Modules.Auth.Tests.AuthServiceTest Authenticate throws inactive when user is inactive 0.095s
βœ… App.Modules.Auth.Tests.AuthServiceTest Authenticate throws inactive when entity is inactive 0.099s
βœ… App.Modules.Auth.Tests.AuthServiceTest Authenticate throws use credentials disabled when sso only 0.105s
βœ… App.Modules.Auth.Tests.AuthServiceTest Authenticate throws password expired when highly secured and expired 0.098s
βœ… App.Modules.Auth.Tests.AuthServiceTest Authenticate does not throw when highly secured password is valid 0.098s
βœ… App.Modules.Auth.Tests.AuthServiceTest Authenticate does not check expiry when not highly secured 0.098s
βœ… App.Modules.Auth.Tests.AuthServiceTest Authenticate skips expiry check when no client 0.097s
βœ… App.Modules.Auth.Tests.AuthServiceTest Authenticate throws password expired for client entity 0.046s
βœ… App.Modules.Auth.Tests.ConsumeRestaurantTempPasswordActionTest Returns false when no temp password set 0.048s
βœ… App.Modules.Auth.Tests.ConsumeRestaurantTempPasswordActionTest Returns false when password does not match 0.044s
βœ… App.Modules.Auth.Tests.ConsumeRestaurantTempPasswordActionTest Returns false when expired 0.056s
βœ… App.Modules.Auth.Tests.ConsumeRestaurantTempPasswordActionTest Returns false when no expiry set 0.046s
βœ… App.Modules.Auth.Tests.ConsumeRestaurantTempPasswordActionTest Consumes and returns true when valid 0.056s
βœ… App.Modules.Auth.Tests.ImpersonationServiceTest Consume token returns false when token does not match 0.049s
βœ… App.Modules.Auth.Tests.ImpersonationServiceTest Consume token returns false when token is expired 0.046s
βœ… App.Modules.Auth.Tests.ImpersonationServiceTest Consume token returns true and clears token when valid 0.045s
βœ… App.Modules.Auth.Tests.ImpersonationServiceTest Consume token accepts token exactly at ttl boundary 0.045s
βœ… App.Modules.Auth.Tests.ImpersonationServiceTest Is impersonating returns false when no session 0.042s
βœ… App.Modules.Auth.Tests.ImpersonationServiceTest Start impersonation pushes layer to stack 0.043s
βœ… App.Modules.Auth.Tests.ImpersonationServiceTest Start impersonation supports multi level stack 0.042s
βœ… App.Modules.Auth.Tests.ImpersonationServiceTest Start impersonation with parent stack uses parent as base 0.042s
βœ… App.Modules.Auth.Tests.ImpersonationServiceTest Current layer returns null when not impersonating 0.043s
βœ… App.Modules.Auth.Tests.ImpersonationServiceTest Leave pops top layer and returns return url 0.042s
βœ… App.Modules.Auth.Tests.ImpersonationServiceTest Leave clears legacy session keys 0.041s
βœ… App.Modules.Auth.Tests.ImpersonationServiceTest Leave in multi level stack keeps remaining layers 0.041s
βœ… App.Modules.Auth.Tests.ImpersonationServiceTest Leave without stack falls back to app login route 0.042s
βœ… App.Modules.Auth.Tests.LoginAfterPasswordResetActionTest Client constraints use client type and own id 0.046s
βœ… App.Modules.Auth.Tests.LoginAfterPasswordResetActionTest Client manager constraints use parent id not subclient id 0.040s
βœ… App.Modules.Auth.Tests.LoginAfterPasswordResetActionTest Client and restaurant with same numeric id have distinct types 0.041s
βœ… App.Modules.Auth.Tests.LoginAfterPasswordResetActionTest Restaurant constraints exclude admin role 0.040s
βœ… App.Modules.Auth.Tests.LoginAfterPasswordResetActionTest Central constraints match username as email 0.042s
βœ… App.Modules.Auth.Tests.LoginAfterPasswordResetActionTest Constraints for unknown entity throws 0.041s
βœ… App.Modules.Auth.Tests.LoginAfterPasswordResetActionTest Execute falls back to app login when no user found 0.042s
βœ… App.Modules.Auth.Tests.LoginAfterPasswordResetActionTest Execute logs in resolved user and returns auth redirect 0.043s
βœ… App.Modules.Auth.Tests.LoginAfterPasswordResetActionTest Execute never calls login with a raw entity 0.044s
βœ… App.Modules.Auth.Tests.MobileAuthServiceTest Authenticate throws invalid when login token not found 0.046s
βœ… App.Modules.Auth.Tests.MobileAuthServiceTest Authenticate via password returns restaurant when credentials match 0.043s
βœ… App.Modules.Auth.Tests.MobileAuthServiceTest Authenticate throws invalid when all credential paths fail 0.043s
βœ… App.Modules.Auth.Tests.MobileAuthServiceTest Authenticate via temp password succeeds when not expired 0.048s
βœ… App.Modules.Auth.Tests.MobileAuthServiceTest Authenticate via temp password throws invalid when expired 0.045s
βœ… App.Modules.Auth.Tests.MobileAuthServiceTest Authenticate throws inactive when restaurant is inactive 0.044s
βœ… App.Modules.Auth.Tests.MobileAuthServiceTest Authenticate throws password expired when highly secured and expired 0.043s
βœ… App.Modules.Auth.Tests.MobileAuthServiceTest Authenticate succeeds without client 0.044s
βœ… App.Modules.Auth.Tests.MobileAuthServiceTest Authenticate succeeds with non highly secured client 0.044s
βœ… App.Modules.Auth.Tests.PasswordExpirationServiceTest Client not highly secured returns not highly secured 0.046s
βœ… App.Modules.Auth.Tests.PasswordExpirationServiceTest Client never changed password returns expired 0.041s
βœ… App.Modules.Auth.Tests.PasswordExpirationServiceTest Client changed recently returns valid 0.041s
βœ… App.Modules.Auth.Tests.PasswordExpirationServiceTest Client within 7 days of expiry returns expiring soon 0.042s
βœ… App.Modules.Auth.Tests.PasswordExpirationServiceTest Client past 180 days returns expired 0.043s
βœ… App.Modules.Auth.Tests.PasswordExpirationServiceTest Restaurant with no client returns not highly secured 0.044s
βœ… App.Modules.Auth.Tests.PasswordExpirationServiceTest Restaurant client not highly secured returns not highly secured 0.044s
βœ… App.Modules.Auth.Tests.PasswordExpirationServiceTest Restaurant never changed password returns expired 0.043s
βœ… App.Modules.Auth.Tests.PasswordExpirationServiceTest Restaurant changed recently returns valid 0.044s
βœ… App.Modules.Auth.Tests.PasswordExpirationServiceTest Restaurant within 7 days of expiry returns expiring soon 0.043s
βœ… App.Modules.Auth.Tests.PasswordExpirationServiceTest Restaurant past 180 days returns expired 0.045s
βœ… App.Modules.Auth.Tests.PasswordExpirationServiceTest Restaurant tablet out of sync returns password change required 0.051s
βœ… App.Modules.Auth.Tests.PasswordExpirationServiceTest Restaurant tablet with null last sync skips password change check 0.044s
βœ… App.Modules.Auth.Tests.RestaurantAdminAuthServiceTest Generate reset token stores token on user 0.048s
βœ… App.Modules.Auth.Tests.RestaurantAdminAuthServiceTest Generate reset token returns 64 char hex string 0.043s
βœ… App.Modules.Auth.Tests.RestaurantAdminAuthServiceTest Validate token returns true when token matches and not expired 0.043s
βœ… App.Modules.Auth.Tests.RestaurantAdminAuthServiceTest Validate token returns false when token does not match 0.042s
βœ… App.Modules.Auth.Tests.RestaurantAdminAuthServiceTest Validate token returns false when token is expired 0.041s
βœ… App.Modules.Auth.Tests.RestaurantAdminAuthServiceTest Consume token hashes password and clears token 0.200s
βœ… App.Modules.Auth.Tests.RestaurantAdminAuthServiceTest Consume token skips restaurant sync when userable missing 0.147s
βœ… App.Modules.Auth.Tests.RestaurantAdminAuthServiceTest Issue reset token always stores on restaurant for authenticate middleware 0.046s
βœ… App.Modules.Auth.Tests.RestaurantAdminAuthServiceTest Issue reset token mirrors on admin user when present 0.045s
βœ… App.Modules.Auth.Tests.RestaurantAdminAuthServiceTest Validate reset token uses restaurant admin email code 0.042s
βœ… App.Modules.Auth.Tests.RestaurantAdminAuthServiceTest Validate reset token rejects expired code 0.043s
βœ… App.Modules.Auth.Tests.RestaurantAdminAuthServiceTest Consume reset token updates restaurant when no admin user 0.148s
βœ… App.Modules.Auth.Tests.RestaurantAdminAuthServiceTest Consume reset token syncs admin user and restaurant 0.202s
βœ… App.Modules.Auth.Tests.RestaurantAdminAuthServiceTest Matches admin email is case insensitive 0.045s
βœ… App.Modules.Auth.Tests.RestaurantAdminAuthServiceTest Matches admin email falls back to admin user when admin email empty 0.042s
βœ… App.Modules.Auth.Tests.RestaurantAdminAuthServiceTest Verify password accepts restaurant admin password without admin user 0.197s
βœ… App.Modules.Auth.Tests.RestaurantAdminAuthServiceTest Verify password ignores admin user with empty password hash 0.200s
βœ… App.Modules.Auth.Tests.SendPasswordExpiredResetLinkActionTest Sends via users broker for restaurant 0.054s
βœ… App.Modules.Auth.Tests.SendPasswordExpiredResetLinkActionTest Sends via clients broker for client 0.044s
βœ… App.Modules.ComInApp.Tests.ComInAppConversationServiceTest Create conversation throws when no participant is selected 0.047s
βœ… App.Modules.ComInApp.Tests.ComInAppConversationServiceTest Update conversation throws when not found 0.042s
βœ… App.Modules.ComInApp.Tests.ComInAppConversationServiceTest Update conversation throws when wrong restaurant 0.043s
βœ… App.Modules.ComInApp.Tests.ComInAppConversationServiceTest Add message creates message and marks as read 0.048s
βœ… App.Modules.ComInApp.Tests.ComInAppConversationServiceTest Mark conversation as read calls repository 0.042s
βœ… App.Modules.ComInApp.Tests.ComInAppConversationServiceTest Delete conversation calls repository 0.040s
βœ… App.Modules.ComInApp.Tests.ComInAppConversationServiceTest Get unread overview returns total and counts by accessible restaurant 0.041s
βœ… App.Modules.ComInApp.Tests.ComInAppConversationServiceTest Unread count increases for other participant when one sends messages 8.914s
βœ… App.Modules.ComInApp.Tests.ComInAppConversationServiceTest Create conversation with message creates message 0.045s
βœ… App.Modules.ComInApp.Tests.ComInAppConversationServiceTest Bridge client user resolves via manager service 0.043s
βœ… App.Modules.ComInApp.Tests.ComInAppConversationServiceTest Bridge client user sets null when no matching user 0.039s
βœ… App.Modules.ComInApp.Tests.ComInAppServiceTest Add unread message count to employees adds count to employees 0.047s
βœ… App.Modules.Users.Admin.Tests.AdminServiceTest Search delegates to repository 0.002s
βœ… App.Modules.Users.Admin.Tests.AdminServiceTest Search passes null term 0.000s
βœ… App.Modules.Users.Admin.Tests.AdminServiceTest Create hashes password and persists all fields 0.001s
βœ… App.Modules.Users.Admin.Tests.AdminServiceTest Create stores null password when none provided 0.000s
βœ… App.Modules.Users.Admin.Tests.AdminServiceTest Find or fail delegates to repository 0.000s
βœ… App.Modules.Users.Admin.Tests.AdminServiceTest Update passes dto array to repository 0.002s
βœ… App.Modules.Users.Admin.Tests.AdminServiceTest Update hashes password when present in dto array 0.000s
βœ… App.Modules.Users.Admin.Tests.AdminServiceTest Update does not add password when absent from dto array 0.000s
βœ… App.Modules.Users.Admin.Tests.AdminServiceTest Update propagates repository false 0.000s
βœ… App.Modules.Users.Admin.Tests.AdminServiceTest Delete finds admin then delegates deletion 0.000s
βœ… App.Modules.Users.Admin.Tests.AdminServiceTest Delete propagates repository false 0.000s
βœ… App.Modules.Users.Central.Tests.CentralManagerServiceTest All for central delegates to repository 0.003s
βœ… App.Modules.Users.Central.Tests.CentralManagerServiceTest Sync creates user when no id provided 0.000s
βœ… App.Modules.Users.Central.Tests.CentralManagerServiceTest Sync skips creation when email is empty 0.000s
βœ… App.Modules.Users.Central.Tests.CentralManagerServiceTest Sync with empty array does nothing 0.000s
βœ… App.Modules.Users.Central.Tests.CentralManagerServiceTest Sync updates email when id matches 0.001s
βœ… App.Modules.Users.Central.Tests.CentralManagerServiceTest Sync updates password when provided 0.000s
βœ… App.Modules.Users.Central.Tests.CentralManagerServiceTest Sync skips when user not found for id 0.000s
βœ… App.Modules.Users.Central.Tests.CentralManagerServiceTest Sync deletes user when delete flag set 0.000s
βœ… App.Modules.Users.Central.Tests.CentralManagerServiceTest Sync handles mixed operations 0.001s
βœ… App.Modules.Users.Central.Tests.CentralServiceTest All delegates to repository 0.003s
βœ… App.Modules.Users.Central.Tests.CentralServiceTest Find or fail delegates to repository 0.000s
βœ… App.Modules.Users.Central.Tests.CentralServiceTest Create persists central and creates user 0.000s
βœ… App.Modules.Users.Central.Tests.CentralServiceTest Create passes null restaurants as empty array 0.000s
βœ… App.Modules.Users.Central.Tests.CentralServiceTest Update persists data and syncs user email 0.002s
βœ… App.Modules.Users.Central.Tests.CentralServiceTest Update strips empty password before passing to repository 0.000s
βœ… App.Modules.Users.Central.Tests.CentralServiceTest Update does not call user save when no user found 0.000s
βœ… App.Modules.Users.Central.Tests.CentralServiceTest Update propagates repository false 0.000s
βœ… App.Modules.Users.Central.Tests.CentralServiceTest Delete finds central then delegates 0.000s
βœ… App.Modules.Users.Central.Tests.CentralServiceTest Delete propagates repository false 0.000s
βœ… App.Modules.Users.Client.Tests.BuildManagerExportRowTest Builds row from bridge client 0.039s
βœ… App.Modules.Users.Client.Tests.BuildManagerExportRowTest Blank names stay empty 0.041s
βœ… App.Modules.Users.Client.Tests.ClientFamilyServiceTest Find or fail delegates to repository 0.002s
βœ… App.Modules.Users.Client.Tests.ClientFamilyServiceTest Sync creates new family when no id 0.000s
βœ… App.Modules.Users.Client.Tests.ClientFamilyServiceTest Sync skips new family when name is empty 0.000s
βœ… App.Modules.Users.Client.Tests.ClientFamilyServiceTest Sync updates existing family 0.000s
βœ… App.Modules.Users.Client.Tests.ClientFamilyServiceTest Sync deletes family without restaurants 0.000s
βœ… App.Modules.Users.Client.Tests.ClientFamilyServiceTest Sync throws when deleting family with restaurants 0.002s
βœ… App.Modules.Users.Client.Tests.ClientFamilyServiceTest Delete removes family without restaurants 0.000s
βœ… App.Modules.Users.Client.Tests.ClientFamilyServiceTest Delete throws when family has restaurants 0.000s
βœ… App.Modules.Users.Client.Tests.ClientGroupServiceTest Find or fail delegates to repository 0.003s
βœ… App.Modules.Users.Client.Tests.ClientGroupServiceTest Create many persists each non empty name 0.000s
βœ… App.Modules.Users.Client.Tests.ClientGroupServiceTest Create many skips empty names 0.000s
βœ… App.Modules.Users.Client.Tests.ClientGroupServiceTest Update delegates to repository with name 0.000s
βœ… App.Modules.Users.Client.Tests.ClientGroupServiceTest Delete finds then delegates 0.000s
βœ… App.Modules.Users.Client.Tests.ClientGroupServiceTest Sync existing updates groups without delete flag 0.000s
βœ… App.Modules.Users.Client.Tests.ClientGroupServiceTest Sync existing deletes groups with delete flag 0.000s
βœ… App.Modules.Users.Client.Tests.ClientGroupServiceTest Sync existing handles mixed operations 0.000s
βœ… App.Modules.Users.Client.Tests.ClientPolicyTest Manage audit alerts allows own manager 0.002s
βœ… App.Modules.Users.Client.Tests.ClientPolicyTest Manage audit alerts allows self 0.000s
βœ… App.Modules.Users.Client.Tests.ClientPolicyTest Manage audit alerts denies another hierarchy 0.000s
βœ… App.Modules.Users.Client.Tests.ClientPolicyTest Manage audit alerts denies managers from another client 0.000s
βœ… App.Modules.Users.Client.Tests.ClientPolicyTest Manage audit alerts denies when current entity is not a client 0.000s
βœ… App.Modules.Users.Client.Tests.ClientServiceTest All delegates to repository 0.004s
βœ… App.Modules.Users.Client.Tests.ClientServiceTest Find or fail delegates to repository 0.000s
βœ… App.Modules.Users.Client.Tests.ClientServiceTest Create hashes password and sets is superadmin 0.000s
βœ… App.Modules.Users.Client.Tests.ClientServiceTest Create maps all dto fields 0.000s
βœ… App.Modules.Users.Client.Tests.ClientServiceTest Update passes dto array to repository 0.002s
βœ… App.Modules.Users.Client.Tests.ClientServiceTest Update cascades highly secured password to children 0.000s
βœ… App.Modules.Users.Client.Tests.ClientServiceTest Update does not cascade when highly secured password absent 0.000s
βœ… App.Modules.Users.Client.Tests.ClientServiceTest Update cascades use credentials to children 0.000s
βœ… App.Modules.Users.Client.Tests.ClientServiceTest Update propagates repository false 0.000s
βœ… App.Modules.Users.Client.Tests.ClientServiceTest Delete finds client and delegates 0.000s
βœ… App.Modules.Users.Client.Tests.ClientServiceTest Toggle updates only is active 0.000s
βœ… App.Modules.Users.Client.Tests.ClientServiceTest Count restaurants counts all for client 0.000s
βœ… App.Modules.Users.Client.Tests.ExportManagersJobTest Exports managers and notifies with a downloadable file 0.084s
βœ… App.Modules.Users.Client.Tests.ImportManagersJobTest Imports valid rows and reports errors for invalid ones 0.092s
βœ… App.Modules.Users.Client.Tests.ImportManagersJobTest Reports a friendly error when the spreadsheet file cannot be read 0.044s
βœ… App.Modules.Users.Client.Tests.ManagerPolicyTest View any allows superadmin 0.002s
βœ… App.Modules.Users.Client.Tests.ManagerPolicyTest View any denies manager role 0.000s
βœ… App.Modules.Users.Client.Tests.ManagerPolicyTest View any denies when no authenticated user 0.000s
βœ… App.Modules.Users.Client.Tests.ManagerPolicyTest Create allows superadmin 0.000s
βœ… App.Modules.Users.Client.Tests.ManagerPolicyTest Create denies manager role 0.000s
βœ… App.Modules.Users.Client.Tests.ManagerPolicyTest Edit allows self even when not superadmin 0.000s
βœ… App.Modules.Users.Client.Tests.ManagerPolicyTest Edit denies when manager belongs to another client 0.000s
βœ… App.Modules.Users.Client.Tests.ManagerPolicyTest Edit denies manager role editing someone else 0.000s
βœ… App.Modules.Users.Client.Tests.ManagerPolicyTest Edit allows superadmin editing another manager in same client 0.000s
βœ… App.Modules.Users.Client.Tests.ManagerPolicyTest Manage denies self 0.000s
βœ… App.Modules.Users.Client.Tests.ManagerPolicyTest Manage allows self when impersonating from superpoulpe and another superadmin exists 0.001s
βœ… App.Modules.Users.Client.Tests.ManagerPolicyTest Manage still denies self when impersonating from client 0.000s
βœ… App.Modules.Users.Client.Tests.ManagerPolicyTest Manage denies self via superpoulpe impersonation when only one active superadmin left 0.000s
βœ… App.Modules.Users.Client.Tests.ManagerPolicyTest Manage denies when manager belongs to another client 0.000s
βœ… App.Modules.Users.Client.Tests.ManagerPolicyTest Manage denies manager role as actor 0.000s
βœ… App.Modules.Users.Client.Tests.ManagerPolicyTest Manage allows non superadmin target regardless of superadmin count 0.000s
βœ… App.Modules.Users.Client.Tests.ManagerPolicyTest Manage denies superadmin target when no active superadmin left 0.000s
βœ… App.Modules.Users.Client.Tests.ManagerPolicyTest Manage denies superadmin target when it is the only active superadmin 0.000s
βœ… App.Modules.Users.Client.Tests.ManagerPolicyTest Manage allows superadmin target when more than one active superadmin 0.000s
βœ… App.Modules.Users.Client.Tests.ManagerPolicyTest Restaurants access denies superadmin target 0.000s
βœ… App.Modules.Users.Client.Tests.ManagerPolicyTest Restaurants access allows non superadmin target 0.000s
βœ… App.Modules.Users.Client.Tests.ManagerServiceTest All for client delegates to repository 0.006s
βœ… App.Modules.Users.Client.Tests.ManagerServiceTest All for client passes null term 0.000s
βœ… App.Modules.Users.Client.Tests.ManagerServiceTest Find manager or fail delegates to repository 0.000s
βœ… App.Modules.Users.Client.Tests.ManagerServiceTest Find user sub client delegates to client repository 0.000s
βœ… App.Modules.Users.Client.Tests.ManagerServiceTest Find user for client delegates to repository 0.000s
βœ… App.Modules.Users.Client.Tests.ManagerServiceTest Find first active superadmin delegates to repository 0.000s
βœ… App.Modules.Users.Client.Tests.ManagerServiceTest Create sets parent id hashes password and marks active 0.000s
βœ… App.Modules.Users.Client.Tests.ManagerServiceTest Create maps all optional dto fields 0.000s
βœ… App.Modules.Users.Client.Tests.ManagerServiceTest Create throws duplicate manager exception on integrity violation 0.001s
βœ… App.Modules.Users.Client.Tests.ManagerServiceTest Create rethrows other query exceptions 0.000s
βœ… App.Modules.Users.Client.Tests.ManagerServiceTest Update syncs sub client when it exists 0.002s
βœ… App.Modules.Users.Client.Tests.ManagerServiceTest Update writes to main client when no sub client 0.000s
βœ… App.Modules.Users.Client.Tests.ManagerServiceTest Update strips empty password instead of overwriting it 0.000s
βœ… App.Modules.Users.Client.Tests.ManagerServiceTest Update synchronizes user profile when identity fields change 0.000s
βœ… App.Modules.Users.Client.Tests.ManagerServiceTest Update does not touch profile when no identity fields change 0.000s
βœ… App.Modules.Users.Client.Tests.ManagerServiceTest Update stamps password last changed at on sub client only when password set 0.000s
βœ… App.Modules.Users.Client.Tests.ManagerServiceTest Update translates role to is superadmin for sub client only 0.000s
βœ… App.Modules.Users.Client.Tests.ManagerServiceTest Update clears restaurants and families access when promoted to superadmin 0.000s
βœ… App.Modules.Users.Client.Tests.ManagerServiceTest Update does not touch restaurants or families access when staying manager 0.000s
βœ… App.Modules.Users.Client.Tests.ManagerServiceTest Update propagates repository false 0.000s
βœ… App.Modules.Users.Client.Tests.ManagerServiceTest Delete deletes sub client and user when sub client exists 0.000s
βœ… App.Modules.Users.Client.Tests.ManagerServiceTest Delete only deletes user when no sub client 0.000s
βœ… App.Modules.Users.Client.Tests.ManagerServiceTest Delete propagates repository false 0.000s
βœ… App.Modules.Users.Client.Tests.ManagerServiceTest Update restaurant access writes to main client when no sub client 0.001s
βœ… App.Modules.Users.Client.Tests.ManagerServiceTest Update restaurant access writes to sub client when it exists 0.001s
βœ… App.Modules.Users.Client.Tests.ManagerServiceTest Get index view data attaches sub client and computed fields 0.001s
βœ… App.Modules.Users.Client.Tests.ManagerServiceTest Get index view data defaults when no sub client 0.000s
βœ… App.Modules.Users.Client.Tests.ManagerServiceTest Get index view data shows total restaurants for superadmin 0.000s
βœ… App.Modules.Users.Client.Tests.MapImportRowToStoreDTOTest Maps basic fields 0.013s
βœ… App.Modules.Users.Client.Tests.MapImportRowToStoreDTOTest Resolves family names to ids 0.000s
βœ… App.Modules.Users.Client.Tests.MapImportRowToStoreDTOTest Maps oui non to booleans 0.000s
βœ… App.Modules.Users.Client.Tests.PromoteManagerToSuperadminTest Returns data unchanged when role is absent 0.001s
βœ… App.Modules.Users.Client.Tests.PromoteManagerToSuperadminTest Sets is superadmin false when staying manager 0.000s
βœ… App.Modules.Users.Client.Tests.PromoteManagerToSuperadminTest Clears access and enables options when promoted to superadmin 0.000s
βœ… App.Modules.Users.Employee.Tests.LocalEmployeeServiceTest All delegates to repository with restaurant id 0.005s
βœ… App.Modules.Users.Employee.Tests.LocalEmployeeServiceTest All passes null term 0.001s
βœ… App.Modules.Users.Employee.Tests.LocalEmployeeServiceTest Find or fail returns employee when found 0.001s
βœ… App.Modules.Users.Employee.Tests.LocalEmployeeServiceTest Find or fail aborts when not found 0.001s
βœ… App.Modules.Users.Employee.Tests.LocalEmployeeServiceTest Create passes restaurant id and basic fields 0.001s
βœ… App.Modules.Users.Employee.Tests.LocalEmployeeServiceTest Create defaults color when null 0.001s
βœ… App.Modules.Users.Employee.Tests.LocalEmployeeServiceTest Create resolves dlc both 0.001s
βœ… App.Modules.Users.Employee.Tests.LocalEmployeeServiceTest Create resolves dlc only edit dlc 0.001s
βœ… App.Modules.Users.Employee.Tests.LocalEmployeeServiceTest Create defaults action plan edit level to full when null 0.001s
βœ… App.Modules.Users.Employee.Tests.LocalEmployeeServiceTest Create keeps provided action plan edit level 0.001s
βœ… App.Modules.Users.Employee.Tests.LocalEmployeeServiceTest Create calls sync relations with dto arrays 0.001s
βœ… App.Modules.Users.Employee.Tests.LocalEmployeeServiceTest Update active only sets flag and saves without full update 0.009s
βœ… App.Modules.Users.Employee.Tests.LocalEmployeeServiceTest Update strips empty password 0.001s
βœ… App.Modules.Users.Employee.Tests.LocalEmployeeServiceTest Update keeps non empty password 0.001s
βœ… App.Modules.Users.Employee.Tests.LocalEmployeeServiceTest Update does not call sync when save fails 0.001s
βœ… App.Modules.Users.Employee.Tests.LocalEmployeeServiceTest Delete delegates to repository 0.001s
βœ… App.Modules.Users.Employee.Tests.LocalEmployeeServiceTest Bulk delete delegates with restaurant id 0.001s
βœ… App.Modules.Users.Employee.Tests.MultiEmployeeServiceTest All delegates to repository with family id 0.013s
βœ… App.Modules.Users.Employee.Tests.MultiEmployeeServiceTest All passes null term 0.000s
βœ… App.Modules.Users.Employee.Tests.MultiEmployeeServiceTest Find or fail returns employee when found 0.000s
βœ… App.Modules.Users.Employee.Tests.MultiEmployeeServiceTest Find or fail aborts when not found 0.000s
βœ… App.Modules.Users.Employee.Tests.MultiEmployeeServiceTest Create passes family id and basic fields 0.000s
βœ… App.Modules.Users.Employee.Tests.MultiEmployeeServiceTest Create touches family timestamp 0.000s
βœ… App.Modules.Users.Employee.Tests.MultiEmployeeServiceTest Delete delegates to repository and returns true 0.000s
βœ… App.Modules.Users.Employee.Tests.MultiEmployeeServiceTest Delete does not touch timestamp when repository fails 0.000s
βœ… App.Modules.Users.Employee.Tests.MultiEmployeeServiceTest Update throws bad method call exception 0.000s
βœ… App.Modules.Users.Employee.Tests.MultiEmployeeServiceTest Bulk delete throws bad method call exception 0.000s
βœ… App.Modules.Users.Restaurant.Tests.CreateAccountRestaurantActionTest It passes a hashed password and admin password to the repository 0.257s
βœ… App.Modules.Users.Restaurant.Tests.CreateAccountRestaurantActionTest It maps the other expected fields 0.148s
βœ… App.Modules.Users.Restaurant.Tests.CreateTrialRestaurantActionTest It passes a hashed password and admin password to the repository 0.253s
βœ… App.Modules.Users.Restaurant.Tests.CreateTrialRestaurantActionTest It derives the username from the email local part 0.148s
βœ… App.Modules.Users.Restaurant.Tests.CreateTrialRestaurantActionTest It suffixes the username with the domain on collision 0.148s
βœ… App.Modules.Users.Restaurant.Tests.ImportApisApiConnexionSyncTest Unchecking a provider soft deletes its polymorphic connexion 8.507s
βœ… App.Modules.Users.Restaurant.Tests.ImportApisApiConnexionSyncTest Unchecking a provider soft deletes its legacy connexion 8.812s
βœ… App.Modules.Users.Restaurant.Tests.ImportApisApiConnexionSyncTest Rechecking a provider restores its soft deleted connexion 9.187s
βœ… App.Modules.Users.Restaurant.Tests.ImportApisApiConnexionSyncTest Disabled connexion is excluded from the default sync query 9.135s
βœ… App.Modules.Users.Restaurant.Tests.ImportApisApiConnexionSyncTest Untouched providers are not affected 10.070s
βœ… App.Modules.Users.Restaurant.Tests.ImportApisApiConnexionSyncTest Local restaurant service resets import apis when all boxes are unchecked 9.536s
βœ… App.Modules.Users.Restaurant.Tests.ImportApisApiConnexionSyncTest Ajax is active toggle does not reset import apis on local service 9.087s
βœ… App.Modules.Users.Restaurant.Tests.ImportApisApiConnexionSyncTest Ajax is active toggle does not reset import apis on indep service 9.162s
βœ… App.Modules.Users.Restaurant.Tests.ImportApisApiConnexionSyncTest Inactive restaurant connexion is excluded from the sync query 9.488s