docs: update test plan format and structure
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -1,8 +1,7 @@
|
||||
# TrakQR Test Plan
|
||||
|
||||
> Manual test plan for validating all features before release.
|
||||
|
||||
## Test Plan Overview
|
||||
- ## Test Plan Overview
|
||||
|
||||
| Item | Details |
|
||||
|------|---------|
|
||||
@@ -10,8 +9,7 @@
|
||||
| **Version** | MVP |
|
||||
| **Test Type** | Functional / End-to-End |
|
||||
| **Environment** | Development (`localhost:5173` + `localhost:42001`) |
|
||||
|
||||
## How to Use This Document
|
||||
- ## How to Use This Document
|
||||
|
||||
1. Work through each section sequentially
|
||||
2. Check the box `[x]` when a test passes
|
||||
@@ -19,10 +17,8 @@
|
||||
4. Mark `[S]` for skipped tests with reason
|
||||
|
||||
---
|
||||
|
||||
## 1. Authentication
|
||||
|
||||
### 1.1 Registration
|
||||
- ## 1. Authentication
|
||||
- ### 1.1 Registration
|
||||
|
||||
| # | Test Case | Steps | Expected Result | Status |
|
||||
|---|-----------|-------|-----------------|--------|
|
||||
@@ -31,8 +27,7 @@
|
||||
| 1.1.3 | Register with short password | 1. Go to `/register`<br>2. Enter valid email, password < 8 chars<br>3. Click Register | Error message about password length | [ ] |
|
||||
| 1.1.4 | Register with existing email | 1. Register a new account<br>2. Try to register again with same email | Error message about email already in use | [ ] |
|
||||
| 1.1.5 | Registration rate limiting | 1. Attempt to register 15+ times in 1 minute | Rate limit error after ~10 attempts | [ ] |
|
||||
|
||||
### 1.2 Login
|
||||
- ### 1.2 Login
|
||||
|
||||
| # | Test Case | Steps | Expected Result | Status |
|
||||
|---|-----------|-------|-----------------|--------|
|
||||
@@ -41,8 +36,7 @@
|
||||
| 1.2.3 | Login with non-existent email | 1. Go to `/login`<br>2. Enter unregistered email<br>3. Click Login | Error message (generic, no email enumeration) | [ ] |
|
||||
| 1.2.4 | Login rate limiting | 1. Attempt failed logins 15+ times | Rate limit error after ~10 attempts | [ ] |
|
||||
| 1.2.5 | Redirect after login | 1. Try to access `/links` while logged out<br>2. Get redirected to login<br>3. Login successfully | Redirected back to `/links` | [ ] |
|
||||
|
||||
### 1.3 Password Reset
|
||||
- ### 1.3 Password Reset
|
||||
|
||||
| # | Test Case | Steps | Expected Result | Status |
|
||||
|---|-----------|-------|-----------------|--------|
|
||||
@@ -50,16 +44,14 @@
|
||||
| 1.3.2 | Reset with valid token | 1. Get reset token from email/console<br>2. Go to `/reset-password?token=xxx`<br>3. Enter new password | Password changed, can login with new password | [ ] |
|
||||
| 1.3.3 | Reset with invalid token | 1. Go to `/reset-password?token=invalid`<br>2. Enter new password | Error message about invalid/expired token | [ ] |
|
||||
| 1.3.4 | Reset with expired token | 1. Wait for token to expire (or modify DB)<br>2. Try to use token | Error message about expired token | [ ] |
|
||||
|
||||
### 1.4 Email Verification
|
||||
- ### 1.4 Email Verification
|
||||
|
||||
| # | Test Case | Steps | Expected Result | Status |
|
||||
|---|-----------|-------|-----------------|--------|
|
||||
|----------------|-------|-----------------|--------|
|
||||
| 1.4.1 | Verify with valid token | 1. Register new account<br>2. Get verification token from console<br>3. Go to `/verify-email?token=xxx` | Email verified, success message | [ ] |
|
||||
| 1.4.2 | Verify with invalid token | 1. Go to `/verify-email?token=invalid` | Error message about invalid token | [ ] |
|
||||
| 1.4.3 | Resend verification | 1. Login with unverified account<br>2. Go to Settings<br>3. Click "Resend verification" | New email sent (check console) | [ ] |
|
||||
|
||||
### 1.5 Logout
|
||||
- ### 1.5 Logout
|
||||
|
||||
| # | Test Case | Steps | Expected Result | Status |
|
||||
|---|-----------|-------|-----------------|--------|
|
||||
@@ -67,10 +59,8 @@
|
||||
| 1.5.2 | Session persistence | 1. Login<br>2. Close browser<br>3. Reopen and go to app | Still logged in (token in localStorage) | [ ] |
|
||||
|
||||
---
|
||||
|
||||
## 2. Workspaces
|
||||
|
||||
### 2.1 Workspace Management
|
||||
- ## 2. Workspaces
|
||||
- ### 2.1 Workspace Management
|
||||
|
||||
| # | Test Case | Steps | Expected Result | Status |
|
||||
|---|-----------|-------|-----------------|--------|
|
||||
@@ -83,10 +73,8 @@
|
||||
| 2.1.7 | Workspace persistence | 1. Switch to workspace B<br>2. Refresh page | Still on workspace B (localStorage) | [ ] |
|
||||
|
||||
---
|
||||
|
||||
## 3. Projects
|
||||
|
||||
### 3.1 Project CRUD
|
||||
- ## 3. Projects
|
||||
- ### 3.1 Project CRUD
|
||||
|
||||
| # | Test Case | Steps | Expected Result | Status |
|
||||
|---|-----------|-------|-----------------|--------|
|
||||
@@ -97,10 +85,8 @@
|
||||
| 3.1.5 | Project shows link count | 1. Create project<br>2. Create links assigned to project<br>3. View projects | Link count displayed correctly | [ ] |
|
||||
|
||||
---
|
||||
|
||||
## 4. Short Links
|
||||
|
||||
### 4.1 Link Creation
|
||||
- ## 4. Short Links
|
||||
- ### 4.1 Link Creation
|
||||
|
||||
| # | Test Case | Steps | Expected Result | Status |
|
||||
|---|-----------|-------|-----------------|--------|
|
||||
@@ -111,8 +97,7 @@
|
||||
| 4.1.5 | Create link with password | 1. Create link with password set | Link requires password to access | [ ] |
|
||||
| 4.1.6 | Invalid destination URL | 1. Try to create link with invalid URL | Error message shown | [ ] |
|
||||
| 4.1.7 | Duplicate slug | 1. Create link with slug "test"<br>2. Try to create another with same slug | Error message about duplicate | [ ] |
|
||||
|
||||
### 4.2 Link Management
|
||||
- ### 4.2 Link Management
|
||||
|
||||
| # | Test Case | Steps | Expected Result | Status |
|
||||
|---|-----------|-------|-----------------|--------|
|
||||
@@ -123,16 +108,14 @@
|
||||
| 4.2.5 | View trash | 1. Click "Trash" toggle | Deleted links shown | [ ] |
|
||||
| 4.2.6 | Restore link | 1. View trash<br>2. Click restore on a link | Link restored, works again | [ ] |
|
||||
| 4.2.7 | Disable link | 1. Edit link<br>2. Set status to Disabled<br>3. Save | Link returns 404/disabled message | [ ] |
|
||||
|
||||
### 4.3 Bulk Import
|
||||
- ### 4.3 Bulk Import
|
||||
|
||||
| # | Test Case | Steps | Expected Result | Status |
|
||||
|---|-----------|-------|-----------------|--------|
|
||||
| 4.3.1 | Bulk import URLs | 1. Click "Bulk Import"<br>2. Paste multiple URLs (one per line)<br>3. Import | All links created | [ ] |
|
||||
| 4.3.2 | Bulk import with titles | 1. Paste URLs with titles: `https://example.com, My Title`<br>2. Import | Links created with titles | [ ] |
|
||||
| 4.3.3 | Bulk import with invalid URLs | 1. Include some invalid URLs in list<br>2. Import | Valid URLs imported, errors shown for invalid | [ ] |
|
||||
|
||||
### 4.4 UTM Builder
|
||||
- ### 4.4 UTM Builder
|
||||
|
||||
| # | Test Case | Steps | Expected Result | Status |
|
||||
|---|-----------|-------|-----------------|--------|
|
||||
@@ -141,10 +124,8 @@
|
||||
| 4.4.3 | UTM preview | 1. Fill in UTM fields | Preview shows full URL with params | [ ] |
|
||||
|
||||
---
|
||||
|
||||
## 5. Redirect
|
||||
|
||||
### 5.1 Public Redirect
|
||||
- ## 5. Redirect
|
||||
- ### 5.1 Public Redirect
|
||||
|
||||
| # | Test Case | Steps | Expected Result | Status |
|
||||
|---|-----------|-------|-----------------|--------|
|
||||
@@ -158,18 +139,15 @@
|
||||
| 5.1.8 | Redirect rate limiting | 1. Hit redirect endpoint 100+ times rapidly | Rate limited after threshold | [ ] |
|
||||
|
||||
---
|
||||
|
||||
## 6. QR Codes
|
||||
|
||||
### 6.1 QR Creation
|
||||
- ## 6. QR Codes
|
||||
- ### 6.1 QR Creation
|
||||
|
||||
| # | Test Case | Steps | Expected Result | Status |
|
||||
|---|-----------|-------|-----------------|--------|
|
||||
| 6.1.1 | Create basic QR | 1. Go to `/qrcodes/new`<br>2. Select a link<br>3. Save | QR code created with default style | [ ] |
|
||||
| 6.1.2 | QR requires link | 1. Go to `/qrcodes/new`<br>2. Try to save without link | Error message | [ ] |
|
||||
| 6.1.3 | QR name | 1. Create QR with custom name | Name shown in list | [ ] |
|
||||
|
||||
### 6.2 QR Designer
|
||||
- ### 6.2 QR Designer
|
||||
|
||||
| # | Test Case | Steps | Expected Result | Status |
|
||||
|---|-----------|-------|-----------------|--------|
|
||||
@@ -183,8 +161,7 @@
|
||||
| 6.2.8 | Upload logo | 1. Click logo upload<br>2. Select image file | Logo appears in center of QR | [ ] |
|
||||
| 6.2.9 | Select existing logo | 1. Have uploaded assets<br>2. Select from asset gallery | Logo applied from gallery | [ ] |
|
||||
| 6.2.10 | Remove logo | 1. Have QR with logo<br>2. Remove logo | QR renders without logo | [ ] |
|
||||
|
||||
### 6.3 QR Export
|
||||
- ### 6.3 QR Export
|
||||
|
||||
| # | Test Case | Steps | Expected Result | Status |
|
||||
|---|-----------|-------|-----------------|--------|
|
||||
@@ -193,8 +170,7 @@
|
||||
| 6.3.3 | PNG has correct size | 1. Export PNG<br>2. Check dimensions | Matches selected size (256/512/1024) | [ ] |
|
||||
| 6.3.4 | QR is scannable | 1. Export QR<br>2. Scan with phone | Opens correct short URL | [ ] |
|
||||
| 6.3.5 | QR with logo is scannable | 1. Add logo to QR<br>2. Export and scan | Still scans correctly | [ ] |
|
||||
|
||||
### 6.4 QR List
|
||||
- ### 6.4 QR List
|
||||
|
||||
| # | Test Case | Steps | Expected Result | Status |
|
||||
|---|-----------|-------|-----------------|--------|
|
||||
@@ -204,10 +180,8 @@
|
||||
| 6.4.4 | Edit QR | 1. Click edit on QR | Opens designer with saved settings | [ ] |
|
||||
|
||||
---
|
||||
|
||||
## 7. Analytics
|
||||
|
||||
### 7.1 Event Tracking
|
||||
- ## 7. Analytics
|
||||
- ### 7.1 Event Tracking
|
||||
|
||||
| # | Test Case | Steps | Expected Result | Status |
|
||||
|---|-----------|-------|-----------------|--------|
|
||||
@@ -217,8 +191,7 @@
|
||||
| 7.1.4 | Device detection | 1. Visit from mobile device<br>2. Check device breakdown | Mobile device recorded | [ ] |
|
||||
| 7.1.5 | Referrer tracking | 1. Visit link from a webpage<br>2. Check referrer breakdown | Referrer domain recorded | [ ] |
|
||||
| 7.1.6 | Country detection | 1. Visit link<br>2. Check geo breakdown | Country detected (if GeoIP configured) | [ ] |
|
||||
|
||||
### 7.2 Dashboard Analytics
|
||||
- ### 7.2 Dashboard Analytics
|
||||
|
||||
| # | Test Case | Steps | Expected Result | Status |
|
||||
|---|-----------|-------|-----------------|--------|
|
||||
@@ -229,23 +202,20 @@
|
||||
| 7.2.5 | Device breakdown | 1. View device breakdown | Desktop/Mobile/Tablet shown | [ ] |
|
||||
| 7.2.6 | Referrer breakdown | 1. View referrer breakdown | Top referrers listed | [ ] |
|
||||
| 7.2.7 | Country breakdown | 1. View geo breakdown | Countries with flags shown | [ ] |
|
||||
|
||||
### 7.3 Period Filters
|
||||
- ### 7.3 Period Filters
|
||||
|
||||
| # | Test Case | Steps | Expected Result | Status |
|
||||
|---|-----------|-------|-----------------|--------|
|
||||
| 7.3.1 | 24h filter | 1. Click "24h" period | Data filtered to last 24 hours | [ ] |
|
||||
| 7.3.2 | 7d filter | 1. Click "7d" period | Data filtered to last 7 days | [ ] |
|
||||
| 7.3.3 | 30d filter | 1. Click "30d" period | Data filtered to last 30 days | [ ] |
|
||||
|
||||
### 7.4 Per-Link Analytics
|
||||
- ### 7.4 Per-Link Analytics
|
||||
|
||||
| # | Test Case | Steps | Expected Result | Status |
|
||||
|---|-----------|-------|-----------------|--------|
|
||||
| 7.4.1 | View link detail | 1. Go to `/links/{id}` | Link analytics shown | [ ] |
|
||||
| 7.4.2 | Link-specific stats | 1. View link detail | Stats match only that link's data | [ ] |
|
||||
|
||||
### 7.5 Per-QR Analytics
|
||||
- ### 7.5 Per-QR Analytics
|
||||
|
||||
| # | Test Case | Steps | Expected Result | Status |
|
||||
|---|-----------|-------|-----------------|--------|
|
||||
@@ -253,10 +223,8 @@
|
||||
| 7.5.2 | QR-specific stats | 1. View QR detail | Stats match only that QR's scans | [ ] |
|
||||
|
||||
---
|
||||
|
||||
## 8. Domains
|
||||
|
||||
### 8.1 Domain Management
|
||||
- ## 8. Domains
|
||||
- ### 8.1 Domain Management
|
||||
|
||||
| # | Test Case | Steps | Expected Result | Status |
|
||||
|---|-----------|-------|-----------------|--------|
|
||||
@@ -269,26 +237,22 @@
|
||||
| 8.1.7 | Free plan restriction | 1. Be on Free plan<br>2. Try to add domain | Upgrade prompt shown | [ ] |
|
||||
|
||||
---
|
||||
|
||||
## 9. Settings
|
||||
|
||||
### 9.1 Profile
|
||||
- ## 9. Settings
|
||||
- ### 9.1 Profile
|
||||
|
||||
| # | Test Case | Steps | Expected Result | Status |
|
||||
|---|-----------|-------|-----------------|--------|
|
||||
| 9.1.1 | View profile | 1. Go to `/settings` | Current email shown | [ ] |
|
||||
| 9.1.2 | Update email | 1. Change email<br>2. Save | Email updated | [ ] |
|
||||
| 9.1.3 | Verification warning | 1. Have unverified email | Warning shown with resend link | [ ] |
|
||||
|
||||
### 9.2 Password Change
|
||||
- ### 9.2 Password Change
|
||||
|
||||
| # | Test Case | Steps | Expected Result | Status |
|
||||
|---|-----------|-------|-----------------|--------|
|
||||
| 9.2.1 | Change password | 1. Enter current password<br>2. Enter new password twice<br>3. Submit | Password changed | [ ] |
|
||||
| 9.2.2 | Wrong current password | 1. Enter wrong current password<br>2. Submit | Error message | [ ] |
|
||||
| 9.2.3 | Passwords don't match | 1. Enter different passwords<br>2. Submit | Error message | [ ] |
|
||||
|
||||
### 9.3 API Keys
|
||||
- ### 9.3 API Keys
|
||||
|
||||
| # | Test Case | Steps | Expected Result | Status |
|
||||
|---|-----------|-------|-----------------|--------|
|
||||
@@ -298,8 +262,7 @@
|
||||
| 9.3.4 | Key with expiry | 1. Create key with 30-day expiry | Expiry date shown | [ ] |
|
||||
| 9.3.5 | Delete API key | 1. Click delete on a key<br>2. Confirm | Key removed | [ ] |
|
||||
| 9.3.6 | Key prefix shown | 1. View existing keys | Only prefix visible (e.g., `tq_abc...`) | [ ] |
|
||||
|
||||
### 9.4 Danger Zone
|
||||
- ### 9.4 Danger Zone
|
||||
|
||||
| # | Test Case | Steps | Expected Result | Status |
|
||||
|---|-----------|-------|-----------------|--------|
|
||||
@@ -308,18 +271,15 @@
|
||||
| 9.4.3 | Wrong password on delete | 1. Enter wrong password | Error, account not deleted | [ ] |
|
||||
|
||||
---
|
||||
|
||||
## 10. Billing
|
||||
|
||||
### 10.1 Plan Display
|
||||
- ## 10. Billing
|
||||
- ### 10.1 Plan Display
|
||||
|
||||
| # | Test Case | Steps | Expected Result | Status |
|
||||
|---|-----------|-------|-----------------|--------|
|
||||
| 10.1.1 | View billing page | 1. Go to `/billing` | Current plan and features shown | [ ] |
|
||||
| 10.1.2 | Plan comparison | 1. View billing page | Free/Pro/Business plans compared | [ ] |
|
||||
| 10.1.3 | Current plan highlighted | 1. View billing page | Current plan marked as "Current" | [ ] |
|
||||
|
||||
### 10.2 Stripe Integration
|
||||
- ### 10.2 Stripe Integration
|
||||
|
||||
| # | Test Case | Steps | Expected Result | Status |
|
||||
|---|-----------|-------|-----------------|--------|
|
||||
@@ -328,10 +288,8 @@
|
||||
| 10.2.3 | Cancel subscription | 1. Cancel in Stripe portal | Plan downgrades at period end | [ ] |
|
||||
|
||||
---
|
||||
|
||||
## 11. Plan Limits
|
||||
|
||||
### 11.1 Free Plan Limits
|
||||
- ## 11. Plan Limits
|
||||
- ### 11.1 Free Plan Limits
|
||||
|
||||
| # | Test Case | Steps | Expected Result | Status |
|
||||
|---|-----------|-------|-----------------|--------|
|
||||
@@ -339,41 +297,35 @@
|
||||
| 11.1.2 | Link limit | 1. Create 50 links<br>2. Try to create 51st | Error: limit reached | [ ] |
|
||||
| 11.1.3 | QR code limit | 1. Create 25 QR codes<br>2. Try to create 26th | Error: limit reached | [ ] |
|
||||
| 11.1.4 | No custom domains | 1. Try to add domain on Free | Upgrade prompt | [ ] |
|
||||
|
||||
### 11.2 Usage Display
|
||||
- ### 11.2 Usage Display
|
||||
|
||||
| # | Test Case | Steps | Expected Result | Status |
|
||||
|---|-----------|-------|-----------------|--------|
|
||||
| 11.2.1 | View usage | 1. Check billing or dashboard | Usage stats shown (links, QRs, events) | [ ] |
|
||||
|
||||
---
|
||||
|
||||
## 12. UI/UX
|
||||
|
||||
### 12.1 Navigation
|
||||
- ## 12. UI/UX
|
||||
- ### 12.1 Navigation
|
||||
|
||||
| # | Test Case | Steps | Expected Result | Status |
|
||||
|---|-----------|-------|-----------------|--------|
|
||||
| 12.1.1 | Sidebar navigation | 1. Click each nav item | Correct page loads | [ ] |
|
||||
| 12.1.2 | Active nav highlight | 1. Navigate to different pages | Current page highlighted in sidebar | [ ] |
|
||||
| 12.1.3 | Mobile responsive | 1. Resize to mobile width | Layout adapts correctly | [ ] |
|
||||
|
||||
### 12.2 Loading States
|
||||
- ### 12.2 Loading States
|
||||
|
||||
| # | Test Case | Steps | Expected Result | Status |
|
||||
|---|-----------|-------|-----------------|--------|
|
||||
| 12.2.1 | Loading indicators | 1. Navigate to data-heavy page | Loading indicator shown while fetching | [ ] |
|
||||
| 12.2.2 | Button loading states | 1. Submit a form | Button shows loading state | [ ] |
|
||||
|
||||
### 12.3 Error Handling
|
||||
- ### 12.3 Error Handling
|
||||
|
||||
| # | Test Case | Steps | Expected Result | Status |
|
||||
|---|-----------|-------|-----------------|--------|
|
||||
| 12.3.1 | API errors shown | 1. Trigger an API error | User-friendly error message | [ ] |
|
||||
| 12.3.2 | Network error | 1. Disable network<br>2. Try an action | Appropriate error message | [ ] |
|
||||
| 12.3.3 | 401 redirect | 1. Clear token from localStorage<br>2. Try protected action | Redirected to login | [ ] |
|
||||
|
||||
### 12.4 Empty States
|
||||
- ### 12.4 Empty States
|
||||
|
||||
| # | Test Case | Steps | Expected Result | Status |
|
||||
|---|-----------|-------|-----------------|--------|
|
||||
@@ -383,18 +335,15 @@
|
||||
| 12.4.4 | No analytics data | 1. View analytics with no events | Empty state message | [ ] |
|
||||
|
||||
---
|
||||
|
||||
## 13. Security
|
||||
|
||||
### 13.1 Authentication
|
||||
- ## 13. Security
|
||||
- ### 13.1 Authentication
|
||||
|
||||
| # | Test Case | Steps | Expected Result | Status |
|
||||
|---|-----------|-------|-----------------|--------|
|
||||
| 13.1.1 | Protected routes | 1. Log out<br>2. Try to access `/dashboard` | Redirected to login | [ ] |
|
||||
| 13.1.2 | JWT expiry | 1. Wait for token to expire<br>2. Try an action | Redirected to login | [ ] |
|
||||
| 13.1.3 | Cross-workspace access | 1. Try to access another user's workspace ID | 404 or 403 error | [ ] |
|
||||
|
||||
### 13.2 Input Validation
|
||||
- ### 13.2 Input Validation
|
||||
|
||||
| # | Test Case | Steps | Expected Result | Status |
|
||||
|---|-----------|-------|-----------------|--------|
|
||||
@@ -402,8 +351,7 @@
|
||||
| 13.2.2 | SQL injection attempt | 1. Enter SQL in form fields | No SQL executed, handled safely | [ ] |
|
||||
|
||||
---
|
||||
|
||||
## Test Summary
|
||||
- ## Test Summary
|
||||
|
||||
| Section | Total Tests | Passed | Failed | Skipped |
|
||||
|---------|-------------|--------|--------|---------|
|
||||
@@ -423,10 +371,8 @@
|
||||
| **TOTAL** | **131** | | | |
|
||||
|
||||
---
|
||||
|
||||
## Test Environment Setup
|
||||
|
||||
### Prerequisites
|
||||
- ## Test Environment Setup
|
||||
- ### Prerequisites
|
||||
|
||||
1. **Backend running**: `cd src/api && dotnet run`
|
||||
2. **Frontend running**: `cd src/frontend && npm run dev`
|
||||
@@ -434,8 +380,7 @@
|
||||
4. **Email**: Console output in development (check terminal)
|
||||
5. **Stripe**: Test mode with test API keys (optional for billing tests)
|
||||
6. **GeoIP**: MaxMind database configured (optional for geo tests)
|
||||
|
||||
### Test Accounts
|
||||
- ### Test Accounts
|
||||
|
||||
Create these accounts before testing:
|
||||
|
||||
@@ -446,21 +391,17 @@ Create these accounts before testing:
|
||||
| `free@example.com` | `password123` | Free limits testing |
|
||||
|
||||
---
|
||||
|
||||
## Notes
|
||||
|
||||
- ## Notes
|
||||
- Mark tests as `[F]` if they fail and add details below
|
||||
- Mark tests as `[S]` if skipped with reason
|
||||
- Re-run failed tests after fixes
|
||||
- Update this document as features change
|
||||
|
||||
### Failed Tests Log
|
||||
- ### Failed Tests Log
|
||||
|
||||
| Test # | Issue | Date | Fixed |
|
||||
|--------|-------|------|-------|
|
||||
| | | | |
|
||||
|
||||
### Skipped Tests Log
|
||||
- ### Skipped Tests Log
|
||||
|
||||
| Test # | Reason | Date |
|
||||
|--------|--------|------|
|
||||
|
||||
Reference in New Issue
Block a user