Step-by-Step Guide — Follow each step exactly as written. All values are provided — do not improvise.
TC-BIL-002: Invoice Viewing & Details
Module: Billing & Invoicing - Invoice Viewing
Prerequisite: At least one invoice exists (created in TC-BIL-001 or via dues generation).
URLs for this test:
Frontend:
Backend API:
MailHog:
Frontend:
https://stg-rcme.membervu.comBackend API:
https://stg-api.membervu.comMailHog:
https://stg-webmail.membervu.com
Membership Types & Dues Reference:
Regular Member: PHP 15,000/year
Associate Member: PHP 10,000/year
Student Member: PHP 5,000/year
Regular Member: PHP 15,000/year
Associate Member: PHP 10,000/year
Student Member: PHP 5,000/year
Test A: Admin Invoice List View
Purpose: Verify admin can see the full invoice list with correct columns, filters, and search.
| Step | Action (EXACT clicks/typing) | Expected Result (EXACT text/behavior) | Test Value |
|---|---|---|---|
| 1 | Open browser, go to:https://stg-rcme.membervu.com/login | Login page loads. | https://stg-rcme.membervu.com/login |
| 2 | Enter email: admin@rcme.membervu.comEnter password: Admin123!Click "Sign In". | Login succeeds. Admin dashboard displayed. | Email: admin@rcme.membervu.comPass: Admin123! |
| 3 | In the left sidebar, click "Admin" > "Billing" > "Invoices". | Invoice list page loads with a data table. | - |
| 4 | Examine the table columns. | Table shows columns including: - Invoice # (e.g., INV-2026-XXXX) - Member (name or email) - Amount (PHP formatted) - Status (ISSUED, PAID, VOIDED, OVERDUE) - Due Date - Created (date) | - |
| 5 | Look for a Status filter dropdown or tabs. Select "ISSUED". | Table filters to show only invoices with ISSUED status. Other statuses are hidden. | Filter: ISSUED |
| 6 | Change the status filter to "PAID". | Table shows only PAID invoices (if any exist). If none exist, table shows empty state message. | Filter: PAID |
| 7 | Change the status filter to "VOIDED". | Table shows only VOIDED invoices (if any exist). | Filter: VOIDED |
| 8 | Change the status filter to "OVERDUE". | Table shows only OVERDUE invoices (if any exist). | Filter: OVERDUE |
| 9 | Clear the status filter (select "All" or clear). Look for a date range filter. Set start date to 30 days ago and end date to today. | Table filters to show only invoices created within the selected date range. | Date range: last 30 days |
| 10 | Look for a search box. Type: Maria Cruz | Table filters to show only invoices for Maria Cruz (testmember). Other members' invoices are hidden. | Search: Maria Cruz |
| 11 | Clear the search. Type: testmember@rcme | Search by email also works. Shows Maria Cruz's invoices. | Search: testmember@rcme |
SKIP — If date range filter or search by email is not implemented, note it in your test report and continue to the next test.
PASS if: Invoice list displays correct columns, status filter works for at least ISSUED and PAID, and search by member name returns correct results.
Test B: Admin Invoice Detail View
Purpose: Verify clicking an invoice shows full detail page with line items, payment history, and notes.
| Step | Action (EXACT clicks/typing) | Expected Result (EXACT text/behavior) | Test Value |
|---|---|---|---|
| 1 | On the invoice list, find the invoice created in TC-BIL-001 Test A (PHP 15,500.00 for Maria Cruz). Click on it. | Invoice detail page loads. | Invoice: PHP 15,500.00 |
| 2 | Verify the header section of the detail page. | Shows: - Invoice number (INV-2026-XXXX) - Status badge: ISSUED - Member name: Maria Cruz - Member email: testmember@rcme.membervu.com - Created date - Due date (30 days from creation) | - |
| 3 | Verify the line items section. | Shows 2 line items: 1. Annual Dues 2026 — PHP 15,000.00 2. Late Payment Fee — PHP 500.00 Total: PHP 15,500.00 | Total: PHP 15,500.00 |
| 4 | Look for a Payment History section on the detail page. | Payment history section exists but shows no payments (invoice is unpaid). May show "No payments recorded" or empty table. | - |
| 5 | Look for a Notes section on the detail page. | Internal note visible: Test invoice - Regular Member annual dues (from TC-BIL-001 Test A). | Note: Test invoice - Regular Member annual dues |
| 6 | Verify action buttons on the detail page. | Available actions for ISSUED invoice may include: - Edit Invoice - Void Invoice - Send Reminder - Record Payment | - |
PASS if: Invoice detail shows correct header, 2 line items with correct amounts, total PHP 15,500.00, payment history section, and notes.
Test C: Member Invoice View (Own Invoices Only)
Purpose: Verify a member can see only their own invoices and view details with a Pay Now option.
| Step | Action (EXACT clicks/typing) | Expected Result (EXACT text/behavior) | Test Value |
|---|---|---|---|
| 1 | Log out of the admin account. Go to:https://stg-rcme.membervu.com/loginLogin as: testmember@rcme.membervu.com / Member123! | Login succeeds. Member dashboard displayed. | Email: testmember@rcme.membervu.comPass: Member123! |
| 2 | In the sidebar or main navigation, look for "My Invoices", "Billing", or "My Account" > "Invoices". Click it. | Member's invoice list page loads showing ONLY invoices assigned to Maria Cruz. | - |
| 3 | Verify the invoices displayed. | Only invoices for testmember@rcme.membervu.com are shown. Invoices for other members are NOT visible. At least the invoices from TC-BIL-001 should appear. | - |
| 4 | Check invoice amounts displayed. | Amounts match the invoices created in TC-BIL-001: - PHP 15,500.00 (Annual Dues + Late Fee) - PHP 18,500.00 (Multi-line item invoice) | - |
| 5 | Click on the PHP 15,500.00 invoice to view details. | Invoice detail page loads showing: - Line items with descriptions and amounts - Due date - Status (ISSUED) - A "Pay Now" button (if payment is enabled for member self-service) | - |
| 6 | On the invoice detail page, verify the member does NOT see admin-only fields. | Internal/admin notes are NOT visible to the member. No "Void Invoice" button. No "Edit Invoice" button. | - |
| 7 | If other members' invoices exist, try to access one by modifying the URL with a different invoice ID. Example: change the invoice ID in the URL to a random UUID. | Access denied, 404 Not Found, or redirect. The member CANNOT view another member's invoice. | - |
PASS if: Member sees only their own invoices, can view detail with line items and "Pay Now" button, cannot see admin notes, and cannot access other members' invoices.
Test D: Guest View - No Invoice Access
Purpose: Verify a guest user cannot see any invoices section.
| Step | Action (EXACT clicks/typing) | Expected Result (EXACT text/behavior) | Test Value |
|---|---|---|---|
| 1 | Log out. Go to:https://stg-rcme.membervu.com/loginLogin as: guest@demo.membervu.com / Guest123! | Login succeeds. Guest dashboard displayed. | Email: guest@demo.membervu.comPass: Guest123! |
| 2 | Look at the sidebar and main navigation for any "Invoices", "Billing", or "My Invoices" link. | No invoices or billing section is visible in navigation for guest role. | - |
| 3 | Try navigating directly to:https://stg-rcme.membervu.com/billing | Access denied, redirect to dashboard, or page not found. Guest cannot access billing pages. | /rcme/billing |
| 4 | Try navigating directly to:https://stg-rcme.membervu.com/invoices | Access denied or redirect. No invoice data displayed. | /rcme/invoices |
PASS if: Guest user has no access to any invoices or billing section.
Test E: Treasurer Invoice View
Purpose: Verify the Treasurer role has full read access to all invoices.
| Step | Action (EXACT clicks/typing) | Expected Result (EXACT text/behavior) | Test Value |
|---|---|---|---|
| 1 | Log out. Go to:https://stg-rcme.membervu.com/loginLogin as: treasurer@demo.membervu.com / Treasurer123! | Login succeeds. Dashboard displayed with admin access. | Email: treasurer@demo.membervu.comPass: Treasurer123! |
| 2 | Navigate to "Admin" > "Billing" > "Invoices". | Invoice list page loads. Treasurer can see ALL invoices across all members. | - |
| 3 | Verify invoices for different membership types are visible (if they exist): - Regular Member invoices (PHP 15,000 dues) - Associate Member invoices (PHP 10,000 dues) - Student Member invoices (PHP 5,000 dues) | Treasurer sees invoices for all membership types. Amounts correspond to membership dues. | Regular: PHP 15,000 Associate: PHP 10,000 Student: PHP 5,000 |
| 4 | Click on an invoice to view details. | Full detail page visible including line items, payment history, notes, and admin actions. | - |
PASS if: Treasurer has full admin-level read access to all invoices with complete details.
CLEANUP
No cleanup required for this test case.
This test is read-only and does not create or modify any data. Invoices from TC-BIL-001 remain for use in subsequent tests.
This test is read-only and does not create or modify any data. Invoices from TC-BIL-001 remain for use in subsequent tests.