Files
Joseph Doherty 04383d672c 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.
2026-01-28 17:22:30 -05:00

415 lines
10 KiB
Markdown

# Search Type 140: Time Span + Item Number
## Overview
Test scripts for Search Type 140, which combines Time Span and Item Number filters. This search type allows users to search for work order data within a specific date range, filtered by one or more item numbers.
**Search Type ID:** 140
**Filters Enabled:**
- Timespan (Start Date, End Date)
- Item Number
---
## 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`
### Item Numbers
| ItemNumber |
|------------|
| 00003200700 |
| 00003200800 |
| 00003200900 |
| 00003201500 |
| 00003205000 |
| 00003205100 |
| 00003205200 |
| 00003208800 |
| 00003208900 |
| 00003209000 |
| 00003300100 |
| 00003300200 |
| 00003300300 |
| 00003304900 |
| 00003305000 |
---
## Positive Test Cases
### TC-140-P01: Single Item Number
**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-140-P01 Single Item"
3. Select "Time Span + Item Number" search type
4. Set minimum date to `2019-01-01`
5. Set maximum date to `2020-09-01`
6. Add item number `00003300100`
7. Submit search
**Expected Results:**
- Search is created with status "Queued"
- Search appears in search list with correct name
- Item number filter is saved correctly
- Search processes successfully
---
### TC-140-P02: Multiple Item Numbers
**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-140-P02 Multiple Items"
3. Select "Time Span + Item Number" search type
4. Set minimum date to `2018-01-01`
5. Set maximum date to `2020-09-01`
6. Add item number `00003200700`
7. Add item number `00003200800`
8. Add item number `00003200900`
9. Submit search
**Expected Results:**
- Search is created with status "Queued"
- All three item numbers are saved in the search criteria
- Search processes successfully
---
### TC-140-P03: Many Item Numbers
**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-140-P03 Many Items"
3. Select "Time Span + Item Number" search type
4. Set minimum date to `2018-01-01`
5. Set maximum date to `2019-12-31`
6. Add item number `00003205000`
7. Add item number `00003205100`
8. Add item number `00003205200`
9. Add item number `00003208800`
10. Add item number `00003208900`
11. Submit search
**Expected Results:**
- Search is created with status "Queued"
- All five item numbers are saved in the search criteria
- Search processes successfully
---
### TC-140-P04: 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-140-P04 Recent Range"
3. Select "Time Span + Item Number" search type
4. Set minimum date to `2020-01-01`
5. Set maximum date to `2020-09-01`
6. Add item number `00003300200`
7. Submit search
**Expected Results:**
- Search is created with status "Queued"
- Recent date range is accepted
- Search processes successfully
---
### TC-140-P05: 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-140-P05 Historical Range"
3. Select "Time Span + Item Number" search type
4. Set minimum date to `2016-01-01`
5. Set maximum date to `2017-12-31`
6. Add item number `00003300300`
7. 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-140-P06: 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-140-P06 Single Month"
3. Select "Time Span + Item Number" search type
4. Set minimum date to `2020-06-01`
5. Set maximum date to `2020-06-30`
6. Add item number `00003304900`
7. Submit search
**Expected Results:**
- Search is created with status "Queued"
- Narrow date range is accepted
- Search processes successfully
---
### TC-140-P07: Same Start and 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-140-P07 Same Day"
3. Select "Time Span + Item Number" search type
4. Set minimum date to `2020-05-15`
5. Set maximum date to `2020-05-15`
6. Add item number `00003305000`
7. Submit search
**Expected Results:**
- Search is created with status "Queued"
- Same-day date range is accepted
- Search processes successfully
---
### TC-140-P08: Items from Different Series
**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-140-P08 Different Series"
3. Select "Time Span + Item Number" search type
4. Set minimum date to `2018-01-01`
5. Set maximum date to `2020-09-01`
6. Add item number `00003200700` (32xx series)
7. Add item number `00003300100` (33xx series)
8. Add item number `00003209000` (32xx series)
9. Submit search
**Expected Results:**
- Search is created with status "Queued"
- Items from different number series are accepted
- Search processes successfully
---
## Negative Test Cases
### TC-140-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-140-N01 No Dates"
3. Select "Time Span + Item Number" search type
4. Leave minimum date empty
5. Leave maximum date empty
6. Add item number `00003300100`
7. Attempt to submit search
**Expected Results:**
- Validation error is displayed
- User is prompted to enter a valid date range
- Search is not created
---
### TC-140-N02: 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-140-N02 No Start Date"
3. Select "Time Span + Item Number" search type
4. Leave minimum date empty
5. Set maximum date to `2020-09-01`
6. Add item number `00003300100`
7. Attempt to submit search
**Expected Results:**
- Validation error is displayed
- User is prompted to enter a start date
- Search is not created
---
### TC-140-N03: 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-140-N03 No End Date"
3. Select "Time Span + Item Number" search type
4. Set minimum date to `2019-01-01`
5. Leave maximum date empty
6. Add item number `00003300100`
7. Attempt to submit search
**Expected Results:**
- Validation error is displayed
- User is prompted to enter an end date
- Search is not created
---
### TC-140-N04: Missing Item Number
**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-140-N04 No Item"
3. Select "Time Span + Item Number" search type
4. Set minimum date to `2019-01-01`
5. Set maximum date to `2020-09-01`
6. Do not add any item number
7. Attempt to submit search
**Expected Results:**
- Validation error is displayed
- User is prompted to add at least one item number
- Search is not created
---
### TC-140-N05: 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-140-N05 Invalid Date Range"
3. Select "Time Span + Item Number" search type
4. Set minimum date to `2020-09-01`
5. Set maximum date to `2019-01-01`
6. Add item number `00003300100`
7. 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-140-N06: Empty Item Number 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-140-N06 Empty Item"
3. Select "Time Span + Item Number" search type
4. Set minimum date to `2019-01-01`
5. Set maximum date to `2020-09-01`
6. Attempt to add an empty string as item number
7. Attempt to submit search
**Expected Results:**
- Empty item number value is rejected
- Validation error is displayed
- Search is not created
---
### TC-140-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 + Item Number" search type
4. Set minimum date to `2019-01-01`
5. Set maximum date to `2020-09-01`
6. Add item number `00003300100`
7. Attempt to submit search
**Expected Results:**
- Validation error is displayed
- User is prompted to enter a search name
- Search is not created
---
### TC-140-N08: Whitespace-Only Item Number
**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-140-N08 Whitespace Item"
3. Select "Time Span + Item Number" search type
4. Set minimum date to `2019-01-01`
5. Set maximum date to `2020-09-01`
6. Attempt to add " " (whitespace only) as item number
7. Attempt to submit search
**Expected Results:**
- Whitespace-only item number is rejected
- Validation error is displayed
- Search is not created
---
## Notes
- Item numbers are 11-character codes (e.g., `00003300100`)
- Data was extracted from `WorkOrder_Hist` table (1,742,847 records)
- This is one of the simpler search types with only two filter categories
- Useful for finding all work orders associated with specific parts/items