TC-EVT-006: Event Check-in & Attendance (Detailed)
Check-in is CODE-BASED. The endpoint is
POST /api/events/checkin with body { "code", "eventId" } — there is no /events/:id/check-in route. Check-in is same-day only; returns 402 if a paid invoice is unpaid, 409 if already checked in. Wherever this guide names a "QA Test …" event, use a real event dated today (the seed's RCME Check-in Test Event) with a registered attendee. See also the TC-EVT-005 summary page for the canonical check-in reference.
WARNING: This test requires that at least 2 users (testmember and guest) are registered for the target event. If registrations were cancelled during TC-EVT-002 cleanup, re-register them before proceeding. Alternatively, use any seeded event that has registrants (e.g., "RCME Check-in Test Event").
TC-CHK-01: Navigate to Check-in View
| Step | Action | Expected Result | Test Value |
|---|---|---|---|
| 1 | Open a browser and log in as the Events Manager. | Dashboard loads. | events@demo.membervu.com / Events123! |
| 2 | Navigate to Admin > Events. | Events management page loads. | — |
| 3 | Find "QA Test Coffee Meetup" in the events list. Click on it or click "Manage". | Event management/detail page opens. | QA Test Coffee Meetup |
| 4 | Look for a "Check-in", "Attendance", or "Registrations" tab/section. | A check-in or attendance view is available. It shows a list of registered attendees with their check-in status. | — |
| 5 | Verify the registrant list shows at least 2 people. | You should see: Maria Cruz (testmember@rcme.membervu.com) and Roberto Mendoza (guest@demo.membervu.com). Status should be "Not Checked In" or similar. | — |
TC-CHK-02: Manual Check-in
| Step | Action | Expected Result | Test Value |
|---|---|---|---|
| 1 | In the attendee list, find Maria Cruz (testmember). Click "Check In" button next to her name. | Her status changes to "Checked In" with a green indicator or checkmark. A timestamp may appear showing the check-in time. | Maria Cruz |
| 2 | Verify the attendance counter updates. | Attendance counter shows "1 / 2 checked in" or "50% attendance". | — |
| 3 | Find Roberto Mendoza (guest). Click "Check In". | His status changes to "Checked In". Attendance counter updates to "2 / 2 checked in" or "100%". | Roberto Mendoza |
| 4 | Try to check in Maria Cruz again (click "Check In" if the button is still visible). | The system should either: (a) block with "Already checked in", (b) show the button as disabled/hidden, or (c) the button is replaced with "Undo Check-in". | — |
TC-CHK-03: Undo Check-in
| Step | Action | Expected Result | Test Value |
|---|---|---|---|
| 1 | Look for an "Undo" or "Uncheck" button next to a checked-in attendee (Roberto Mendoza). | Undo/Uncheck button is visible for checked-in attendees. | Roberto Mendoza |
| 2 | Click "Undo Check-in" or "Uncheck". | Roberto's status reverts to "Not Checked In". Attendance counter updates to "1 / 2". | — |
| 3 | Re-check-in Roberto by clicking "Check In" again. | Status returns to "Checked In". Counter shows "2 / 2" again. | — |
SKIP TC-CHK-03 if the undo/uncheck feature is not available. Note: "Undo check-in not available — check-in is permanent."
TC-CHK-04: QR Code Check-in
SKIP this section if QR code check-in is not implemented. Note: "QR code check-in feature not available."
| Step | Action | Expected Result | Test Value |
|---|---|---|---|
| 1 | Look for a "QR Scanner" or "Scan QR" button in the check-in view. | QR scanner interface opens (may request camera permission). | — |
| 2 | Log in as testmember on a mobile device or second browser. Navigate to "My Events" and find the ticket/QR code for the event. | A QR code or ticket barcode is displayed for the registration. | — |
| 3 | Scan the QR code using the check-in scanner. | The attendee is automatically checked in. A success sound/message appears. The attendee name and status update in real-time. | — |
TC-CHK-05: Check-in Non-Registered Person
| Step | Action | Expected Result | Test Value |
|---|---|---|---|
| 1 | In the check-in view, look for an "Add Walk-in" or "Manual Entry" option. | If available, a form to enter a walk-in attendee appears. If not available, this confirms that only registered attendees can be checked in. | — |
| 2 | If available, try adding a walk-in: enter a name and email. | Walk-in is added to the attendance list with a "Walk-in" label. They are immediately marked as checked in. | Name: Walk-in Test Person / Email: walkin@example.com |
SKIP if walk-in registration is not available at check-in. Note: "Walk-in check-in not supported — only pre-registered attendees can be checked in."
TC-CHK-06: Attendance Report
| Step | Action | Expected Result | Test Value |
|---|---|---|---|
| 1 | In the event management view, look for an "Attendance Report" or "Summary" section. | Attendance summary is displayed showing: total registered, total checked in, attendance percentage. | — |
| 2 | Verify the numbers match your actions. |
Total registered: 2 Checked in: 2 Attendance: 100% |
— |
| 3 | Look for an "Export" or "Download" button for the attendance list. | If available, clicking it downloads a CSV or Excel file with: attendee name, email, registration date, check-in time, status. | — |
| 4 | If downloaded, open the export file and verify the data. | The file contains rows for Maria Cruz and Roberto Mendoza, both marked as "Checked In" with correct timestamps. | — |
SKIP the export step if the export/download feature is not available. Note: "Attendance export not available."
TC-CHK-07: Bulk Check-in
| Step | Action | Expected Result | Test Value |
|---|---|---|---|
| 1 | Look for a "Check In All" or "Mark All Attended" button. | If available, the button is visible above or below the attendee list. | — |
| 2 | First, undo check-in for all attendees (if undo is available) to reset the state. | All attendees show "Not Checked In". | — |
| 3 | Click "Check In All" or "Mark All Attended". | All attendees are marked as "Checked In" at once. Attendance shows 100%. | — |
SKIP if bulk check-in is not available. Note: "Bulk check-in not implemented — individual check-in only."
CLEANUP
No permanent cleanup needed. Check-in data is associated with the event and will be removed when test events are deleted.
If you need to reset check-in status for re-testing, use the "Undo Check-in" feature (if available) or contact the admin to reset registrations.