Skip to content

URS-010 · Submit different order types (Bill-Only, Trunk Stock, Direct, Drop-ship)

Title: Submit different order types (Bill-Only, Trunk Stock, Direct, Drop-ship) Date: 2026-08-03T23:09:29.620Z Duration: 103.2s Overall Status: ✅ PASS

The system shall allow reps to submit different order types (Bill‑Only, Trunk Stock, Direct, Drop‑ship).

Source: User_Requirement_Specifications_Vantis_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:

Proves that Blair Bennett (Corveta sales rep) can authenticate and reach the order creation form. Establishes the user context used for every subsequent submission.

Screenshots:

step 01 logged in

step 01 order creation form

Video recording:


What this step proves:

A Bill-Only order is created and submitted end-to-end via the /billing/new flow. The rep selects ROSS Surgical as the sales account, uses their own trunk (TRUNK-36) as the inventory source, and adds NovaPatch with the seeded lot. The success screen confirms the bill-only submission landed as a billing_orders row. A “New Bill-Only Order” notification email is dispatched to the rep confirming the submission.

Audit events generated by this step:

(Evidence scoped to step execution window: 2026-08-03T23:09:51.201Z → 2026-08-03T23:10:04.600Z)

TimeTypeActionUserOrgPerformed
2026-08-03 23:10:00Zdecisionbill_only_order.direct_po_import_on_createblair.bennett@corvetasurgical.comVantisno
2026-08-03 23:10:00Zdecisionbill_only.link_purchase_orderblair.bennett@corvetasurgical.comCorveta Surgical Groupno
2026-08-03 23:10:00Zdecisionbill_only_order.inventory_items_decrementblair.bennett@corvetasurgical.comVantisyes
2026-08-03 23:10:00Zbilling_orderstatus_changeblair.bennett@corvetasurgical.comVantis
2026-08-03 23:10:02Ztransactional_emailnew_bill_onlyCorveta Surgical Group

Emails triggered by this step:

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

Email 1: New Bill-Only Order - 8/3/2026 - Vantis BO-1

Template: New_Bill-Only_Order_-_8_3_2026_-_Vantis_BO-1

New Bill-Only Order - 8/3/2026 - Vantis BO-1

Screenshots:

step 02 bill only devices

step 02 bill only product

step 02 bill only documents

step 02 bill only review

step 02 bill only submitted

Video recording:


What this step proves:

A consignment order is created and submitted end-to-end via /orders/requests/new. The rep selects ROSS Surgical as the delivery location and picks the Consignment order type. The success screen confirms the order_requests row was accepted with order type “Consignment”.

Audit events generated by this step:

(Evidence scoped to step execution window: 2026-08-03T23:10:15.135Z → 2026-08-03T23:10:20.995Z)

TimeTypeActionUserOrgPerformed
2026-08-03 23:10:20Zdecisionorder_request_createdblair.bennett@corvetasurgical.comVantisyes
2026-08-03 23:10:20Zchecklistchecklists.createblair.bennett@corvetasurgical.comVantis

Screenshots:

step 03 consignment step2

step 03 consignment products

step 03 consignment review

step 03 consignment submitted

Video recording:


What this step proves:

A direct sales order is created and submitted end-to-end via /orders/requests/new. The rep selects Cedar Crest Hospital as the delivery location and switches the order type to Direct Order. The success screen confirms the order_requests row was accepted with order type “Direct”.

Audit events generated by this step:

(Evidence scoped to step execution window: 2026-08-03T23:10:32.818Z → 2026-08-03T23:10:38.528Z)

TimeTypeActionUserOrgPerformed
2026-08-03 23:10:38Zchecklistchecklists.createblair.bennett@corvetasurgical.comVantis
2026-08-03 23:10:38Zdecisionorder_request_createdblair.bennett@corvetasurgical.comVantisyes

Screenshots:

step 04 direct step2

step 04 direct products

step 04 direct review

step 04 direct submitted

Video recording:


What this step proves:

A drop-ship order is created and submitted end-to-end via /orders/requests/new. The rep selects Lakeside Orthopaedic Surgery Center as the delivery location and switches the order type to Drop-ship, which reveals the Receiving Rep selector. The success screen confirms the order_requests row was accepted with order type “Drop-ship”.

Audit events generated by this step:

(Evidence scoped to step execution window: 2026-08-03T23:10:50.332Z → 2026-08-03T23:10:56.098Z)

