refactor: UI file upload components and ephemeral RSA key service

Replace InputFile with RadzenUpload in filter panels for better UX,
switch to ephemeral RSA keys (safe for transport-only encryption),
and add test scripts and documentation files.
This commit is contained in:
Joseph Doherty
2026-01-28 17:22:30 -05:00
parent 5dd17cbab8
commit 04383d672c
32 changed files with 9901 additions and 280 deletions
@@ -0,0 +1,503 @@
# Search Type 150: Time Span + Work Center + Operator
## Overview
Test scripts for Search Type 150, which combines Time Span, Work Center, and Operator filters. This search type allows users to search for work order data within a specific date range, filtered by work center and operator (user ID).
**Search Type ID:** 150
**Filters Enabled:**
- Timespan (Start Date, End Date)
- Work Center
- Operator
---
## Valid Test Data
### Timespan
- Valid date range in database: **1905-01-20** to **2020-09-01**
- Recent: `2020-01-01` to `2020-09-01`
- Mid-range: `2018-01-01` to `2019-12-31`
- Historical: `2016-01-01` to `2017-12-31`
### Work Centers
| Code |
|------|
| 0083AS |
| 0278AS |
| 0424AS |
| 0586AS |
| 0696AS |
| 1010AS |
| 1011AS |
| 10595CA |
| 11275CA |
| 11350CA |
| 11355CA |
| 13316CA |
| 14305CA |
| 15660CA |
| 1700CB |
### Operators (User IDs)
| UserID |
|--------|
| ADAMSSN |
| AGNEWA |
| AGNEWL |
| ALASMARB |
| ALEXIUCG |
| ALLENHY |
| ALLENNI |
| ALURUM |
| ALVESM1 |
| APONTEVE |
| ARCHILAHI |
| ARGUELLC |
| ASHARK |
| ASLANESA |
| AVRAAMIL |
---
## Positive Test Cases
### TC-150-P01: Single Work Center and Single Operator
**Preconditions:**
- User is logged in
- User has access to the Submit Search page
**Steps:**
1. Navigate to Submit Search page
2. Enter search name: "TC-150-P01 Single Values"
3. Select "Time Span + Work Center + Operator" search type
4. Set minimum date to `2019-01-01`
5. Set maximum date to `2019-12-31`
6. Add work center `14305CA`
7. Add operator `AGNEWA`
8. Submit search
**Expected Results:**
- Search is created with status "Queued"
- Search appears in search list with correct name
- Work center and operator filters are saved correctly
- Search processes successfully
---
### TC-150-P02: Multiple Work Centers with Single Operator
**Preconditions:**
- User is logged in
- User has access to the Submit Search page
**Steps:**
1. Navigate to Submit Search page
2. Enter search name: "TC-150-P02 Multiple Work Centers"
3. Select "Time Span + Work Center + Operator" search type
4. Set minimum date to `2018-01-01`
5. Set maximum date to `2019-12-31`
6. Add work center `0083AS`
7. Add work center `0278AS`
8. Add work center `0424AS`
9. Add operator `ADAMSSN`
10. Submit search
**Expected Results:**
- Search is created with status "Queued"
- All three work centers are saved in the search criteria
- Search processes successfully
---
### TC-150-P03: Single Work Center with Multiple Operators
**Preconditions:**
- User is logged in
- User has access to the Submit Search page
**Steps:**
1. Navigate to Submit Search page
2. Enter search name: "TC-150-P03 Multiple Operators"
3. Select "Time Span + Work Center + Operator" search type
4. Set minimum date to `2019-01-01`
5. Set maximum date to `2020-09-01`
6. Add work center `10595CA`
7. Add operator `AGNEWA`
8. Add operator `AGNEWL`
9. Add operator `ALASMARB`
10. Submit search
**Expected Results:**
- Search is created with status "Queued"
- All three operators are saved in the search criteria
- Search processes successfully
---
### TC-150-P04: Multiple Work Centers and Multiple Operators
**Preconditions:**
- User is logged in
- User has access to the Submit Search page
**Steps:**
1. Navigate to Submit Search page
2. Enter search name: "TC-150-P04 Multiple All"
3. Select "Time Span + Work Center + Operator" search type
4. Set minimum date to `2018-01-01`
5. Set maximum date to `2020-09-01`
6. Add work center `11275CA`
7. Add work center `11350CA`
8. Add operator `ALEXIUCG`
9. Add operator `ALLENHY`
10. Submit search
**Expected Results:**
- Search is created with status "Queued"
- All work centers and operators are saved in the search criteria
- Search processes successfully
---
### TC-150-P05: Recent Date Range
**Preconditions:**
- User is logged in
- User has access to the Submit Search page
**Steps:**
1. Navigate to Submit Search page
2. Enter search name: "TC-150-P05 Recent Range"
3. Select "Time Span + Work Center + Operator" search type
4. Set minimum date to `2020-01-01`
5. Set maximum date to `2020-09-01`
6. Add work center `11355CA`
7. Add operator `ALLENNI`
8. Submit search
**Expected Results:**
- Search is created with status "Queued"
- Recent date range is accepted
- Search processes successfully
---
### TC-150-P06: Historical Date Range
**Preconditions:**
- User is logged in
- User has access to the Submit Search page
**Steps:**
1. Navigate to Submit Search page
2. Enter search name: "TC-150-P06 Historical Range"
3. Select "Time Span + Work Center + Operator" search type
4. Set minimum date to `2016-01-01`
5. Set maximum date to `2017-12-31`
6. Add work center `13316CA`
7. Add operator `ALURUM`
8. Submit search
**Expected Results:**
- Search is created with status "Queued"
- Historical date range is accepted
- Search processes successfully (may return fewer or no results)
---
### TC-150-P07: Narrow Date Range (Single Month)
**Preconditions:**
- User is logged in
- User has access to the Submit Search page
**Steps:**
1. Navigate to Submit Search page
2. Enter search name: "TC-150-P07 Single Month"
3. Select "Time Span + Work Center + Operator" search type
4. Set minimum date to `2019-06-01`
5. Set maximum date to `2019-06-30`
6. Add work center `15660CA`
7. Add operator `ALVESM1`
8. Submit search
**Expected Results:**
- Search is created with status "Queued"
- Narrow date range is accepted
- Search processes successfully
---
### TC-150-P08: Many Work Centers and Many Operators
**Preconditions:**
- User is logged in
- User has access to the Submit Search page
**Steps:**
1. Navigate to Submit Search page
2. Enter search name: "TC-150-P08 Many Values"
3. Select "Time Span + Work Center + Operator" search type
4. Set minimum date to `2018-01-01`
5. Set maximum date to `2020-09-01`
6. Add work center `0586AS`
7. Add work center `0696AS`
8. Add work center `1010AS`
9. Add work center `1011AS`
10. Add operator `APONTEVE`
11. Add operator `ARCHILAHI`
12. Add operator `ARGUELLC`
13. Add operator `ASHARK`
14. Submit search
**Expected Results:**
- Search is created with status "Queued"
- All four work centers and four operators are saved correctly
- Search processes successfully
---
### TC-150-P09: Mixed Work Center Formats
**Preconditions:**
- User is logged in
- User has access to the Submit Search page
**Steps:**
1. Navigate to Submit Search page
2. Enter search name: "TC-150-P09 Mixed Formats"
3. Select "Time Span + Work Center + Operator" search type
4. Set minimum date to `2019-01-01`
5. Set maximum date to `2019-12-31`
6. Add work center `0083AS` (4-digit + AS)
7. Add work center `10595CA` (5-digit + CA)
8. Add work center `1700CB` (4-digit + CB)
9. Add operator `ASLANESA`
10. Submit search
**Expected Results:**
- Search is created with status "Queued"
- Different work center code formats are accepted
- Search processes successfully
---
## Negative Test Cases
### TC-150-N01: Missing Date Range
**Preconditions:**
- User is logged in
- User has access to the Submit Search page
**Steps:**
1. Navigate to Submit Search page
2. Enter search name: "TC-150-N01 No Dates"
3. Select "Time Span + Work Center + Operator" search type
4. Leave minimum date empty
5. Leave maximum date empty
6. Add work center `14305CA`
7. Add operator `AGNEWA`
8. Attempt to submit search
**Expected Results:**
- Validation error is displayed
- User is prompted to enter a valid date range
- Search is not created
---
### TC-150-N02: Missing Work Center
**Preconditions:**
- User is logged in
- User has access to the Submit Search page
**Steps:**
1. Navigate to Submit Search page
2. Enter search name: "TC-150-N02 No Work Center"
3. Select "Time Span + Work Center + Operator" search type
4. Set minimum date to `2019-01-01`
5. Set maximum date to `2019-12-31`
6. Do not add any work center
7. Add operator `AGNEWA`
8. Attempt to submit search
**Expected Results:**
- Validation error is displayed
- User is prompted to add at least one work center
- Search is not created
---
### TC-150-N03: Missing Operator
**Preconditions:**
- User is logged in
- User has access to the Submit Search page
**Steps:**
1. Navigate to Submit Search page
2. Enter search name: "TC-150-N03 No Operator"
3. Select "Time Span + Work Center + Operator" search type
4. Set minimum date to `2019-01-01`
5. Set maximum date to `2019-12-31`
6. Add work center `14305CA`
7. Do not add any operator
8. Attempt to submit search
**Expected Results:**
- Validation error is displayed
- User is prompted to add at least one operator
- Search is not created
---
### TC-150-N04: Start Date After End Date
**Preconditions:**
- User is logged in
- User has access to the Submit Search page
**Steps:**
1. Navigate to Submit Search page
2. Enter search name: "TC-150-N04 Invalid Date Range"
3. Select "Time Span + Work Center + Operator" search type
4. Set minimum date to `2020-09-01`
5. Set maximum date to `2019-01-01`
6. Add work center `14305CA`
7. Add operator `AGNEWA`
8. Attempt to submit search
**Expected Results:**
- Validation error is displayed
- User is prompted that start date must be before end date
- Search is not created
---
### TC-150-N05: Empty Work Center Value
**Preconditions:**
- User is logged in
- User has access to the Submit Search page
**Steps:**
1. Navigate to Submit Search page
2. Enter search name: "TC-150-N05 Empty Work Center"
3. Select "Time Span + Work Center + Operator" search type
4. Set minimum date to `2019-01-01`
5. Set maximum date to `2019-12-31`
6. Attempt to add an empty string as work center
7. Add operator `AGNEWA`
8. Attempt to submit search
**Expected Results:**
- Empty work center value is rejected
- Validation error is displayed
- Search is not created
---
### TC-150-N06: Empty Operator Value
**Preconditions:**
- User is logged in
- User has access to the Submit Search page
**Steps:**
1. Navigate to Submit Search page
2. Enter search name: "TC-150-N06 Empty Operator"
3. Select "Time Span + Work Center + Operator" search type
4. Set minimum date to `2019-01-01`
5. Set maximum date to `2019-12-31`
6. Add work center `14305CA`
7. Attempt to add an empty string as operator
8. Attempt to submit search
**Expected Results:**
- Empty operator value is rejected
- Validation error is displayed
- Search is not created
---
### TC-150-N07: Missing Search Name
**Preconditions:**
- User is logged in
- User has access to the Submit Search page
**Steps:**
1. Navigate to Submit Search page
2. Leave search name empty
3. Select "Time Span + Work Center + Operator" search type
4. Set minimum date to `2019-01-01`
5. Set maximum date to `2019-12-31`
6. Add work center `14305CA`
7. Add operator `AGNEWA`
8. Attempt to submit search
**Expected Results:**
- Validation error is displayed
- User is prompted to enter a search name
- Search is not created
---
### TC-150-N08: Missing Start Date Only
**Preconditions:**
- User is logged in
- User has access to the Submit Search page
**Steps:**
1. Navigate to Submit Search page
2. Enter search name: "TC-150-N08 No Start Date"
3. Select "Time Span + Work Center + Operator" search type
4. Leave minimum date empty
5. Set maximum date to `2019-12-31`
6. Add work center `14305CA`
7. Add operator `AGNEWA`
8. Attempt to submit search
**Expected Results:**
- Validation error is displayed
- User is prompted to enter a start date
- Search is not created
---
### TC-150-N09: Missing End Date Only
**Preconditions:**
- User is logged in
- User has access to the Submit Search page
**Steps:**
1. Navigate to Submit Search page
2. Enter search name: "TC-150-N09 No End Date"
3. Select "Time Span + Work Center + Operator" search type
4. Set minimum date to `2019-01-01`
5. Leave maximum date empty
6. Add work center `14305CA`
7. Add operator `AGNEWA`
8. Attempt to submit search
**Expected Results:**
- Validation error is displayed
- User is prompted to enter an end date
- Search is not created
---
## Notes
- Work center codes vary in format (e.g., `0083AS`, `10595CA`, `1700CB`)
- Operator IDs are uppercase user codes (e.g., `AGNEWA`, `ADAMSSN`)
- Operators from `WorkOrderRouting` table
- Work centers from `WorkOrderStep_Hist` table
- Useful for finding work done by specific operators at specific work centers