# Dealer Management System - Test Cases

## 1. Authentication Test Cases

### Login Functionality
1. TC-AUTH-001: Verify successful login with valid credentials
   - Precondition: User exists in system
   - Steps: Enter valid email and password
   - Expected: User is logged in and redirected to dashboard

2. TC-AUTH-002: Verify login failure with invalid credentials
   - Precondition: User exists in system
   - Steps: Enter invalid email or password
   - Expected: Error message displayed

3. TC-AUTH-003: Verify "Forgot Password" functionality
   - Precondition: User exists in system
   - Steps: Click "Forgot Password" and enter email
   - Expected: Password reset link sent to email

## 2. User Management Test Cases

### User Creation
1. TC-USER-001: Create new user with valid data
   - Precondition: Admin is logged in
   - Steps: Fill user creation form with valid data
   - Expected: User created successfully

2. TC-USER-002: Create user with invalid data
   - Precondition: Admin is logged in
   - Steps: Fill form with invalid data
   - Expected: Validation errors displayed

### Role Assignment
1. TC-USER-003: Assign single role to user
   - Precondition: User exists in system
   - Steps: Select and assign role
   - Expected: Role assigned successfully

2. TC-USER-004: Assign multiple roles to user
   - Precondition: User exists in system
   - Steps: Select and assign multiple roles
   - Expected: All roles assigned successfully

## 3. Supplier Management Test Cases

### Supplier Registration
1. TC-SUP-001: Register new supplier with valid data
   - Precondition: Admin/Sales user is logged in
   - Steps: Fill supplier registration form
   - Expected: Supplier created successfully

2. TC-SUP-002: Update supplier credit limit
   - Precondition: Supplier exists in system
   - Steps: Modify credit limit
   - Expected: Credit limit updated successfully

### Purchase Order
1. TC-SUP-003: Create draft purchase order
   - Precondition: Supplier exists in system
   - Steps: Create draft order with products
   - Expected: Draft order created successfully

2. TC-SUP-004: Convert draft to final order
   - Precondition: Draft order exists
   - Steps: Convert draft to final
   - Expected: Order converted successfully

## 4. Dealer Management Test Cases

### Dealer Registration
1. TC-DLR-001: Register new dealer with valid data
   - Precondition: Sales user is logged in
   - Steps: Fill dealer registration form
   - Expected: Dealer created successfully

2. TC-DLR-002: Update dealer credit limit
   - Precondition: Dealer exists in system
   - Steps: Modify credit limit
   - Expected: Credit limit updated successfully

### Sales Order
1. TC-DLR-003: Create sales order within credit limit
   - Precondition: Dealer exists with credit limit
   - Steps: Create order within limit
   - Expected: Order created successfully

2. TC-DLR-004: Attempt order exceeding credit limit
   - Precondition: Dealer exists with credit limit
   - Steps: Create order exceeding limit
   - Expected: Error message displayed

## 5. Inventory Management Test Cases

### Stock Entry
1. TC-INV-001: Add new product to inventory
   - Precondition: Inventory manager is logged in
   - Steps: Add product details
   - Expected: Product added successfully

2. TC-INV-002: Update product stock level
   - Precondition: Product exists in system
   - Steps: Modify stock quantity
   - Expected: Stock level updated successfully

### Stock Movement
1. TC-INV-003: Record stock purchase
   - Precondition: Product exists in system
   - Steps: Record purchase transaction
   - Expected: Stock increased correctly

2. TC-INV-004: Record stock sale
   - Precondition: Product exists with sufficient stock
   - Steps: Record sale transaction
   - Expected: Stock decreased correctly

## 6. Accounting Test Cases

### Account Head Management
1. TC-ACC-001: Create master account head
   - Precondition: Accountant is logged in
   - Steps: Create master head
   - Expected: Master head created successfully

2. TC-ACC-002: Create sub-account head
   - Precondition: Master head exists
   - Steps: Create sub-head under master
   - Expected: Sub-head created successfully

### Voucher Processing
1. TC-ACC-003: Create debit voucher
   - Precondition: Accountant is logged in
   - Steps: Create debit voucher
   - Expected: Voucher created successfully

2. TC-ACC-004: Create credit voucher
   - Precondition: Accountant is logged in
   - Steps: Create credit voucher
   - Expected: Voucher created successfully

## 7. Reporting Test Cases

### Financial Reports
1. TC-REP-001: Generate profit & loss statement
   - Precondition: Financial data exists
   - Steps: Generate report for date range
   - Expected: Report generated successfully

2. TC-REP-002: Generate balance sheet
   - Precondition: Financial data exists
   - Steps: Generate report as of date
   - Expected: Report generated successfully

### Inventory Reports
1. TC-REP-003: Generate stock movement report
   - Precondition: Stock movements exist
   - Steps: Generate report for period
   - Expected: Report generated successfully

2. TC-REP-004: Generate low stock alert report
   - Precondition: Products with low stock exist
   - Steps: Generate alert report
   - Expected: Report shows low stock items

## 8. Vehicle Management Test Cases

### Vehicle Expense Tracking
1. TC-VEH-001: Record vehicle expense
   - Precondition: Vehicle exists in system
   - Steps: Record expense details
   - Expected: Expense recorded successfully

2. TC-VEH-002: Associate expense with delivery
   - Precondition: Delivery and expense exist
   - Steps: Link expense to delivery
   - Expected: Association created successfully

### Vehicle Reports
1. TC-VEH-003: Generate vehicle expense report
   - Precondition: Vehicle expenses exist
   - Steps: Generate report for period
   - Expected: Report generated successfully

2. TC-VEH-004: Generate vehicle-wise profit report
   - Precondition: Vehicle deliveries and expenses exist
   - Steps: Generate profit report
   - Expected: Report shows profit per vehicle 
