Skip to content

URS-014 · Display Available Inventory for Rep Trunk Stock

Title: Display Available Inventory for Rep Trunk Stock Date: 2026-04-23T03:36:30.720Z Duration: 51.5s Overall Status: ✅ PASS

The system shall display available inventory for a rep’s user trunk stock.

Source: User_Requirement_Specifications_ZuriMED_DeviceFlow.xlsx — the run below proves the system meets this requirement.

Status: ✅ PASS

Each step below corresponds to one Playwright test that ran sequentially. Screenshots and video recordings provide visual evidence of the UI behaviour.

1. Step 1: Login and navigate — ✅ PASS

Section titled “1. Step 1: Login and navigate — ✅ PASS”

What this step proves:

The test logs in as a sales rep (Bob Kauffman) and navigates to the inventory locations list, verifying that TRUNK-36 appears and is accessible. This proves that authorized users can reach their trunk stock location from the main inventory view.

Audit events generated by this step:

(Evidence matched by declared name — step timing not available or no events fell in window)

TimeTypeActionUserOrgPerformed
2026-04-23 03:36:33Zuser_loguser:loginbob.kauffman@stellartech.comStellarTech Medical Solutions
2026-04-23 03:36:42Zuser_loguser:loginbob.kauffman@stellartech.comStellarTech Medical Solutions
2026-04-23 03:36:50Zuser_loguser:loginbob.kauffman@stellartech.comStellarTech Medical Solutions
2026-04-23 03:36:57Zuser_loguser:loginbob.kauffman@stellartech.comStellarTech Medical Solutions
2026-04-23 03:37:04Zuser_loguser:loginbob.kauffman@stellartech.comStellarTech Medical Solutions
2026-04-23 03:37:11Zuser_loguser:loginbob.kauffman@stellartech.comStellarTech Medical Solutions

Screenshots:

step 01 logged in

step 01 inventory locations

Video recording:


2. Step 2: Trunk inventory overview — ✅ PASS

Section titled “2. Step 2: Trunk inventory overview — ✅ PASS”

What this step proves:

Navigates directly to TRUNK-36 and confirms all three test products — Diagnostic Kit, Sterile Gloves, and Antiseptic Solution — are listed together. This proves the system displays available trunk stock inventory in a single unified view.

Screenshots:

step 02 trunk inventory overview

step 02 all products visible

Video recording:


3. Step 3: Diagnostic Kit details — ✅ PASS

Section titled “3. Step 3: Diagnostic Kit details — ✅ PASS”

What this step proves:

Verifies the Diagnostic Kit row shows the correct product name, lot number, on-hand quantity, and expiration date. This proves per-item details are accurately surfaced for the first product in the trunk stock display.

Screenshots:

step 03 diagnostic kit details

Video recording:


4. Step 4: Sterile Gloves details — ✅ PASS

Section titled “4. Step 4: Sterile Gloves details — ✅ PASS”

What this step proves:

Verifies the Sterile Gloves row shows the correct product name, lot number, on-hand quantity, and expiration date. This proves per-item details are accurate for a second, distinct product in the same trunk location.

Screenshots:

step 04 sterile gloves details

Video recording:


5. Step 5: Antiseptic Solution details — ✅ PASS

Section titled “5. Step 5: Antiseptic Solution details — ✅ PASS”

What this step proves:

Verifies the Antiseptic Solution row shows the correct product name, lot number, on-hand quantity, and expiration date, completing the per-product detail verification across all three trunk stock items.

Screenshots:

step 05 antiseptic solution details

Video recording:


6. Step 6: Filter functionality — ✅ PASS

Section titled “6. Step 6: Filter functionality — ✅ PASS”

What this step proves:

Applies a lot/serial filter string to the inventory table and confirms only the matching product row remains visible. Clearing the filter restores all rows. This proves the filter functionality narrows results correctly and does not suppress data when cleared.

Screenshots:

step 06 before filter

step 06 filtered results

step 06 filter cleared

Video recording:


The following SQL queries ran against the application database after the Playwright scenarios completed. Each query asserts a specific condition that proves the feature under test persisted its data correctly.

Inventory items exist at TRUNK-36 — ✅ PASS