TimeTypeActionUserOrgPerformed
2026-08-03 23:10:55Zdecisionorder_request_createdblair.bennett@corvetasurgical.comVantisyes
2026-08-03 23:10:55Zchecklistchecklists.createblair.bennett@corvetasurgical.comVantis

Screenshots:

step 05 dropship step2

step 05 dropship products

step 05 dropship review

step 05 dropship submitted

Video recording:


What this step proves:

Both the /orders/requests and /billing lists are opened after all submissions. Evidence screenshots show that the consignment, direct, drop-ship, and bill-only orders all persisted and are visible in their respective list views.

Screenshots:

step 06 orders list

step 06 billing list

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.

Assertion: A billing_orders row tagged URS-010 should exist for Blair

SELECT bo.id, bo.order_number, bo.status, bo.sales_account_id,
bo.notes, bo.created_at
FROM billing_orders bo
WHERE bo.created_by_user_id = $1
AND bo.notes LIKE '%URS-010%'
ORDER BY bo.created_at DESC
LIMIT 5
idorder_numberstatussales_account_idnotescreated_at
019fc9e4-2917-795c-8670-24befcaaa8a4BO-1submittedfea7b8c9-d0e1-2345-0123-456789012345URS-010 validation: bill-only2026-08-03T23:10:00.936Z

Bill-Only item pulls from Blair’s trunk with the seeded lot — ✅ PASS

Section titled “Bill-Only item pulls from Blair’s trunk with the seeded lot — ✅ PASS”

Assertion: A billing_order_items row should reference TRUNK-36 and lot URS010-SP-001

SELECT boi.id, boi.billing_order_id, boi.location_id,
boi.lot_number, op.title AS product_name,
rwl.name AS location_name, rwl.type AS location_type
FROM billing_order_items boi
JOIN billing_orders bo ON boi.billing_order_id = bo.id
LEFT JOIN org_products op ON boi.product_id = op.id
LEFT JOIN real_world_locations rwl ON boi.location_id = rwl.id
WHERE bo.created_by_user_id = $1
AND bo.notes LIKE '%URS-010%'
AND boi.lot_number = $2
ORDER BY bo.created_at DESC
LIMIT 10
idbilling_order_idlocation_idlot_numberproduct_namelocation_namelocation_type
019fc9e4-2913-769c-9bf5-5bbc00f2be7b019fc9e4-2917-795c-8670-24befcaaa8a4a6e7f8a9-b0c1-2345-0123-456789012345URS010-SP-001NovaPatch® PETTRUNK-36trunk_stock

Assertion: A consignment order_request tagged URS-010 should exist

SELECT id, request_number, order_type, status, sales_account_id, notes
FROM order_requests
WHERE requested_by_user_id = $1
AND order_type = 'consignment'
AND notes LIKE '%URS-010%'
ORDER BY created_at DESC
LIMIT 1
idrequest_numberorder_typestatussales_account_idnotes
019fc9e4-76a7-71ff-9b67-610af63506e7OR-2consignmentsubmittedfea7b8c9-d0e1-2345-0123-456789012345URS-010 validation: consignment

Assertion: A direct order_request tagged URS-010 should exist

SELECT id, request_number, order_type, status, sales_account_id, notes
FROM order_requests
WHERE requested_by_user_id = $1
AND order_type = 'direct'
AND notes LIKE '%URS-010%'
ORDER BY created_at DESC
LIMIT 1
idrequest_numberorder_typestatussales_account_idnotes
019fc9e4-bb55-7013-8c67-eb52c8776325OR-3directsubmitted1fb8c9d0-e1f2-3456-1234-567890123456URS-010 validation: direct

Assertion: A dropship order_request tagged URS-010 should exist

SELECT id, request_number, order_type, status, sales_account_id, notes
FROM order_requests
WHERE requested_by_user_id = $1
AND order_type = 'dropship'
AND notes LIKE '%URS-010%'
ORDER BY created_at DESC
LIMIT 1
idrequest_numberorder_typestatussales_account_idnotes
019fc9e5-0002-7a82-a62c-d8b47b28da1cOR-4dropshipsubmitted2ac9d0e1-f2a3-4567-2345-678901234567URS-010 validation: dropship

All four order types submitted — ✅ PASS

Section titled “All four order types submitted — ✅ PASS”

Assertion: All four order types should be present: consignment, direct, dropship (order_requests) plus at least one billing_orders row (Bill-Only)

