171 lines
7.3 KiB
JSON
171 lines
7.3 KiB
JSON
{
|
|
"testModules": [
|
|
{
|
|
"moduleId": "/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/src/features/dashboard/components/__tests__/DashboardScreen.test.tsx",
|
|
"tests": [
|
|
{
|
|
"name": "renders vehicle roster cards",
|
|
"fullName": "DashboardScreen renders vehicle roster cards",
|
|
"state": "passed"
|
|
},
|
|
{
|
|
"name": "renders empty state when 0 vehicles",
|
|
"fullName": "DashboardScreen renders empty state when 0 vehicles",
|
|
"state": "passed"
|
|
},
|
|
{
|
|
"name": "renders loading skeletons when loading",
|
|
"fullName": "DashboardScreen renders loading skeletons when loading",
|
|
"state": "passed"
|
|
},
|
|
{
|
|
"name": "renders \"Your Fleet\" heading",
|
|
"fullName": "DashboardScreen renders \"Your Fleet\" heading",
|
|
"state": "passed"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"moduleId": "/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/src/features/dashboard/components/__tests__/ActionBar.test.tsx",
|
|
"tests": [
|
|
{
|
|
"name": "renders both buttons with correct text",
|
|
"fullName": "ActionBar renders both buttons with correct text",
|
|
"state": "passed"
|
|
},
|
|
{
|
|
"name": "calls onAddVehicle when Add Vehicle button clicked",
|
|
"fullName": "ActionBar calls onAddVehicle when Add Vehicle button clicked",
|
|
"state": "passed"
|
|
},
|
|
{
|
|
"name": "calls onLogFuel when Log Fuel button clicked",
|
|
"fullName": "ActionBar calls onLogFuel when Log Fuel button clicked",
|
|
"state": "passed"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"moduleId": "/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/src/features/dashboard/components/__tests__/VehicleRosterCard.test.tsx",
|
|
"tests": [
|
|
{
|
|
"name": "renders vehicle label with year make model",
|
|
"fullName": "VehicleRosterCard renders vehicle label with year make model",
|
|
"state": "passed"
|
|
},
|
|
{
|
|
"name": "renders health badge with correct color class for green health",
|
|
"fullName": "VehicleRosterCard renders health badge with correct color class for green health",
|
|
"state": "passed"
|
|
},
|
|
{
|
|
"name": "renders health badge with correct color class for yellow health",
|
|
"fullName": "VehicleRosterCard renders health badge with correct color class for yellow health",
|
|
"state": "passed"
|
|
},
|
|
{
|
|
"name": "renders health badge with correct color class for red health",
|
|
"fullName": "VehicleRosterCard renders health badge with correct color class for red health",
|
|
"state": "passed"
|
|
},
|
|
{
|
|
"name": "renders attention items text",
|
|
"fullName": "VehicleRosterCard renders attention items text",
|
|
"state": "passed"
|
|
},
|
|
{
|
|
"name": "renders odometer with formatting",
|
|
"fullName": "VehicleRosterCard renders odometer with formatting",
|
|
"state": "passed"
|
|
},
|
|
{
|
|
"name": "calls onClick with vehicle ID when clicked",
|
|
"fullName": "VehicleRosterCard calls onClick with vehicle ID when clicked",
|
|
"state": "passed"
|
|
},
|
|
{
|
|
"name": "renders All clear when no attention items",
|
|
"fullName": "VehicleRosterCard renders All clear when no attention items",
|
|
"state": "passed"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"moduleId": "/Users/egullickson/Documents/Technology/coding/motovaultpro/frontend/src/features/dashboard/hooks/__tests__/useDashboardData.test.ts",
|
|
"tests": [
|
|
{
|
|
"name": "should return green health with no schedules and no documents",
|
|
"fullName": "computeVehicleHealth Green health should return green health with no schedules and no documents",
|
|
"state": "passed"
|
|
},
|
|
{
|
|
"name": "should return green health with schedule due in 20 days and 1 upcoming attention item",
|
|
"fullName": "computeVehicleHealth Green health should return green health with schedule due in 20 days and 1 upcoming attention item",
|
|
"state": "passed"
|
|
},
|
|
{
|
|
"name": "should return yellow health with schedule due in 10 days, no overdue",
|
|
"fullName": "computeVehicleHealth Yellow health should return yellow health with schedule due in 10 days, no overdue",
|
|
"state": "passed"
|
|
},
|
|
{
|
|
"name": "should return yellow health with registration expiring in 7 days",
|
|
"fullName": "computeVehicleHealth Yellow health should return yellow health with registration expiring in 7 days",
|
|
"state": "passed"
|
|
},
|
|
{
|
|
"name": "should return red health with maintenance overdue by 5 days",
|
|
"fullName": "computeVehicleHealth Red health should return red health with maintenance overdue by 5 days",
|
|
"state": "passed"
|
|
},
|
|
{
|
|
"name": "should return red health with insurance expired 3 days ago",
|
|
"fullName": "computeVehicleHealth Red health should return red health with insurance expired 3 days ago",
|
|
"state": "passed"
|
|
},
|
|
{
|
|
"name": "should return red health with one overdue maintenance and one due-soon document",
|
|
"fullName": "computeVehicleHealth Red health should return red health with one overdue maintenance and one due-soon document",
|
|
"state": "passed"
|
|
},
|
|
{
|
|
"name": "should sort attention items with overdue first by most overdue, then due-soon by proximity",
|
|
"fullName": "computeVehicleHealth Attention items sorting should sort attention items with overdue first by most overdue, then due-soon by proximity",
|
|
"state": "passed"
|
|
},
|
|
{
|
|
"name": "should enforce max 3 attention items when 5 items are present",
|
|
"fullName": "computeVehicleHealth Max 3 attention items enforcement should enforce max 3 attention items when 5 items are present",
|
|
"state": "passed"
|
|
},
|
|
{
|
|
"name": "should ignore inactive schedules (isActive: false)",
|
|
"fullName": "computeVehicleHealth Inactive schedule handling should ignore inactive schedules (isActive: false)",
|
|
"state": "passed"
|
|
},
|
|
{
|
|
"name": "should ignore schedules without nextDueDate",
|
|
"fullName": "computeVehicleHealth Missing date handling should ignore schedules without nextDueDate",
|
|
"state": "passed"
|
|
},
|
|
{
|
|
"name": "should ignore documents without expirationDate",
|
|
"fullName": "computeVehicleHealth Missing date handling should ignore documents without expirationDate",
|
|
"state": "passed"
|
|
},
|
|
{
|
|
"name": "should use first subtype as label when subtypes array is not empty",
|
|
"fullName": "computeVehicleHealth Label extraction should use first subtype as label when subtypes array is not empty",
|
|
"state": "passed"
|
|
},
|
|
{
|
|
"name": "should use formatted category as label when subtypes array is empty",
|
|
"fullName": "computeVehicleHealth Label extraction should use formatted category as label when subtypes array is empty",
|
|
"state": "passed"
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"unhandledErrors": [],
|
|
"reason": "passed"
|
|
} |