Compare commits
base: joelthomastrenser/Training-VehicleService-May26:e0e57c00d8bc3688c2cc11b49c75be968d655f3e
joelthomastrenser/Training-VehicleService-May26:main
joelthomastrenser/Training-VehicleService-May26:develop
joelthomastrenser/Training-VehicleService-May26:develop-sm-bugfix-3
joelthomastrenser/Training-VehicleService-May26:develop-sm-bugfix-2
joelthomastrenser/Training-VehicleService-May26:develop-sm-bugfix-1
joelthomastrenser/Training-VehicleService-May26:develop-sm-events
joelthomastrenser/Training-VehicleService-May26:develop-sm-payment-management
joelthomastrenser/Training-VehicleService-May26:develop-sm-inventory-management
joelthomastrenser/Training-VehicleService-May26:develop-sm-service-management
joelthomastrenser/Training-VehicleService-May26:develop-sm-authentication-management
joelthomastrenser/Training-VehicleService-May26:develop-sm-notification-management
joelthomastrenser/Training-VehicleService-May26:develop-sm-user-management
joelthomastrenser/Training-VehicleService-May26:develop-bugfix-1
joelthomastrenser/Training-VehicleService-May26:develop-bugfix-2
joelthomastrenser/Training-VehicleService-May26:develop-bugfix-3
joelthomastrenser/Training-VehicleService-May26:develop-demo-feedback-2
joelthomastrenser/Training-VehicleService-May26:develop-demo-feedback-1
joelthomastrenser/Training-VehicleService-May26:feature
joelthomastrenser/Training-VehicleService-May26:feature-display
joelthomastrenser/Training-VehicleService-May26:bugfix-1
joelthomastrenser/Training-VehicleService-May26:bugfix-3
joelthomastrenser/Training-VehicleService-May26:bugfix-2
joelthomastrenser/Training-VehicleService-May26:feature-1553-1598
joelthomastrenser/Training-VehicleService-May26:feature-1552-1560
joelthomastrenser/Training-VehicleService-May26:feature-1551-1561-1708
joelthomastrenser/Training-VehicleService-May26:feature-admin-management
joelthomastrenser/Training-VehicleService-May26:feature-file-management
joelthomastrenser/Training-VehicleService-May26:feature-customer-management
joelthomastrenser/Training-VehicleService-May26:feature-payment-management
joelthomastrenser/Training-VehicleService-May26:feature-service-management
joelthomastrenser/Training-VehicleService-May26:feature-notification-management
joelthomastrenser/Training-VehicleService-May26:feature-inventory-management
..
compare: joelthomastrenser/Training-VehicleService-May26:07e21f2f60289fa163fb20663dc2577a5daae80c
joelthomastrenser/Training-VehicleService-May26:main
joelthomastrenser/Training-VehicleService-May26:develop
joelthomastrenser/Training-VehicleService-May26:develop-sm-bugfix-3
joelthomastrenser/Training-VehicleService-May26:develop-sm-bugfix-2
joelthomastrenser/Training-VehicleService-May26:develop-sm-bugfix-1
joelthomastrenser/Training-VehicleService-May26:develop-sm-events
joelthomastrenser/Training-VehicleService-May26:develop-sm-payment-management
joelthomastrenser/Training-VehicleService-May26:develop-sm-inventory-management
joelthomastrenser/Training-VehicleService-May26:develop-sm-service-management
joelthomastrenser/Training-VehicleService-May26:develop-sm-authentication-management
joelthomastrenser/Training-VehicleService-May26:develop-sm-notification-management
joelthomastrenser/Training-VehicleService-May26:develop-sm-user-management
joelthomastrenser/Training-VehicleService-May26:develop-bugfix-1
joelthomastrenser/Training-VehicleService-May26:develop-bugfix-2
joelthomastrenser/Training-VehicleService-May26:develop-bugfix-3
joelthomastrenser/Training-VehicleService-May26:develop-demo-feedback-2
joelthomastrenser/Training-VehicleService-May26:develop-demo-feedback-1
joelthomastrenser/Training-VehicleService-May26:feature
joelthomastrenser/Training-VehicleService-May26:feature-display
joelthomastrenser/Training-VehicleService-May26:bugfix-1
joelthomastrenser/Training-VehicleService-May26:bugfix-3
joelthomastrenser/Training-VehicleService-May26:bugfix-2
joelthomastrenser/Training-VehicleService-May26:feature-1553-1598
joelthomastrenser/Training-VehicleService-May26:feature-1552-1560
joelthomastrenser/Training-VehicleService-May26:feature-1551-1561-1708
joelthomastrenser/Training-VehicleService-May26:feature-admin-management
joelthomastrenser/Training-VehicleService-May26:feature-file-management
joelthomastrenser/Training-VehicleService-May26:feature-customer-management
joelthomastrenser/Training-VehicleService-May26:feature-payment-management
joelthomastrenser/Training-VehicleService-May26:feature-service-management
joelthomastrenser/Training-VehicleService-May26:feature-notification-management
joelthomastrenser/Training-VehicleService-May26:feature-inventory-management
5 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
07e21f2f60 | Fixed Reviewed Changes | ||
|
|
aee6356e6f |
Implement Confirm Payment Functionality
<User Story> Complete Payments - 1797</User Story> <Changes> 1. Added Controller::getAllInvoices - Retrieves all invoices from PaymentManagementService and returns them as a read-only map. 2. Implemented Controller::confirmPayment - Delegates payment confirmation for a given invoice ID to PaymentManagementService. 3. Introduced PaymentManagementService::getAllInvoice - Provides access to all invoices stored in the datastore. 4. Added PaymentManagementService::confirmPayment - Confirms payment for a specific invoice, updates payment date and status, and sends notification. 5. Extended util::PaymentStatus enum - Added PAID status and updated string conversion. 6. Integrated AdminMenu::confirmPayment - Validates invoice list, filters by status, allows selection, and confirms payment. 7. Updated CustomerMenu::completePayments - Uses parameterized status filtering for invoice selection. 8. Enhanced MenuHelper::selectInvoiceFromUserForPayment - Accepts requiredStatus parameter for flexible filtering. 9. Adjusted AdminMenu options - Added "Confirm Payment" before Logout. </Changes> <Test> Acceptance Criteria: 1. Admin selects "Confirm Payment" from menu. - Verify system prompts and displays invoices filtered by status. 2. Admin selects invoice with status = PAID. - Verify payment confirmation updates date, sets status, and sends notification. 3. Admin attempts confirmation with empty invoice list. - Verify error message: "No pending invoices available for confirmation." 4. Customer completes payment. - Verify selection uses util::PaymentStatus::PENDING and payment flow works correctly. 5. Invalid invoice ID entered. - Verify system throws runtime_error with "Payment failed: invalid invoice ID." Precondition: 1. Admin logged into system. 2. At least one invoice exists in datastore. 3. Notification system available. Steps: 1. Navigate to Admin menu → Confirm Payment. 2. Select invoice with PAID status. 3. Confirm payment and check notification. 4. Attempt with empty invoice list. 5. Attempt with invalid invoice ID. </Test> <Review> Sreeja Reghukumar </Review> |
||
|
|
70ec47df04 | Fix review comments | ||
|
|
2ea77bf9b6 |
Implement Update Job Status for technician
<UserStory> SER1798: Update Job Status </UserStory>
<Changes>
1. Renamed Controller and ServiceManagementService methods from completeJob to updateJobStatus for clarity and flexibility.
2. Enhanced ServiceManagementService::updateJobStatus to support transitions:
- STARTED → INPROGRESS
- INPROGRESS → COMPLETED (with invoice generation and customer notification).
3. Added INPROGRESS state to ServiceJobStatus enum and updated string conversion utilities.
4. Introduced filterJobCards helper to generalize job filtering by status.
5. Updated TechnicianMenu to allow technicians to select job type (Started/Inprogress) and update status accordingly.
6. Improved job display to show current status and truncated service names for readability.
</Changes>
<Test>
Acceptance Criteria:
1. Technician can select a job with status STARTED and update it to INPROGRESS.
2. Technician can select a job with status INPROGRESS and update it to COMPLETED.
3. Completed bookings automatically generate invoices and send notifications to customers.
4. Job status updates are reflected in the technician’s job list and customer view.
Precondition:
1. Technician is logged into the system.
2. Assigned job cards exist with valid statuses (STARTED or INPROGRESS).
3. Datastore and payment service are available.
Steps:
1. Navigate to Technician menu and choose "Update Job Status".
- Verify that the system prompts for job type selection (Started/Inprogress).
2. Select a job card from the filtered list.
- Verify that the job card details are displayed with status.
3. Confirm update.
- Verify that the job status changes correctly.
4. For jobs updated to COMPLETED:
- Verify that the booking status is updated, invoice is generated, and notification is sent.
</Test>
<Review>
Sreeja Reghukumar, please review
</Review>
#1798
|
||
|
|
972e353832 |
Merged PR 1152: Vehicle Service System v1.0.0.0
Features Included: Secure access and session management with role-based authentication Customer and technician account management Service booking and technician assignment Service and combo package management Job card tracking and completion workflow Inventory management and stock monitoring Invoice generation and payment processing Notification management with configurable preferences Observer pattern based alerts for inventory, payments, and service updates |