SELECT
(SELECT COUNT(DISTINCT order_type)::int
FROM order_requests
WHERE requested_by_user_id = $1
AND notes LIKE '%URS-010%'
AND order_type IN ('consignment', 'direct', 'dropship')) AS request_type_count,
(SELECT COUNT(*)::int
FROM billing_orders
WHERE created_by_user_id = $1
AND notes LIKE '%URS-010%') AS billing_order_count
request_type_countbilling_order_count
31

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 2: Bill-Only orderdecision:bill_only_order.inventory_items_decrement
Step 2: Bill-Only orderbilling_order:status_change

Each row asserts that a declared expectedEmailTemplates entry was matched (case-insensitive substring) by a captured email subject or template. A ❌ flips overall status to FAIL.

StepExpected TemplateFound
Step 2: Bill-Only orderbill-only

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-08-03T23:09:27.690Z

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

17 event(s) captured:

TimeTypeActionUserOrgObject IDPerformedReason
2026-08-03 23:09:32Zuser_loguser:loginblair.bennett@corvetasurgical.comCorveta Surgical Group
2026-08-03 23:09:39Zuser_loguser:loginblair.bennett@corvetasurgical.comCorveta Surgical Group
2026-08-03 23:10:00Zdecisionbill_only_order.direct_po_import_on_createblair.bennett@corvetasurgical.comVantis019fc9e4-2917-795c-8670-24befcaaa8a4noNo uploaded PO documents
2026-08-03 23:10:00Zdecisionbill_only.link_purchase_orderblair.bennett@corvetasurgical.comCorveta Surgical Group019fc9e4-2917-795c-8670-24befcaaa8a4nono_purchase_order_selected
2026-08-03 23:10:00Zdecisionbill_only_order.inventory_items_decrementblair.bennett@corvetasurgical.comVantis019fc9e4-2917-795c-8670-24befcaaa8a4yesinventory_items_decremented
2026-08-03 23:10:00Zbilling_orderstatus_changeblair.bennett@corvetasurgical.comVantis019fc9e4-2917-795c-8670-24befcaaa8a4
2026-08-03 23:10:02Ztransactional_emailnew_bill_onlyCorveta Surgical Group019fc9e4-2917-795c-8670-24befcaaa8a4
2026-08-03 23:10:06Zuser_loguser:loginblair.bennett@corvetasurgical.comCorveta Surgical Group
2026-08-03 23:10:20Zdecisionorder_request_createdblair.bennett@corvetasurgical.comVantis019fc9e4-76a7-71ff-9b67-610af63506e7yesOrder request OR-2 created (importSource=manual)
2026-08-03 23:10:20Zchecklistchecklists.createblair.bennett@corvetasurgical.comVantis019fc9e4-76b4-7895-ab85-f37e54d8ef22
2026-08-03 23:10:23Zuser_loguser:loginblair.bennett@corvetasurgical.comCorveta Surgical Group
2026-08-03 23:10:38Zchecklistchecklists.createblair.bennett@corvetasurgical.comVantis019fc9e4-bb5f-7081-a20f-86f4da626ed6
2026-08-03 23:10:38Zdecisionorder_request_createdblair.bennett@corvetasurgical.comVantis019fc9e4-bb55-7013-8c67-eb52c8776325yesOrder request OR-3 created (importSource=manual)
2026-08-03 23:10:41Zuser_loguser:loginblair.bennett@corvetasurgical.comCorveta Surgical Group
2026-08-03 23:10:55Zdecisionorder_request_createdblair.bennett@corvetasurgical.comVantis019fc9e5-0002-7a82-a62c-d8b47b28da1cyesOrder request OR-4 created (importSource=manual)
2026-08-03 23:10:55Zchecklistchecklists.createblair.bennett@corvetasurgical.comVantis019fc9e5-000a-7b2c-be63-582da0f508b7
2026-08-03 23:10:58Zuser_loguser:loginblair.bennett@corvetasurgical.comCorveta Surgical Group

1 notification email(s) were captured during this test run. Each email is rendered as a screenshot for compliance review.

1. New Bill-Only Order - 8/3/2026 - Vantis BO-1

Section titled “1. New Bill-Only Order - 8/3/2026 - Vantis BO-1”

Template: New_Bill-Only_Order_-_8_3_2026_-_Vantis_BO-1

New Bill-Only Order - 8/3/2026 - Vantis BO-1