- Add Testing section to README with: - How to run tests - Test structure overview - Key edge cases covered - Test configuration notes - Add Running Tests section to RUNNING.md - Document the 46 unit tests available
69 lines
1.8 KiB
Markdown
69 lines
1.8 KiB
Markdown
# Tablet Management System - Running
|
|
|
|
✅ **Status**: Application is running successfully!
|
|
|
|
## Access Information
|
|
|
|
- **Web Interface**: [http://localhost:5000](http://localhost:5000)
|
|
- **Port**: 5000
|
|
- **Framework**: Flask 3.1.3
|
|
- **Database**: SQLite (`tablets.db`)
|
|
|
|
## How to Use
|
|
|
|
### Web Interface
|
|
1. Open your browser to: [http://localhost:5000](http://localhost:5000)
|
|
2. Use the navigation menu to:
|
|
- **Home**: View available tablets and active loans
|
|
- **Add Tablet**: Add new tablets to inventory
|
|
- **Add User**: Register new users
|
|
- **Loan Tablet**: Loan a tablet to a user
|
|
- **Loan History**: View complete loan history
|
|
|
|
### Command Line (Alternative)
|
|
If you prefer command line:
|
|
```bash
|
|
# Run the interactive application
|
|
python3 minimal_app.py
|
|
|
|
# Run the test/demo
|
|
python3 test_app.py
|
|
```
|
|
|
|
## Current Data
|
|
The system already contains test data:
|
|
- **3 Tablets**: Samsung Galaxy Tab S7, Apple iPad Pro, Lenovo Tab P11
|
|
- **3 Users**: John Doe, Jane Smith, Bob Johnson
|
|
- **2 Loans**: One active, one returned
|
|
|
|
## Stopping the Server
|
|
To stop the Flask application:
|
|
```bash
|
|
pkill -f "python app.py"
|
|
```
|
|
|
|
## Technical Details
|
|
- **Backend**: SQLite 3
|
|
- **Frontend**: Flask with HTML/CSS
|
|
- **Port**: 5000 (configurable in app.py)
|
|
- **Virtual Environment**: `.venv/` (created with uv)
|
|
|
|
## Running Tests
|
|
|
|
The project includes 46 unit tests for verifying functionality:
|
|
|
|
```bash
|
|
# Run all tests
|
|
python3 -m pytest tests/ -v
|
|
|
|
# Run with coverage
|
|
python3 -m pytest tests/ --cov=./ --cov-report=term-missing
|
|
```
|
|
|
|
Tests cover:
|
|
- Core CRUD operations for tablets, users, and loans
|
|
- Edge cases (duplicates, invalid IDs, already loaned devices)
|
|
- Application function testing
|
|
- Non-loanable device management
|
|
|
|
All tests use isolated temporary databases and do not affect production data.
|