@fdm-monster/client-next 2.2.1 → 2.2.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.yarn/install-state.gz +0 -0
- package/README.md +19 -0
- package/RELEASE_NOTES.MD +22 -0
- package/dist/assets/index-BAB7cJ3l.js +105 -0
- package/dist/assets/index-BAB7cJ3l.js.map +1 -0
- package/dist/assets/index-DfA7W6iO.css +1 -0
- package/dist/index.html +2 -2
- package/package.json +21 -2
- package/screenshots/COVERAGE.md +383 -0
- package/screenshots/README.md +431 -0
- package/screenshots/fixtures/api-mock.ts +699 -0
- package/screenshots/fixtures/data/auth.fixtures.ts +79 -0
- package/screenshots/fixtures/data/cameras.fixtures.ts +48 -0
- package/screenshots/fixtures/data/files.fixtures.ts +56 -0
- package/screenshots/fixtures/data/floors.fixtures.ts +39 -0
- package/screenshots/fixtures/data/jobs.fixtures.ts +172 -0
- package/screenshots/fixtures/data/printers.fixtures.ts +132 -0
- package/screenshots/fixtures/data/settings.fixtures.ts +62 -0
- package/screenshots/fixtures/socketio-mock.ts +76 -0
- package/screenshots/fixtures/test-fixtures.ts +112 -0
- package/screenshots/helpers/dialog.helper.ts +196 -0
- package/screenshots/helpers/form.helper.ts +207 -0
- package/screenshots/helpers/navigation.helper.ts +191 -0
- package/screenshots/playwright.screenshots.config.ts +70 -0
- package/screenshots/suites/00-example.screenshots.spec.ts +29 -0
- package/screenshots/suites/01-auth.screenshots.spec.ts +130 -0
- package/screenshots/suites/02-dashboard.screenshots.spec.ts +106 -0
- package/screenshots/suites/03-printer-grid.screenshots.spec.ts +160 -0
- package/screenshots/suites/04-printer-list.screenshots.spec.ts +184 -0
- package/screenshots/suites/05-camera-grid.screenshots.spec.ts +127 -0
- package/screenshots/suites/06-print-jobs.screenshots.spec.ts +139 -0
- package/screenshots/suites/07-queue.screenshots.spec.ts +86 -0
- package/screenshots/suites/08-files.screenshots.spec.ts +142 -0
- package/screenshots/suites/09-settings.screenshots.spec.ts +130 -0
- package/screenshots/suites/10-panels-dialogs.screenshots.spec.ts +245 -0
- package/screenshots/utils.ts +216 -0
- package/vitest.config.ts +8 -0
- package/dist/assets/index-BaXVMJVZ.js +0 -105
- package/dist/assets/index-BaXVMJVZ.js.map +0 -1
- package/dist/assets/index-CU1IeFlc.css +0 -1
package/dist/index.html
CHANGED
|
@@ -24,8 +24,8 @@
|
|
|
24
24
|
background-color: #121212; /* should match the app theme background */
|
|
25
25
|
}
|
|
26
26
|
</style>
|
|
27
|
-
<script type="module" crossorigin src="/assets/index-
|
|
28
|
-
<link rel="stylesheet" crossorigin href="/assets/index-
|
|
27
|
+
<script type="module" crossorigin src="/assets/index-BAB7cJ3l.js"></script>
|
|
28
|
+
<link rel="stylesheet" crossorigin href="/assets/index-DfA7W6iO.css">
|
|
29
29
|
</head>
|
|
30
30
|
|
|
31
31
|
<body>
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fdm-monster/client-next",
|
|
3
|
-
"version": "2.2.
|
|
3
|
+
"version": "2.2.3",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "git+https://github.com/fdm-monster/fdm-monster-client-next.git"
|
|
@@ -22,7 +22,26 @@
|
|
|
22
22
|
"test:coverage": "vitest run --coverage --environment jsdom",
|
|
23
23
|
"test:e2e": "start-server-and-test preview http://127.0.0.1:5050/ 'cypress open'",
|
|
24
24
|
"openapi-ts": "openapi-ts",
|
|
25
|
-
"openapi-ts:watch": "openapi-ts --watch"
|
|
25
|
+
"openapi-ts:watch": "openapi-ts --watch",
|
|
26
|
+
"screenshots": "playwright test --config=screenshots/playwright.screenshots.config.ts",
|
|
27
|
+
"screenshots:headed": "playwright test --config=screenshots/playwright.screenshots.config.ts --headed",
|
|
28
|
+
"screenshots:debug": "playwright test --config=screenshots/playwright.screenshots.config.ts --debug",
|
|
29
|
+
"screenshots:ui": "playwright test --config=screenshots/playwright.screenshots.config.ts --ui",
|
|
30
|
+
"screenshots:chrome": "playwright test --config=screenshots/playwright.screenshots.config.ts --project=chrome-screenshots",
|
|
31
|
+
"screenshots:example": "playwright test --config=screenshots/playwright.screenshots.config.ts suites/00-example --headed",
|
|
32
|
+
"screenshots:auth": "playwright test --config=screenshots/playwright.screenshots.config.ts suites/01-auth",
|
|
33
|
+
"screenshots:dashboard": "playwright test --config=screenshots/playwright.screenshots.config.ts suites/02-dashboard",
|
|
34
|
+
"screenshots:printer-grid": "playwright test --config=screenshots/playwright.screenshots.config.ts suites/03-printer-grid",
|
|
35
|
+
"screenshots:printer-list": "playwright test --config=screenshots/playwright.screenshots.config.ts suites/04-printer-list",
|
|
36
|
+
"screenshots:cameras": "playwright test --config=screenshots/playwright.screenshots.config.ts suites/05-camera-grid",
|
|
37
|
+
"screenshots:jobs": "playwright test --config=screenshots/playwright.screenshots.config.ts suites/06-print-jobs",
|
|
38
|
+
"screenshots:queue": "playwright test --config=screenshots/playwright.screenshots.config.ts suites/07-queue",
|
|
39
|
+
"screenshots:files": "playwright test --config=screenshots/playwright.screenshots.config.ts suites/08-files",
|
|
40
|
+
"screenshots:settings": "playwright test --config=screenshots/playwright.screenshots.config.ts suites/09-settings",
|
|
41
|
+
"screenshots:dialogs": "playwright test --config=screenshots/playwright.screenshots.config.ts suites/10-panels-dialogs",
|
|
42
|
+
"screenshots:ci": "playwright test --config=screenshots/playwright.screenshots.config.ts",
|
|
43
|
+
"playwright:install": "playwright install",
|
|
44
|
+
"playwright:install-chromium": "playwright install chromium"
|
|
26
45
|
},
|
|
27
46
|
"dependencies": {},
|
|
28
47
|
"devDependencies": {},
|
|
@@ -0,0 +1,383 @@
|
|
|
1
|
+
# Screenshot Test Coverage
|
|
2
|
+
|
|
3
|
+
This document tracks which views and components are covered by screenshot tests.
|
|
4
|
+
|
|
5
|
+
## Authentication & Onboarding
|
|
6
|
+
|
|
7
|
+
### First Time Setup
|
|
8
|
+
- [x] Wizard page
|
|
9
|
+
- [ ] Step 1 - Welcome
|
|
10
|
+
- [ ] Step 2 - Server configuration
|
|
11
|
+
- [ ] Step 3 - Admin account creation
|
|
12
|
+
- [ ] Step 4 - Complete
|
|
13
|
+
|
|
14
|
+
### Login
|
|
15
|
+
- [x] Login page (empty)
|
|
16
|
+
- [x] Login page (filled)
|
|
17
|
+
- [ ] Login error state
|
|
18
|
+
- [ ] Password reset link
|
|
19
|
+
|
|
20
|
+
### Registration
|
|
21
|
+
- [x] Registration page (empty)
|
|
22
|
+
- [x] Registration page (filled)
|
|
23
|
+
- [ ] Registration validation errors
|
|
24
|
+
- [ ] Registration disabled state
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
## Main Views
|
|
29
|
+
|
|
30
|
+
### Dashboard
|
|
31
|
+
- [x] Dashboard overview
|
|
32
|
+
- [x] Dashboard with statistics
|
|
33
|
+
- [x] Dashboard with recent activity
|
|
34
|
+
- [x] Dashboard empty state
|
|
35
|
+
- [ ] Individual stat cards
|
|
36
|
+
- [ ] Recent activity list items
|
|
37
|
+
- [ ] Quick actions panel
|
|
38
|
+
|
|
39
|
+
### Printer Grid
|
|
40
|
+
- [x] Empty grid (no floors)
|
|
41
|
+
- [x] Grid with floors and printers
|
|
42
|
+
- [x] Create First Floor button (empty state)
|
|
43
|
+
- [x] Create Floor dialog
|
|
44
|
+
- [x] Create Printer dialog (via list page)
|
|
45
|
+
- [x] Printer grid tiles
|
|
46
|
+
- [x] Drag hint/hover state
|
|
47
|
+
- [x] Batch operations bar
|
|
48
|
+
- [x] Context menu
|
|
49
|
+
- [ ] File upload progress snackbar
|
|
50
|
+
- [ ] Dragging GCode onto printer
|
|
51
|
+
- [ ] Printer tile loading state
|
|
52
|
+
- [ ] Printer tile error state
|
|
53
|
+
- [ ] Printer tile printing state
|
|
54
|
+
- [ ] Printer tile idle state
|
|
55
|
+
|
|
56
|
+
#### Printer Grid - Toolbar
|
|
57
|
+
- [x] Floor selection tabs
|
|
58
|
+
- [x] Tag filter dropdown
|
|
59
|
+
- [x] Printer type filter dropdown
|
|
60
|
+
- [x] Sort mode toggle (position/name)
|
|
61
|
+
- [ ] Auto Place button (with unplaced printers)
|
|
62
|
+
- [ ] Unplaced printers menu
|
|
63
|
+
- [ ] Grid size controls
|
|
64
|
+
- [x] Grid settings menu
|
|
65
|
+
|
|
66
|
+
### Printer List
|
|
67
|
+
- [x] List view with printers
|
|
68
|
+
- [x] Empty state
|
|
69
|
+
- [x] Create printer button
|
|
70
|
+
- [x] Printer data table
|
|
71
|
+
- [ ] Printer row expanded view
|
|
72
|
+
- [ ] Printer actions menu
|
|
73
|
+
- [ ] Tag chips on printer
|
|
74
|
+
- [ ] Floor assignment
|
|
75
|
+
- [ ] Camera assignment
|
|
76
|
+
- [ ] Printer type column
|
|
77
|
+
- [ ] Printer status column
|
|
78
|
+
- [ ] Last seen column
|
|
79
|
+
- [ ] Batch selection
|
|
80
|
+
- [ ] Search/filter bar
|
|
81
|
+
|
|
82
|
+
### Camera Grid
|
|
83
|
+
- [x] Camera grid with cameras
|
|
84
|
+
- [x] Empty state
|
|
85
|
+
- [x] Create camera dialog
|
|
86
|
+
- [ ] Camera tile
|
|
87
|
+
- [ ] Camera tile loading state
|
|
88
|
+
- [ ] Camera tile error state
|
|
89
|
+
- [ ] Fullscreen camera view
|
|
90
|
+
- [ ] Camera settings menu
|
|
91
|
+
|
|
92
|
+
### Print Jobs
|
|
93
|
+
- [x] Jobs list
|
|
94
|
+
- [x] Empty state
|
|
95
|
+
- [x] Job details dialog
|
|
96
|
+
- [x] Filter by status
|
|
97
|
+
- [ ] Job card/list item
|
|
98
|
+
- [ ] Job progress bar
|
|
99
|
+
- [ ] Job actions menu
|
|
100
|
+
- [ ] Job statistics
|
|
101
|
+
|
|
102
|
+
### Queue
|
|
103
|
+
- [x] Queue with jobs
|
|
104
|
+
- [x] Empty queue
|
|
105
|
+
- [x] Reordering items
|
|
106
|
+
- [x] Context menu
|
|
107
|
+
- [ ] Queue item details
|
|
108
|
+
- [ ] Move to top/bottom actions
|
|
109
|
+
- [ ] Remove from queue
|
|
110
|
+
|
|
111
|
+
### Files
|
|
112
|
+
- [x] File browser
|
|
113
|
+
- [x] Empty state
|
|
114
|
+
- [x] File upload
|
|
115
|
+
- [x] Grid view
|
|
116
|
+
- [x] List view
|
|
117
|
+
- [x] File context menu
|
|
118
|
+
- [x] Print dialog from file
|
|
119
|
+
- [ ] File card/list item
|
|
120
|
+
- [ ] Folder navigation
|
|
121
|
+
- [ ] File search
|
|
122
|
+
- [ ] File details panel
|
|
123
|
+
- [ ] File preview
|
|
124
|
+
|
|
125
|
+
---
|
|
126
|
+
|
|
127
|
+
## Settings Pages
|
|
128
|
+
|
|
129
|
+
### Settings Overview
|
|
130
|
+
- [x] Settings navigation menu
|
|
131
|
+
- [x] Settings home/overview
|
|
132
|
+
|
|
133
|
+
### Floors Settings
|
|
134
|
+
- [x] Floor list with drag-to-reorder
|
|
135
|
+
- [x] Create New Floor button
|
|
136
|
+
- [ ] Floor expansion panel (expanded)
|
|
137
|
+
- [ ] Edit floor name inline
|
|
138
|
+
- [ ] Edit floor order inline
|
|
139
|
+
- [ ] Delete floor button
|
|
140
|
+
- [ ] Manage on grid button
|
|
141
|
+
|
|
142
|
+
### Printer Settings
|
|
143
|
+
- [x] Printer default settings page
|
|
144
|
+
- [ ] Printer timeout settings
|
|
145
|
+
- [ ] Printer defaults form
|
|
146
|
+
- [ ] API polling interval
|
|
147
|
+
- [ ] Temperature check interval
|
|
148
|
+
|
|
149
|
+
### Emergency Commands Settings
|
|
150
|
+
- [x] Emergency commands page
|
|
151
|
+
- [ ] M112 emergency stop section
|
|
152
|
+
- [ ] Custom emergency commands
|
|
153
|
+
- [ ] Emergency command editor
|
|
154
|
+
|
|
155
|
+
### Server Protection Settings
|
|
156
|
+
- [x] Server protection page
|
|
157
|
+
- [ ] Login required toggle
|
|
158
|
+
- [ ] Registration enabled toggle
|
|
159
|
+
- [ ] Whitelist settings
|
|
160
|
+
- [ ] IP whitelist table
|
|
161
|
+
|
|
162
|
+
### User Management Settings
|
|
163
|
+
- [x] User list
|
|
164
|
+
- [ ] User table/cards
|
|
165
|
+
- [ ] User roles display
|
|
166
|
+
- [ ] Create user button
|
|
167
|
+
- [ ] Edit user dialog
|
|
168
|
+
- [ ] Delete user confirmation
|
|
169
|
+
- [ ] User permissions matrix
|
|
170
|
+
|
|
171
|
+
### Account Settings
|
|
172
|
+
- [x] Account settings page
|
|
173
|
+
- [ ] Change password form
|
|
174
|
+
- [ ] Update profile form
|
|
175
|
+
- [ ] Session management
|
|
176
|
+
|
|
177
|
+
### Software Upgrade Settings
|
|
178
|
+
- [x] Software upgrade page
|
|
179
|
+
- [ ] Current version display
|
|
180
|
+
- [ ] Check for updates button
|
|
181
|
+
- [ ] Upgrade available notification
|
|
182
|
+
- [ ] Upgrade progress
|
|
183
|
+
|
|
184
|
+
### Diagnostics Settings
|
|
185
|
+
- [x] Diagnostics page
|
|
186
|
+
- [ ] Sentry diagnostics toggle
|
|
187
|
+
- [ ] Log viewer
|
|
188
|
+
- [ ] System information
|
|
189
|
+
- [ ] Database stats
|
|
190
|
+
|
|
191
|
+
### Experimental Settings
|
|
192
|
+
- [x] Experimental features page
|
|
193
|
+
- [ ] Feature flags list
|
|
194
|
+
- [ ] Multi-camera support toggle
|
|
195
|
+
- [ ] Experimental client support toggle
|
|
196
|
+
- [ ] Moonraker support toggle
|
|
197
|
+
- [ ] PrusaLink support toggle
|
|
198
|
+
|
|
199
|
+
### Slicer Integration Settings
|
|
200
|
+
- [x] Slicer integration page
|
|
201
|
+
- [ ] Upload to slicer settings
|
|
202
|
+
- [ ] Slicer API configuration
|
|
203
|
+
|
|
204
|
+
### SocketIO Debug Settings
|
|
205
|
+
- [x] SocketIO debug page
|
|
206
|
+
- [ ] Connection status
|
|
207
|
+
- [ ] Message log
|
|
208
|
+
- [ ] Event inspector
|
|
209
|
+
|
|
210
|
+
### About Settings
|
|
211
|
+
- [x] About page
|
|
212
|
+
- [ ] Version information
|
|
213
|
+
- [ ] License information
|
|
214
|
+
- [ ] Credits
|
|
215
|
+
- [ ] Links to documentation
|
|
216
|
+
|
|
217
|
+
---
|
|
218
|
+
|
|
219
|
+
## Dialogs & Modals
|
|
220
|
+
|
|
221
|
+
### Printer Dialogs
|
|
222
|
+
- [x] Add/Update Printer Dialog - Create mode
|
|
223
|
+
- [ ] Add/Update Printer Dialog - Edit mode
|
|
224
|
+
- [ ] Add/Update Printer Dialog - Duplicate mode
|
|
225
|
+
- [ ] Printer Test Connection Dialog
|
|
226
|
+
- [ ] Printer Type Dropdown
|
|
227
|
+
- [ ] Force Save Warning Dialog
|
|
228
|
+
- [ ] Printer Control Dialog
|
|
229
|
+
- [ ] Printer Settings Dialog
|
|
230
|
+
|
|
231
|
+
### Floor Dialogs
|
|
232
|
+
- [x] Add/Update Floor Dialog - Create mode
|
|
233
|
+
- [ ] Add/Update Floor Dialog - Edit mode
|
|
234
|
+
- [ ] Edit Floor Panel (side panel)
|
|
235
|
+
- [ ] Delete Floor Confirmation
|
|
236
|
+
|
|
237
|
+
### Camera Dialogs
|
|
238
|
+
- [x] Add/Update Camera Dialog - Create mode
|
|
239
|
+
- [ ] Add/Update Camera Dialog - Edit mode
|
|
240
|
+
- [ ] Delete Camera Confirmation
|
|
241
|
+
|
|
242
|
+
### File Dialogs
|
|
243
|
+
- [x] File Upload Dialog
|
|
244
|
+
- [ ] File Details Dialog
|
|
245
|
+
- [ ] File Print Dialog
|
|
246
|
+
- [ ] Delete File Confirmation
|
|
247
|
+
- [ ] File Preview Dialog
|
|
248
|
+
|
|
249
|
+
### Tag Dialogs
|
|
250
|
+
- [ ] Manage Tags Dialog
|
|
251
|
+
- [ ] Create Tag Dialog
|
|
252
|
+
- [ ] Edit Tag Dialog
|
|
253
|
+
- [ ] Delete Tag Confirmation
|
|
254
|
+
|
|
255
|
+
### Import/Export
|
|
256
|
+
- [ ] YAML Import Panel
|
|
257
|
+
- [ ] YAML Export Panel
|
|
258
|
+
- [ ] OctoFarm Import Panel
|
|
259
|
+
- [ ] Import Preview
|
|
260
|
+
|
|
261
|
+
### Job Dialogs
|
|
262
|
+
- [x] Job Details Dialog
|
|
263
|
+
- [ ] Start Print Dialog
|
|
264
|
+
- [ ] Stop Print Confirmation
|
|
265
|
+
|
|
266
|
+
---
|
|
267
|
+
|
|
268
|
+
## Menus & Dropdowns
|
|
269
|
+
|
|
270
|
+
### Context Menus
|
|
271
|
+
- [x] Printer context menu (grid)
|
|
272
|
+
- [x] Printer context menu (list)
|
|
273
|
+
- [x] File context menu
|
|
274
|
+
- [x] Job context menu
|
|
275
|
+
- [x] Queue item context menu
|
|
276
|
+
- [ ] Camera context menu
|
|
277
|
+
- [ ] Tag context menu
|
|
278
|
+
|
|
279
|
+
### Dropdown Menus
|
|
280
|
+
- [x] Printer Type Dropdown
|
|
281
|
+
- [x] Tag Filter Dropdown
|
|
282
|
+
- [x] Printer Type Filter Dropdown
|
|
283
|
+
- [ ] Floor Dropdown
|
|
284
|
+
- [ ] Camera Dropdown
|
|
285
|
+
- [ ] Sort Options Dropdown
|
|
286
|
+
|
|
287
|
+
### Action Menus
|
|
288
|
+
- [ ] Jobs Menu (bulk actions)
|
|
289
|
+
- [ ] Printer Status Menu
|
|
290
|
+
- [ ] Batch Operations Menu
|
|
291
|
+
|
|
292
|
+
---
|
|
293
|
+
|
|
294
|
+
## UI Components
|
|
295
|
+
|
|
296
|
+
### Navigation
|
|
297
|
+
- [ ] Top navigation bar
|
|
298
|
+
- [ ] Sidebar navigation
|
|
299
|
+
- [ ] Breadcrumbs
|
|
300
|
+
- [ ] Mobile navigation drawer
|
|
301
|
+
|
|
302
|
+
### Common Elements
|
|
303
|
+
- [ ] Loading spinners
|
|
304
|
+
- [ ] Error messages
|
|
305
|
+
- [ ] Success snackbars
|
|
306
|
+
- [ ] Warning alerts
|
|
307
|
+
- [ ] Info tooltips
|
|
308
|
+
- [ ] Empty state illustrations
|
|
309
|
+
- [ ] Skeleton loaders
|
|
310
|
+
|
|
311
|
+
### Forms
|
|
312
|
+
- [x] Login form
|
|
313
|
+
- [x] Registration form
|
|
314
|
+
- [x] Create printer form
|
|
315
|
+
- [x] Create floor form
|
|
316
|
+
- [x] Create camera form
|
|
317
|
+
- [ ] Search bars
|
|
318
|
+
- [ ] Filter panels
|
|
319
|
+
- [ ] Validation error states
|
|
320
|
+
|
|
321
|
+
---
|
|
322
|
+
|
|
323
|
+
## Summary Statistics
|
|
324
|
+
|
|
325
|
+
### Overall Coverage
|
|
326
|
+
- **Total Test Suites**: 11 (00-10)
|
|
327
|
+
- **Total Screenshot Tests**: 76
|
|
328
|
+
- **Main Views Covered**: 9/9 (100%)
|
|
329
|
+
- **Settings Pages Covered**: 13/13 (100%)
|
|
330
|
+
- **Major Dialogs Covered**: ~30%
|
|
331
|
+
- **Component Variations Covered**: ~25%
|
|
332
|
+
|
|
333
|
+
### Coverage by Category
|
|
334
|
+
- ✅ **Authentication**: 5/5 tests (100%)
|
|
335
|
+
- ✅ **Dashboard**: 4/4 tests (100%)
|
|
336
|
+
- ⚠️ **Printer Grid**: 7/15 possible (47%)
|
|
337
|
+
- ⚠️ **Printer List**: 8/12 possible (67%)
|
|
338
|
+
- ⚠️ **Camera Grid**: 6/8 possible (75%)
|
|
339
|
+
- ✅ **Print Jobs**: 7/7 tests (100%)
|
|
340
|
+
- ✅ **Queue**: 5/5 tests (100%)
|
|
341
|
+
- ⚠️ **Files**: 8/10 possible (80%)
|
|
342
|
+
- ✅ **Settings**: 13/13 tests (100%)
|
|
343
|
+
- ⚠️ **Dialogs**: 13/30+ possible (~43%)
|
|
344
|
+
|
|
345
|
+
### Priority for Next Tests
|
|
346
|
+
1. **High Priority** - Missing critical UI states:
|
|
347
|
+
- [ ] Printer tile states (printing, idle, error)
|
|
348
|
+
- [ ] Dialog edit modes (update vs create)
|
|
349
|
+
- [ ] Error states and validation
|
|
350
|
+
- [ ] Loading states
|
|
351
|
+
|
|
352
|
+
2. **Medium Priority** - Nice to have variations:
|
|
353
|
+
- [ ] Component hover/focus states
|
|
354
|
+
- [ ] Expanded/collapsed states
|
|
355
|
+
- [ ] Mobile/responsive views
|
|
356
|
+
- [ ] Dark mode variations
|
|
357
|
+
|
|
358
|
+
3. **Low Priority** - Edge cases:
|
|
359
|
+
- [ ] Empty states for all lists
|
|
360
|
+
- [ ] Maximum capacity states
|
|
361
|
+
- [ ] Network error states
|
|
362
|
+
- [ ] Permission denied states
|
|
363
|
+
|
|
364
|
+
---
|
|
365
|
+
|
|
366
|
+
## Notes
|
|
367
|
+
|
|
368
|
+
- All tests currently run in **Desktop Chrome only** at **1920x1080**
|
|
369
|
+
- **Socket.IO data injection** is used to populate floors and printers
|
|
370
|
+
- **API mocking** is used for all HTTP endpoints
|
|
371
|
+
- **Camera streams** are mocked with placeholder images
|
|
372
|
+
- Tests use **headed mode** for debugging with `yarn screenshots:headed`
|
|
373
|
+
|
|
374
|
+
## Future Enhancements
|
|
375
|
+
|
|
376
|
+
- [ ] Add responsive testing (mobile/tablet viewports)
|
|
377
|
+
- [ ] Add visual regression testing (compare against baselines)
|
|
378
|
+
- [ ] Add tests for printer state transitions
|
|
379
|
+
- [ ] Add tests for real-time updates (via Socket.IO)
|
|
380
|
+
- [ ] Add tests for error boundary states
|
|
381
|
+
- [ ] Add tests for loading states
|
|
382
|
+
- [ ] Add dark mode variations
|
|
383
|
+
- [ ] Add accessibility testing
|