Section titled “Inventory items exist at TRUNK-36 — ✅ PASS”

Assertion: Exactly 3 inventory items should exist at TRUNK-36

SELECT count(*)::int as item_count
FROM inventory_items ii
JOIN org_products op ON ii.product_id = op.id
WHERE ii.real_world_location_id = $1
AND op.sku IN ($2, $3, $4)
AND ii.organization_id = $5
item_count
3

Product details match expected values — ✅ PASS

Section titled “Product details match expected values — ✅ PASS”

Assertion: Each product should have the correct title, lot, quantity, and expiration

SELECT op.title, op.sku, ii.lot, ii.expiration::text, ii.quantity_ready
FROM inventory_items ii
JOIN org_products op ON ii.product_id = op.id
WHERE ii.real_world_location_id = $1
AND op.sku IN ($2, $3, $4)
AND ii.organization_id = $5
ORDER BY op.title
titleskulotexpirationquantity_ready
Antiseptic Solution (500ml)URS014-AS-001AS-2024-1122026-09-158
Diagnostic KitURS014-DK-001DK-2024-0012026-12-3115
Sterile Gloves (Box of 100)URS014-SG-001SG-2024-0452027-06-3050

Total inventory quantity is correct — ✅ PASS

Section titled “Total inventory quantity is correct — ✅ PASS”

Assertion: Total quantity should be 73 (15 + 50 + 8)

SELECT sum(ii.quantity_ready)::int as total_quantity
FROM inventory_items ii
JOIN org_products op ON ii.product_id = op.id
WHERE ii.real_world_location_id = $1
AND op.sku IN ($2, $3, $4)
AND ii.organization_id = $5
total_quantity
73

All items belong to StellarTech org — ✅ PASS

Section titled “All items belong to StellarTech org — ✅ PASS”

Assertion: All inventory items should belong to the StellarTech organization

SELECT ii.organization_id, count(*)::int as item_count
FROM inventory_items ii
JOIN org_products op ON ii.product_id = op.id
WHERE ii.real_world_location_id = $1
AND op.sku IN ($2, $3, $4)
AND ii.organization_id = $5
GROUP BY ii.organization_id
organization_iditem_count
b2c3d4e5-f6a7-8901-bcde-f123456789013

Per-declaration outcome of every expectedAuditActions and expectedEmailTemplates entry written into the orchestrator. Missing evidence here is a real test failure, not a soft warning.

Each row asserts that a declared expectedAuditActions entry produced a matching row in audit_events. A ❌ flips overall status to FAIL — the declaration is real proof, not just an annotation.

StepExpected Audit ActionFound
Step 1: Login and navigateuser_log:user:login

Every row written to audit_events while this test was running (scoped to the demo organizations). Provides compliance evidence that user actions are traced end-to-end (URS-003).

Capture window start: 2026-04-23T03:36:28.791Z

SELECT
ae.created_at,
ae.event_type,
ae.action,
ae.user_id,
u.email AS user_email,
ae.organization_id,
o.name AS organization_name,
ae.object_id,
ae.secondary_object_id,
ae.payload,
ae.route,
ae.trace_id
FROM audit_events ae
LEFT JOIN users u ON u.id = ae.user_id
LEFT JOIN organizations o ON o.id = ae.organization_id
WHERE ae.created_at >= $1
AND ae.organization_id = ANY($2::uuid[])
ORDER BY ae.created_at ASC

6 event(s) captured:

TimeTypeActionUserOrgObject IDPerformedReason
2026-04-23 03:36:33Zuser_loguser:loginbob.kauffman@stellartech.comStellarTech Medical Solutions
2026-04-23 03:36:42Zuser_loguser:loginbob.kauffman@stellartech.comStellarTech Medical Solutions
2026-04-23 03:36:50Zuser_loguser:loginbob.kauffman@stellartech.comStellarTech Medical Solutions
2026-04-23 03:36:57Zuser_loguser:loginbob.kauffman@stellartech.comStellarTech Medical Solutions
2026-04-23 03:37:04Zuser_loguser:loginbob.kauffman@stellartech.comStellarTech Medical Solutions
2026-04-23 03:37:11Zuser_loguser:loginbob.kauffman@stellartech.comStellarTech Medical Solutions