chore: git cache cleanup

This commit is contained in:
GitHub Actions
2026-03-04 18:34:49 +00:00
parent c32cce2a88
commit 27c252600a
2001 changed files with 683185 additions and 0 deletions

View File

@@ -0,0 +1,207 @@
# QA Report: Phase 5 Implementation
**Date:** 2026-01-24
**Agent:** QA_Security
**Status:** ISSUES FOUND
## Summary
| Check | Status | Notes |
|-------|--------|-------|
| Playwright E2E Tests | ⚠️ PARTIAL | 11/12 enabled tests passed, 1 failed |
| TypeScript Check | ✅ PASS | No errors |
| Pre-commit Hooks | ✅ PASS | All hooks passed |
| Security Scan (Trivy) | ✅ PASS | 0 vulnerabilities |
| Frontend Lint | ✅ PASS | 0 errors, 56 warnings (non-blocking) |
| Backend Go Vet | ✅ PASS | No issues |
## Modified Files Verified
- `playwright.config.js` - ✅ Executed successfully
- `tests/auth.setup.ts` - ✅ Auth setup passed (290ms)
- `tests/fixtures/auth-fixtures.ts` - ✅ Working, cleanup warnings noted
- `tests/settings/user-management.spec.ts` - ⚠️ 1 test failure
- `scripts/validate-e2e-auth.sh` - ✅ Script exists and is valid
---
## 1. Playwright E2E Tests
### Execution Details
```text
Running 29 tests using 2 workers
- 1 failed
- 17 skipped (expected - marked as skip)
- 11 passed
```
### Passed Tests (11/12 enabled)
1.`authenticate` (setup) - 290ms
2.`should display user list` - 11.0s
3.`should send invite with valid email` - 9.2s
4.`should select user role` - 8.4s
5.`should configure permission mode` - 5.2s
6.`should select permitted hosts` - 5.3s
7.`should show invite URL preview` - 6.7s
8.`should enable/disable user` - 8.4s
9.`should prevent deleting last admin` - 3.6s
10.`should prevent self-deletion` - 4.0s
11.`should be keyboard navigable` - 12.9s
### Failed Test (1)
| Test | Error | Severity |
|------|-------|----------|
| `should update permission mode` | `waitForModal: Could not find modal dialog or slide-out panel matching "/permissions/i"` | **HIGH** |
**Root Cause Analysis:**
The test is attempting to click a permissions button in the user table row, then waiting for a modal to appear with title matching `/permissions/i`. The modal is not appearing or has a different structure.
**Location:** `tests/settings/user-management.spec.ts:536`
**Code Path:**
```typescript
const permissionsButton = userRow.getByRole('button', { name: /permissions/i });
await permissionsButton.click();
await waitForModal(page, /permissions/i); // ❌ Fails here
```
**Recommendation:**
1. Verify the permissions modal UI is fully implemented
2. Check if the button click is triggering the modal correctly
3. Verify the modal title/aria-label matches the expected pattern
### Cleanup Warnings (Non-blocking)
Cleanup warnings observed during test teardown:
```text
Failed to cleanup user:1365-1368: Error: Failed to delete user: {"error":"Admin access required"}
```
This is expected behavior - TestDataManager runs with user (not admin) credentials during cleanup phase.
---
## 2. TypeScript Check
```text
✅ PASSED
Command: `tsc --noEmit`
Exit code: 0
Errors: 0
```
---
## 3. Pre-commit Hooks
```text
✅ ALL PASSED
fix end of files.........................................................Passed
trim trailing whitespace.................................................Passed
check yaml...............................................................Passed
check for added large files..............................................Passed
dockerfile validation....................................................Passed
Go Vet...................................................................Passed
golangci-lint (Fast Linters - BLOCKING)..................................Passed
Check .version matches latest Git tag....................................Passed
Prevent large files that are not tracked by LFS..........................Passed
Prevent committing CodeQL DB artifacts...................................Passed
Prevent committing data/backups files....................................Passed
Frontend TypeScript Check................................................Passed
Frontend Lint (Fix)......................................................Passed
```
---
## 4. Security Scan (Trivy)
```text
✅ PASSED
Vulnerabilities: 0 (HIGH/CRITICAL)
Secrets: 0
```
Report Summary:
| Target | Type | Vulnerabilities | Secrets |
|--------|------|-----------------|---------|
| package-lock.json | npm | 0 | - |
---
## 5. Frontend Lint
```text
✅ PASSED (0 errors, 56 warnings)
```
### Warning Breakdown (Non-blocking)
| Warning Type | Count |
|-------------|-------|
| `@typescript-eslint/no-explicit-any` | 55 |
| `@typescript-eslint/no-unused-vars` | 1 |
These are warnings in test files and are acceptable for now.
---
## 6. Backend Go Vet
```text
✅ PASSED
Command: `go vet ./...`
Exit code: 0
Issues: 0
```
---
## Issues Found
### HIGH Severity
| ID | Issue | Location | Action Required |
|----|-------|----------|-----------------|
| QA-001 | Permission Management test failure | `user-management.spec.ts:536` | Fix modal detection or UI implementation |
### LOW Severity (Non-blocking)
| ID | Issue | Location | Action |
|----|-------|----------|--------|
| QA-002 | TypeScript `any` warnings | Multiple test files | Future cleanup |
| QA-003 | Cleanup permission errors | Test teardown | Expected behavior |
---
## Verdict
**ISSUES FOUND**
The Phase 5 implementation is **mostly working** with 11/12 enabled tests passing. There is 1 HIGH severity issue that needs to be addressed:
1. **Permission Management Modal Issue** - The `should update permission mode` test fails because the permissions modal/slide-out panel is not being detected. This could be:
- A timing issue with the modal opening
- A mismatch between expected modal title and actual implementation
- The permissions button not triggering the modal correctly
### Recommended Actions
1. **Immediate:** Investigate why the permissions modal is not appearing or not matching the expected selector
2. **Optional:** Consider marking this test as skipped if the permissions UI is not yet fully implemented
3. **Future:** Address the TypeScript `any` warnings in test files
---
## Test Execution Logs
Full test output available via:
```bash
npx playwright show-report --port 9323
```