# Frontend Ready to Test ✅

## 🎉 Status: READY FOR TESTING

The frontend is fully set up and ready to test!

---

## 📋 Pre-Testing Checklist

Before testing, ensure:

- [ ] **Node.js 18+ installed** (check with `node --version`)
- [ ] **Backend API running** on `http://localhost:8080`
- [ ] **Database running** and accessible
- [ ] **Test user created** in database

---

## 🚀 Quick Start Testing

### 1. Install Node.js (if not installed)

```bash
# Option 1: Use install script
sudo ./scripts/install-requirements.sh

# Option 2: Manual installation
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt-get install -y nodejs
```

### 2. Install Frontend Dependencies

```bash
cd frontend
npm install
```

### 3. Start Backend (if not running)

In one terminal:
```bash
cd backend
export CALYPSO_DB_PASSWORD="calypso123"
export CALYPSO_JWT_SECRET="test-jwt-secret-key-minimum-32-characters-long"
go run ./cmd/calypso-api -config config.yaml.example
```

### 4. Start Frontend Dev Server

In another terminal:
```bash
cd frontend
npm run dev
```

### 5. Open Browser

Navigate to: `http://localhost:3000`

---

## ✅ What to Test

### Authentication
- [ ] Login page displays
- [ ] Login with valid credentials works
- [ ] Invalid credentials show error
- [ ] Token is stored after login
- [ ] Logout works

### Dashboard
- [ ] Dashboard loads after login
- [ ] System health status displays
- [ ] Overview cards show data:
  - Storage repositories count
  - Active alerts count
  - iSCSI targets count
  - Running tasks count
- [ ] Quick action buttons work
- [ ] Recent alerts preview displays

### Storage Page
- [ ] Navigate to Storage from sidebar
- [ ] Repositories list displays
- [ ] Capacity bars render correctly
- [ ] Physical disks list displays
- [ ] Volume groups list displays
- [ ] Status indicators show correctly

### Alerts Page
- [ ] Navigate to Alerts from sidebar
- [ ] Alert list displays
- [ ] Filter buttons work (All / Unacknowledged)
- [ ] Severity colors are correct
- [ ] Acknowledge button works
- [ ] Resolve button works
- [ ] Relative time displays correctly

### Navigation
- [ ] Sidebar navigation works
- [ ] All menu items are clickable
- [ ] Active route is highlighted
- [ ] Logout button works

---

## 🐛 Common Issues

### "Node.js not found"
**Fix**: Install Node.js (see step 1 above)

### "Cannot connect to API"
**Fix**: 
- Ensure backend is running
- Check `http://localhost:8080/api/v1/health` in browser

### "401 Unauthorized"
**Fix**:
- Verify user exists in database
- Check password is correct (may need Argon2id hash)
- See `scripts/update-admin-password.sh`

### "Blank page"
**Fix**:
- Check browser console (F12)
- Check network tab for failed requests
- Verify all dependencies installed

---

## 📊 Test Results Template

After testing, document results:

```
Frontend Testing Results
Date: [DATE]
Tester: [NAME]

✅ PASSING:
- Login page
- Dashboard
- Storage page
- Alerts page
- Navigation

❌ FAILING:
- [Issue description]

⚠️  ISSUES:
- [Issue description]
```

---

## 🎯 Expected Behavior

### Login Flow
1. User sees login form
2. Enters credentials
3. On success: Redirects to dashboard
4. Token stored in localStorage
5. All API requests include token

### Dashboard
- Shows system health (green/yellow/red indicator)
- Displays overview statistics
- Shows quick action buttons
- Displays recent alerts (if any)

### Storage Page
- Lists all repositories with usage bars
- Shows physical disks
- Shows volume groups
- All data from real API

### Alerts Page
- Lists alerts with severity colors
- Filtering works
- Actions (acknowledge/resolve) work
- Updates after actions

---

## 📝 Next Steps After Testing

Once testing is complete:
1. Document any issues found
2. Fix any bugs
3. Continue building remaining pages:
   - Tape Libraries
   - iSCSI Targets
   - Tasks
   - System
   - IAM
4. Add WebSocket real-time updates
5. Enhance UI components

---

## 🎉 Ready to Test!

The frontend is fully set up with:
- ✅ React + Vite + TypeScript
- ✅ Authentication flow
- ✅ Dashboard with real data
- ✅ Storage management page
- ✅ Alerts management page
- ✅ Navigation and routing
- ✅ API integration
- ✅ UI components

**Start testing now!** 🚀

