Meridian — B2B operations console
A real AegisRunner scan of our own demo app. See the pages it mapped, the tests it generated, and the accessibility, SEO, security and performance issues it found — all from a single URL.
Log in as an admin user5 cases
Admin logs out2 cases
Admin attempts login with empty credentials4 cases
Admin logs in successfully — auth gate (logged out)3 cases
Admin logs in successfully1 case
Sign in as an admin with valid credentials — auth gate (logged out)5 cases
Sign in as an admin with valid credentials1 case
Journey: Admin manages a product3 cases
Journey: Admin processes an order — auth gate (logged out)2 cases
Journey: Admin processes an order2 cases
Attempt login with empty credentials and see validation — auth gate (logged out)3 cases
Attempt login with empty credentials and see validation1 case
Log in as admin with valid credentials — auth gate (logged out)4 cases
Log in as admin with valid credentials2 cases
Journey: Admin manages a product end-to-end5 cases
Attempt sign in with empty credentials and see validation — auth gate (logged out)1 case
Attempt sign in with empty credentials and see validation4 cases
Sign in as admin with valid credentials — auth gate (logged out)5 cases
Sign in as admin with valid credentials1 case
Journey: Admin creates an invoice for a new customer2 cases
Journey: Admin manages a customer end-to-end1 case
Sign in with empty credentials and see validation — auth gate (logged out)4 cases
Sign in with empty credentials and see validation1 case
Sign in with valid credentials5 cases
E2E: Customers flows17 cases

No security headers data.
Navigate to Device Verification (logged in)6 cases
Navigate to Reports (logged in)6 cases
Navigate to Products list (logged in)6 cases
Navigate to Orders list (logged in) — auth gate (logged out)1 case
Navigate to Orders list (logged in)3 cases
Navigate to Customers list (logged in)5 cases
Admin logs out2 cases
Admin verifies a device5 cases
Admin navigates to Settings3 cases
Admin navigates to Requests6 cases
Admin navigates to Approvals — auth gate (logged out)2 cases
Admin navigates to Approvals3 cases
Admin navigates to Reports3 cases
Admin navigates to Invoices list4 cases
Admin navigates to Products list — auth gate (logged out)1 case
Admin navigates to Products list5 cases
Admin navigates to Orders list — auth gate (logged out)1 case
Admin navigates to Orders list5 cases
Admin navigates to Customers list5 cases
Navigate to Device Verification as admin1 case
Navigate to Settings as admin — auth gate (logged out)1 case
Navigate to Settings as admin2 cases
Navigate to Requests as admin4 cases
Navigate to Reports as admin5 cases
Navigate to Approvals as admin5 cases
Navigate to Products list as admin5 cases
Navigate to Invoices list as admin6 cases
Navigate to Orders list as admin5 cases
Navigate to Customers list as admin — auth gate (logged out)1 case
Navigate to Customers list as admin4 cases
E2E: Orders flows10 cases
E2E: Verify flows1 case
E2E: Products flows17 cases
E2E: Reports flows1 case
E2E: Approvals flows1 case
E2E: Invoices flows1 case

No security headers data.
Perform 'Place Order' action in portal settings1 case
Update portal settings2 cases
Place an order from settings2 cases

No security headers data.
This address doesn't exist in the app — it answered with its “Page not found” page — so there is nothing to test here. AegisRunner reports it as a broken page instead.

No security headers data.
Navigate to Customers list (logged in)5 cases
Admin creates a new customer1 case
Admin navigates to Customers list5 cases
Edit an existing customer as admin5 cases
Create a new customer as admin4 cases
Navigate to Customers list as admin4 cases
Navigate to Customers list page3 cases
Create a new customer3 cases

No security headers data.
Navigate to Customers list (logged in)5 cases
Admin creates a new customer1 case
Admin navigates to Customers list5 cases
Create a new customer as admin4 cases
Navigate to Customers list as admin4 cases
Navigate to Customers list page3 cases
Create a new customer3 cases

No security headers data.
Navigate to Customers list (logged in)5 cases
Admin creates a new customer1 case
Admin navigates to Customers list5 cases
Create a new customer as admin4 cases
Navigate to Customers list as admin4 cases
Navigate to Customers list page3 cases
Create a new customer3 cases

No security headers data.
Navigate to Customers list (logged in)5 cases
Admin creates a new customer1 case
Admin navigates to Customers list5 cases
Create a new customer as admin4 cases
Navigate to Customers list as admin4 cases
Navigate to Customers list page3 cases
Create a new customer3 cases

No security headers data.
Navigate to Customers list (logged in)5 cases
Admin creates a new customer1 case
Admin navigates to Customers list5 cases
Create a new customer as admin4 cases
Navigate to Customers list as admin4 cases
Navigate to Customers list page3 cases
Create a new customer3 cases

No security headers data.
Navigate to Customers list (logged in)5 cases
Admin creates a new customer1 case
Admin navigates to Customers list5 cases
Create a new customer as admin4 cases
Navigate to Customers list as admin4 cases
Navigate to Customers list page3 cases
Create a new customer3 cases

No security headers data.
Navigate to Customers list (logged in)5 cases
Admin creates a new customer1 case
Admin navigates to Customers list5 cases
Create a new customer as admin4 cases
Navigate to Customers list as admin4 cases
Navigate to Customers list page3 cases
Create a new customer3 cases

No security headers data.
Search for a product in the Customers list1 case
Navigate to Customers list (logged in)5 cases
Admin creates a new customer1 case
Admin navigates to Customers list5 cases
Download CSV from Customers page3 cases
Create a new customer as admin4 cases
Navigate to Customers list as admin4 cases
Search for a product on the Customers page5 cases
Navigate to Customers list page — auth gate (logged out)3 cases
Navigate to Customers list page3 cases
Create a new customer3 cases

No security headers data.
Navigate to Orders list (logged in)3 cases
Admin navigates to Orders list5 cases
Edit an existing order as admin5 cases
Navigate to Orders list as admin5 cases
Navigate to Orders list page5 cases

No security headers data.
Navigate to Orders list (logged in)3 cases
Admin navigates to Orders list5 cases
Navigate to Orders list as admin5 cases
Navigate to Orders list page5 cases

No security headers data.
Navigate to Orders list (logged in)3 cases
Admin navigates to Orders list5 cases
Navigate to Orders list as admin5 cases
Navigate to Orders list page5 cases

No security headers data.
Navigate to Orders list (logged in)3 cases
Admin navigates to Orders list5 cases
Navigate to Orders list as admin5 cases
Navigate to Orders list page5 cases

No security headers data.
Navigate to Orders list (logged in)3 cases
Admin navigates to Orders list5 cases
Navigate to Orders list as admin5 cases
Navigate to Orders list page5 cases

No security headers data.
Navigate to Orders list (logged in)3 cases
Admin navigates to Orders list5 cases
Navigate to Orders list as admin5 cases
Navigate to Orders list page5 cases

No security headers data.
Search for a product in the Orders list1 case
Navigate to Orders list (logged in)3 cases
Admin navigates to Orders list5 cases
Download CSV from Orders page4 cases
Navigate to Orders list as admin5 cases
Search for a product on the Orders page4 cases
Navigate to Orders list page — auth gate (logged out)1 case
Navigate to Orders list page5 cases

No security headers data.
Navigate to Products list (logged in)6 cases
Admin creates a new product4 cases
Admin navigates to Products list5 cases
Edit an existing product as admin2 cases
Create a new product as admin6 cases
Navigate to Products list as admin5 cases
Navigate to Products list page5 cases
Create a new product5 cases

No security headers data.
Navigate to Products list (logged in)6 cases
Admin creates a new product4 cases
Admin navigates to Products list5 cases
Create a new product as admin6 cases
Navigate to Products list as admin5 cases
Navigate to Products list page5 cases
Create a new product5 cases

No security headers data.
Navigate to Products list (logged in)6 cases
Admin creates a new product4 cases
Admin navigates to Products list5 cases
Create a new product as admin6 cases
Navigate to Products list as admin5 cases
Navigate to Products list page5 cases
Create a new product5 cases

No security headers data.
Navigate to Products list (logged in)6 cases
Admin creates a new product4 cases
Admin navigates to Products list5 cases
Create a new product as admin6 cases
Navigate to Products list as admin5 cases
Navigate to Products list page5 cases
Create a new product5 cases

No security headers data.
Navigate to Products list (logged in)6 cases
Admin creates a new product4 cases
Admin navigates to Products list5 cases
Create a new product as admin6 cases
Navigate to Products list as admin5 cases
Navigate to Products list page5 cases
Create a new product5 cases

No security headers data.
Navigate to Products list (logged in)6 cases
Admin creates a new product4 cases
Admin navigates to Products list5 cases
Create a new product as admin6 cases
Navigate to Products list as admin5 cases
Navigate to Products list page5 cases
Create a new product5 cases

No security headers data.
Navigate to Products list (logged in)6 cases
Admin creates a new product4 cases
Admin navigates to Products list5 cases
Create a new product as admin6 cases
Navigate to Products list as admin5 cases
Navigate to Products list page5 cases
Create a new product5 cases

No security headers data.
This address doesn't exist in the app — it answered with its “Page not found” page — so there is nothing to test here. AegisRunner reports it as a broken page instead.

No security headers data.
This address doesn't exist in the app — it answered with its “Page not found” page — so there is nothing to test here. AegisRunner reports it as a broken page instead.

No security headers data.
This address doesn't exist in the app — it answered with its “Page not found” page — so there is nothing to test here. AegisRunner reports it as a broken page instead.

No security headers data.
This address doesn't exist in the app — it answered with its “Page not found” page — so there is nothing to test here. AegisRunner reports it as a broken page instead.

No security headers data.
This address doesn't exist in the app — it answered with its “Page not found” page — so there is nothing to test here. AegisRunner reports it as a broken page instead.

No security headers data.
This address doesn't exist in the app — it answered with its “Page not found” page — so there is nothing to test here. AegisRunner reports it as a broken page instead.

No security headers data.
This address doesn't exist in the app — it answered with its “Page not found” page — so there is nothing to test here. AegisRunner reports it as a broken page instead.

No security headers data.
Navigate to Customers list (logged in)5 cases
Admin creates a new customer1 case
Admin navigates to Customers list5 cases
Edit an existing customer as admin5 cases
Create a new customer as admin4 cases
Navigate to Customers list as admin4 cases
Navigate to Customers list page3 cases
Create a new customer3 cases

No security headers data.
Navigate to Orders list (logged in)3 cases
Admin navigates to Orders list5 cases
Edit an existing order as admin5 cases
Navigate to Orders list as admin5 cases
Navigate to Orders list page5 cases

No security headers data.
Navigate to Products list (logged in)6 cases
Admin creates a new product4 cases
Admin navigates to Products list5 cases
Edit an existing product as admin2 cases
Create a new product as admin6 cases
Navigate to Products list as admin5 cases
Navigate to Products list page5 cases
Create a new product5 cases

No security headers data.
This address doesn't exist in the app — it answered with its “Page not found” page — so there is nothing to test here. AegisRunner reports it as a broken page instead.

No security headers data.
Navigate to Approvals (admin)6 cases
Admin navigates to Approvals3 cases
Navigate to Approvals as admin5 cases
Navigate to Approvals page5 cases

No SEO issues found.
No security headers data.
Navigate to Customers list (logged in)5 cases
Admin edits an existing customer — auth gate (logged out)1 case
Admin edits an existing customer4 cases
Admin creates a new customer1 case
Admin navigates to Customers list5 cases
Create a new customer as admin4 cases
Navigate to Customers list as admin4 cases
Navigate to Customers list page3 cases
Edit an existing customer's details — auth gate (logged out)1 case
Edit an existing customer's details3 cases
Create a new customer3 cases

No SEO issues found.
No security headers data.
Navigate to Customers list (logged in)5 cases
Admin creates a new customer1 case
Admin navigates to Customers list5 cases
Edit an existing customer as admin5 cases
Create a new customer as admin4 cases
Navigate to Customers list as admin4 cases
Navigate to Customers list page3 cases
Create a new customer3 cases

No SEO issues found.
No security headers data.
Navigate to Customers list (logged in)5 cases
Admin creates a new customer1 case
Admin navigates to Customers list5 cases
Edit an existing customer as admin5 cases
Create a new customer as admin4 cases
Navigate to Customers list as admin4 cases
Navigate to Customers list page3 cases
Create a new customer3 cases

No SEO issues found.
No security headers data.
Navigate to Customers list (logged in)5 cases
Admin creates a new customer1 case
Admin navigates to Customers list5 cases
Edit an existing customer as admin5 cases
Create a new customer as admin4 cases
Navigate to Customers list as admin4 cases
Navigate to Customers list page3 cases
Create a new customer3 cases

No SEO issues found.
No security headers data.
Navigate to Customers list (logged in)5 cases
Admin creates a new customer1 case
Admin navigates to Customers list5 cases
Edit an existing customer as admin5 cases
Create a new customer as admin4 cases
Navigate to Customers list as admin4 cases
Navigate to Customers list page3 cases
Create a new customer3 cases

No SEO issues found.
No security headers data.
Navigate to Customers list (logged in)5 cases
Admin creates a new customer1 case
Admin navigates to Customers list5 cases
Create a new customer as admin4 cases
Navigate to Customers list as admin4 cases
Navigate to Customers list page3 cases
Create a new customer3 cases

No SEO issues found.
No security headers data.
Navigate to Customers list (logged in)5 cases
Admin creates a new customer1 case
Admin navigates to Customers list5 cases
Create a new customer as admin4 cases
Navigate to Customers list as admin4 cases
Navigate to Customers list page3 cases
Create a new customer3 cases

No SEO issues found.
No security headers data.
Navigate to Customers list (logged in)5 cases
Admin creates a new customer1 case
Admin navigates to Customers list5 cases
Create a new customer as admin4 cases
Navigate to Customers list as admin4 cases
Navigate to Customers list page3 cases
Create a new customer3 cases

No SEO issues found.
No security headers data.
Navigate to Customers list (logged in)5 cases
Admin creates a new customer1 case
Admin navigates to Customers list5 cases
Create a new customer as admin4 cases
Navigate to Customers list as admin4 cases
Navigate to Customers list page3 cases
Create a new customer3 cases

No SEO issues found.
No security headers data.
Navigate to Customers list (logged in)5 cases
Admin creates a new customer1 case
Admin navigates to Customers list5 cases
Create a new customer as admin4 cases
Navigate to Customers list as admin4 cases
Navigate to Customers list page3 cases
Create a new customer3 cases

No SEO issues found.
No security headers data.
Navigate to Customers list (logged in)5 cases
Admin creates a new customer1 case
Admin navigates to Customers list5 cases
Create a new customer as admin4 cases
Navigate to Customers list as admin4 cases
Navigate to Customers list page3 cases
Create a new customer3 cases

No SEO issues found.
No security headers data.
Navigate to Customers list (logged in)5 cases
Admin creates a new customer1 case
Admin navigates to Customers list5 cases
Create a new customer as admin4 cases
Navigate to Customers list as admin4 cases
Navigate to Customers list page3 cases
Create a new customer3 cases

No SEO issues found.
No security headers data.
Navigate to Customers list (logged in)5 cases
Admin creates a new customer1 case
Admin navigates to Customers list5 cases
Create a new customer as admin4 cases
Navigate to Customers list as admin4 cases
Navigate to Customers list page3 cases
Create a new customer3 cases

No SEO issues found.
No security headers data.
Navigate to Customers list (logged in)5 cases
Admin creates a new customer1 case
Admin navigates to Customers list5 cases
Create a new customer as admin4 cases
Navigate to Customers list as admin4 cases
Navigate to Customers list page3 cases
Create a new customer3 cases

No SEO issues found.
No security headers data.
Navigate to Customers list (logged in)5 cases
Admin creates a new customer1 case
Admin navigates to Customers list5 cases
Create a new customer as admin4 cases
Navigate to Customers list as admin4 cases
Navigate to Customers list page3 cases
Create a new customer3 cases

No SEO issues found.
No security headers data.
Navigate to Customers list (logged in)5 cases
Admin creates a new customer1 case
Admin navigates to Customers list5 cases
Create a new customer as admin4 cases
Navigate to Customers list as admin4 cases
Navigate to Customers list page3 cases
Create a new customer3 cases

No SEO issues found.
No security headers data.
Navigate to Customers list (logged in)5 cases
Admin creates a new customer1 case
Admin navigates to Customers list5 cases
Create a new customer as admin4 cases
Navigate to Customers list as admin4 cases
Navigate to Customers list page3 cases
Create a new customer3 cases

No SEO issues found.
No security headers data.
Navigate to Customers list (logged in)5 cases
Admin creates a new customer1 case
Admin navigates to Customers list5 cases
Create a new customer as admin4 cases
Navigate to Customers list as admin4 cases
Navigate to Customers list page3 cases
Create a new customer3 cases

No SEO issues found.
No security headers data.
Navigate to Customers list (logged in)5 cases
Admin creates a new customer1 case
Admin navigates to Customers list5 cases
Create a new customer as admin4 cases
Navigate to Customers list as admin4 cases
Navigate to Customers list page3 cases
Create a new customer3 cases

No SEO issues found.
No security headers data.
Navigate to Customers list (logged in)5 cases
Admin creates a new customer1 case
Admin navigates to Customers list5 cases
Create a new customer as admin4 cases
Navigate to Customers list as admin4 cases
Navigate to Customers list page3 cases
Create a new customer3 cases

No SEO issues found.
No security headers data.
Navigate to Customers list (logged in)5 cases
Admin creates a new customer1 case
Admin navigates to Customers list5 cases
Create a new customer as admin4 cases
Navigate to Customers list as admin4 cases
Navigate to Customers list page3 cases
Create a new customer — auth gate (logged out)1 case
Create a new customer3 cases

No SEO issues found.
No security headers data.
Search for a product in the Customers list1 case
Navigate to Customers list (logged in)5 cases
Admin creates a new customer1 case
Admin navigates to Customers list5 cases
Download CSV from Customers page3 cases
Create a new customer as admin4 cases
Navigate to Customers list as admin4 cases
Search for a product on the Customers page5 cases
Navigate to Customers list page — auth gate (logged out)3 cases
Navigate to Customers list page3 cases
Create a new customer3 cases

No SEO issues found.
No security headers data.
Search for a product in the Customers list1 case
Navigate to Customers list (logged in)5 cases
Admin creates a new customer1 case
Admin navigates to Customers list5 cases
Download CSV from Customers page3 cases
Create a new customer as admin4 cases
Navigate to Customers list as admin4 cases
Search for a product on the Customers page5 cases
Navigate to Customers list page — auth gate (logged out)3 cases
Navigate to Customers list page3 cases
Create a new customer3 cases

No SEO issues found.
No security headers data.
Navigate to Invoices (admin)4 cases
Admin creates a new invoice5 cases
Admin navigates to Invoices list4 cases
Create a new invoice as admin3 cases
Navigate to Invoices list as admin6 cases
Navigate to Invoices page6 cases
Navigate to Invoices list page3 cases
Journey: Admin creates an invoice for a new customer2 cases
Create a new invoice5 cases
Create a new invoice and review it — auth gate (logged out)3 cases
Create a new invoice and review it3 cases

No SEO issues found.
No security headers data.
Navigate to Invoices (admin) — auth gate (logged out)2 cases
Navigate to Invoices (admin)4 cases
Admin creates a new invoice5 cases
Admin navigates to Invoices list4 cases
Create a new invoice as admin3 cases
Navigate to Invoices list as admin6 cases
Navigate to Invoices page6 cases
Navigate to Invoices list page — auth gate (logged out)1 case
Navigate to Invoices list page3 cases
Journey: Admin creates an invoice for a new customer2 cases
Create a new invoice5 cases
Create a new invoice and review it3 cases

No SEO issues found.
No security headers data.
Log in as an admin user5 cases
Admin logs out2 cases
Admin attempts login with empty credentials4 cases
Admin logs in successfully — auth gate (logged out)3 cases
Admin logs in successfully1 case
Sign in as an admin with valid credentials — auth gate (logged out)5 cases
Sign in as an admin with valid credentials1 case
Journey: Admin manages a product3 cases
Journey: Admin processes an order — auth gate (logged out)2 cases
Journey: Admin processes an order2 cases
Attempt login with empty credentials and see validation — auth gate (logged out)3 cases
Attempt login with empty credentials and see validation1 case
Log in as admin with valid credentials — auth gate (logged out)4 cases
Log in as admin with valid credentials2 cases
Journey: Admin manages a product end-to-end5 cases
Attempt sign in with empty credentials and see validation — auth gate (logged out)1 case
Attempt sign in with empty credentials and see validation4 cases
Sign in as admin with valid credentials — auth gate (logged out)5 cases
Sign in as admin with valid credentials1 case
Journey: Admin creates an invoice for a new customer2 cases
Journey: Admin manages a customer end-to-end1 case
Sign in with empty credentials and see validation — auth gate (logged out)4 cases
Sign in with empty credentials and see validation1 case
Sign in with valid credentials5 cases
E2E: Customers flows17 cases

No security headers data.
Navigate to Orders list (logged in)3 cases
Admin edits an existing order4 cases
Admin navigates to Orders list5 cases
Navigate to Orders list as admin5 cases
Edit an existing order's details5 cases
Navigate to Orders list page5 cases
Edit an existing order2 cases

No SEO issues found.
No security headers data.
Navigate to Orders list (logged in)3 cases
Admin navigates to Orders list5 cases
Edit an existing order as admin5 cases
Navigate to Orders list as admin5 cases
Navigate to Orders list page5 cases

No SEO issues found.
No security headers data.
Navigate to Orders list (logged in)3 cases
Admin navigates to Orders list5 cases
Edit an existing order as admin5 cases
Navigate to Orders list as admin5 cases
Navigate to Orders list page5 cases

No SEO issues found.
No security headers data.
Navigate to Orders list (logged in)3 cases
Admin navigates to Orders list5 cases
Edit an existing order as admin5 cases
Navigate to Orders list as admin5 cases
Navigate to Orders list page5 cases

No SEO issues found.
No security headers data.
Navigate to Orders list (logged in)3 cases
Admin navigates to Orders list5 cases
Edit an existing order as admin5 cases
Navigate to Orders list as admin5 cases
Navigate to Orders list page5 cases

No SEO issues found.
No security headers data.
Navigate to Orders list (logged in)3 cases
Admin navigates to Orders list5 cases
Navigate to Orders list as admin5 cases
Navigate to Orders list page5 cases

No SEO issues found.
No security headers data.
Navigate to Orders list (logged in)3 cases
Admin navigates to Orders list5 cases
Navigate to Orders list as admin5 cases
Navigate to Orders list page5 cases

No SEO issues found.
No security headers data.
Navigate to Orders list (logged in)3 cases
Admin navigates to Orders list5 cases
Navigate to Orders list as admin5 cases
Navigate to Orders list page5 cases

No SEO issues found.
No security headers data.
Navigate to Orders list (logged in)3 cases
Admin navigates to Orders list5 cases
Navigate to Orders list as admin5 cases
Navigate to Orders list page5 cases

No SEO issues found.
No security headers data.
Navigate to Orders list (logged in)3 cases
Admin navigates to Orders list5 cases
Navigate to Orders list as admin5 cases
Navigate to Orders list page5 cases

No SEO issues found.
No security headers data.
Navigate to Orders list (logged in)3 cases
Admin navigates to Orders list5 cases
Navigate to Orders list as admin5 cases
Navigate to Orders list page5 cases

No SEO issues found.
No security headers data.
Navigate to Orders list (logged in)3 cases
Admin navigates to Orders list5 cases
Navigate to Orders list as admin5 cases
Navigate to Orders list page5 cases

No SEO issues found.
No security headers data.
Navigate to Orders list (logged in)3 cases
Admin navigates to Orders list5 cases
Navigate to Orders list as admin5 cases
Navigate to Orders list page5 cases

No SEO issues found.
No security headers data.
Navigate to Orders list (logged in)3 cases
Admin navigates to Orders list5 cases
Navigate to Orders list as admin5 cases
Navigate to Orders list page5 cases

No SEO issues found.
No security headers data.
Navigate to Orders list (logged in)3 cases
Admin navigates to Orders list5 cases
Navigate to Orders list as admin5 cases
Navigate to Orders list page5 cases

No SEO issues found.
No security headers data.
Navigate to Orders list (logged in)3 cases
Admin navigates to Orders list5 cases
Navigate to Orders list as admin5 cases
Navigate to Orders list page5 cases

No SEO issues found.
No security headers data.
Search for a product in the Orders list1 case
Navigate to Orders list (logged in)3 cases
Admin navigates to Orders list5 cases
Download CSV from Orders page4 cases
Navigate to Orders list as admin5 cases
Search for a product on the Orders page4 cases
Navigate to Orders list page — auth gate (logged out)1 case
Navigate to Orders list page5 cases

No SEO issues found.
No security headers data.
Search for a product in the Orders list1 case
Navigate to Orders list (logged in)3 cases
Admin navigates to Orders list5 cases
Download CSV from Orders page4 cases
Navigate to Orders list as admin5 cases
Search for a product on the Orders page4 cases
Navigate to Orders list page — auth gate (logged out)1 case
Navigate to Orders list page5 cases

No SEO issues found.
No security headers data.
Navigate to Products list (logged in)6 cases
Admin edits an existing product — auth gate (logged out)1 case
Admin edits an existing product2 cases
Admin creates a new product4 cases
Admin navigates to Products list5 cases
Create a new product as admin6 cases
Navigate to Products list as admin5 cases
Navigate to Products list page5 cases
Edit an existing product's details6 cases
Create a new product5 cases

No SEO issues found.
No security headers data.
Navigate to Products list (logged in)6 cases
Admin creates a new product4 cases
Admin navigates to Products list5 cases
Edit an existing product as admin2 cases
Create a new product as admin6 cases
Navigate to Products list as admin5 cases
Navigate to Products list page5 cases
Create a new product5 cases

No SEO issues found.
No security headers data.
Navigate to Products list (logged in)6 cases
Admin creates a new product4 cases
Admin navigates to Products list5 cases
Edit an existing product as admin2 cases
Create a new product as admin6 cases
Navigate to Products list as admin5 cases
Navigate to Products list page5 cases
Create a new product5 cases

No SEO issues found.
No security headers data.
Navigate to Products list (logged in)6 cases
Admin creates a new product4 cases
Admin navigates to Products list5 cases
Edit an existing product as admin2 cases
Create a new product as admin6 cases
Navigate to Products list as admin5 cases
Navigate to Products list page5 cases
Create a new product5 cases

No SEO issues found.
No security headers data.
Navigate to Products list (logged in)6 cases
Admin creates a new product4 cases
Admin navigates to Products list5 cases
Create a new product as admin6 cases
Navigate to Products list as admin5 cases
Navigate to Products list page5 cases
Create a new product5 cases

No SEO issues found.
No security headers data.
Navigate to Products list (logged in)6 cases
Admin creates a new product4 cases
Admin navigates to Products list5 cases
Create a new product as admin6 cases
Navigate to Products list as admin5 cases
Navigate to Products list page5 cases
Create a new product5 cases

No SEO issues found.
No security headers data.
Navigate to Products list (logged in)6 cases
Admin creates a new product4 cases
Admin navigates to Products list5 cases
Create a new product as admin6 cases
Navigate to Products list as admin5 cases
Navigate to Products list page5 cases
Create a new product5 cases

No SEO issues found.
No security headers data.
Navigate to Products list (logged in)6 cases
Admin creates a new product4 cases
Admin navigates to Products list5 cases
Create a new product as admin6 cases
Navigate to Products list as admin5 cases
Navigate to Products list page5 cases
Create a new product5 cases

No SEO issues found.
No security headers data.
Navigate to Products list (logged in)6 cases
Admin creates a new product4 cases
Admin navigates to Products list5 cases
Create a new product as admin6 cases
Navigate to Products list as admin5 cases
Navigate to Products list page5 cases
Create a new product5 cases

No SEO issues found.
No security headers data.
Navigate to Products list (logged in)6 cases
Admin creates a new product4 cases
Admin navigates to Products list5 cases
Create a new product as admin6 cases
Navigate to Products list as admin5 cases
Navigate to Products list page5 cases
Create a new product5 cases

No SEO issues found.
No security headers data.
Navigate to Products list (logged in)6 cases
Admin creates a new product4 cases
Admin navigates to Products list5 cases
Create a new product as admin6 cases
Navigate to Products list as admin5 cases
Navigate to Products list page5 cases
Create a new product5 cases

No SEO issues found.
No security headers data.
Navigate to Products list (logged in)6 cases
Admin creates a new product4 cases
Admin navigates to Products list5 cases
Create a new product as admin6 cases
Navigate to Products list as admin5 cases
Navigate to Products list page5 cases
Create a new product5 cases

No SEO issues found.
No security headers data.
Navigate to Products list (logged in)6 cases
Admin creates a new product4 cases
Admin navigates to Products list5 cases
Create a new product as admin6 cases
Navigate to Products list as admin5 cases
Navigate to Products list page5 cases
Create a new product5 cases

No SEO issues found.
No security headers data.
Navigate to Products list (logged in)6 cases
Admin creates a new product4 cases
Admin navigates to Products list5 cases
Create a new product as admin6 cases
Navigate to Products list as admin5 cases
Navigate to Products list page5 cases
Create a new product5 cases

No SEO issues found.
No security headers data.
Navigate to Products list (logged in)6 cases
Admin creates a new product4 cases
Admin navigates to Products list5 cases
Create a new product as admin6 cases
Navigate to Products list as admin5 cases
Navigate to Products list page5 cases
Create a new product5 cases

No SEO issues found.
No security headers data.
Navigate to Products list (logged in)6 cases
Admin creates a new product4 cases
Admin navigates to Products list5 cases
Create a new product as admin6 cases
Navigate to Products list as admin5 cases
Navigate to Products list page5 cases
Create a new product5 cases

No SEO issues found.
No security headers data.
Navigate to Products list (logged in)6 cases
Admin creates a new product — auth gate (logged out)1 case
Admin creates a new product4 cases
Admin navigates to Products list5 cases
Create a new product as admin6 cases
Navigate to Products list as admin5 cases
Navigate to Products list page5 cases
Create a new product5 cases

No SEO issues found.
No security headers data.
Navigate to Products list (logged in)6 cases
Admin creates a new product4 cases
Admin navigates to Products list5 cases
Create a new product as admin6 cases
Navigate to Products list as admin5 cases
Navigate to Products list page — auth gate (logged out)1 case
Navigate to Products list page5 cases
Create a new product5 cases

No SEO issues found.
No security headers data.
Navigate to Reports (logged in)6 cases
Admin navigates to Reports3 cases
Navigate to Reports as admin5 cases
Navigate to Reports page6 cases

No SEO issues found.
No security headers data.
Navigate to Requests (admin)7 cases
Admin navigates to Requests6 cases
Navigate to Requests as admin4 cases
Navigate to Requests page3 cases
AUTO-GEN: cross-surface sync round-trip1 case

No SEO issues found.
No security headers data.
Navigate to Settings (admin)4 cases
Admin navigates to Settings3 cases
Navigate to Settings as admin2 cases
Update admin settings2 cases
Navigate to Settings page — auth gate (logged out)1 case
Navigate to Settings page4 cases

No SEO issues found.
No security headers data.
Navigate to Device Verification (logged in)6 cases
Admin verifies a device5 cases
Navigate to Device Verification as admin1 case
Navigate to Device Verification page — auth gate (logged out)2 cases
Navigate to Device Verification page3 cases

No SEO issues found.
No security headers data.
Navigate to Device Verification (logged in)6 cases
Navigate to Reports (logged in)6 cases
Navigate to Products list (logged in)6 cases
Navigate to Orders list (logged in) — auth gate (logged out)1 case
Navigate to Orders list (logged in)3 cases
Navigate to Customers list (logged in)5 cases
Admin logs out2 cases
Admin verifies a device5 cases
Admin navigates to Settings3 cases
Admin navigates to Requests6 cases
Admin navigates to Approvals — auth gate (logged out)2 cases
Admin navigates to Approvals3 cases
Admin navigates to Reports3 cases
Admin navigates to Invoices list4 cases
Admin navigates to Products list — auth gate (logged out)1 case
Admin navigates to Products list5 cases
Admin navigates to Orders list — auth gate (logged out)1 case
Admin navigates to Orders list5 cases
Admin navigates to Customers list5 cases
Navigate to Device Verification as admin1 case
Navigate to Settings as admin — auth gate (logged out)1 case
Navigate to Settings as admin2 cases
Navigate to Requests as admin4 cases
Navigate to Reports as admin5 cases
Navigate to Approvals as admin5 cases
Navigate to Products list as admin5 cases
Navigate to Invoices list as admin6 cases
Navigate to Orders list as admin5 cases
Navigate to Customers list as admin — auth gate (logged out)1 case
Navigate to Customers list as admin4 cases
E2E: Orders flows10 cases
E2E: Verify flows1 case
E2E: Products flows17 cases
E2E: Reports flows1 case
E2E: Approvals flows1 case
E2E: Invoices flows1 case

No SEO issues found.
No security headers data.
Navigate to Settings — full happy path
Verify that an authenticated user can navigate to the Settings page and see the settings heading with profile fields
- 1.Open the page
- 2.Click “Settings” link
- 3.Check: Settings page shows Name field
- 4.Check: Settings page shows Email field
- 5.Check: Settings page shows Account field
Settings page is reachable when already authenticated
Verify that clicking Settings from the nav correctly loads the settings section without re-authentication
- 1.Open the page
- 2.Click “Settings” link
- 3.Click “My orders” link
- 4.Click “Settings” link
- 5.Check: Settings form re-renders after navigating back
Settings — Name field is read-only
Verify that the Name field on the Settings page is disabled (read-only profile data)
- 1.Open the page
- 2.Click “Settings” link
- 3.Check: Name field is present on Settings page
- 4.Check: Name field is disabled (read-only profile data)
Settings — direct URL access redirects to login when unauthenticated
Verify that accessing /portal/settings directly without a session redirects to the login page
- 1.Open /portal/settings
- 2.Check: Unauthenticated access to Settings redirects to login page
- 3.Check: Login form is displayed instead of Settings
Login and land on customer portal
Verify that a customer can log in and is redirected to the portal with their request list
- 1.Open the page
- 2.Check: Portal page loads with My account section visible
- 3.Check: Top navigation bar is present
Customer request list is visible after login
Verify that after login the My account section displays support request links
- 1.Open the page
- 2.Check: Contact support link is visible in My account
- 3.Check: Place an order link is visible in My account
Navigate to Support page from top nav
Verify the Support link in top navigation opens the contact support form
- 1.Open the page
- 2.Click “Support” link
- 3.Check: Subject field is visible on support form
- 4.Check: Message textbox is visible on support form
- 5.Check: Submit button is visible on support form
Navigate to request detail from portal list
Verify clicking a request link in My account opens the request detail view
- 1.Open the page
- 2.Click “SYNC-95660” link
- 3.Check: Reply textbox is visible on request detail
- 4.Check: Send button is visible on request detail
- 5.Check: Back link to My account is visible
Return to request list from detail view via back link
Verify the ← My account back link returns user to the request list
- 1.Open the page
- 2.Click “SYNC-95660” link
- 3.Click “← My account” link
- 4.Check: Returned to My account section after clicking back link
- 5.Check: Contact support link is visible again in list
Customer cannot access admin /requests route
Verify that a customer navigating directly to /requests is redirected to the portal (not the admin view)
- 1.Open the page
- 2.Open /requests
- 3.Check: Customer is redirected to portal, not admin requests page
- 4.Check: Still on the customer portal (nav bar present)
Unauthenticated access to /requests redirects to login
Verify that an unauthenticated user navigating to /requests is forced to log in
- 1.Open /requests
- 2.Check: Login page is shown for unauthenticated access to /requests
- 3.Check: Sign in button is visible on login page
Unathenticated access to /invoices redirects to login
Verify that visiting /invoices without being authenticated redirects to the login page
- 1.Open /invoices
- 2.Check: Unauthenticated /invoices redirects to /login
- 3.Check: Login form is displayed for auth challenge
Login with empty password shows validation
Verify that submitting the login form with an empty password field is rejected by client-side validation
- 1.Open the page
- 2.Type “customer@meridian.test” into “email” field
- 3.Click “Sign in” button
- 4.Check: URL remains on /login — no navigation occurred
- 5.Check: Login form is still displayed after failed submit
Login with valid credentials redirects to portal
Verify that a customer can log in and lands on the customer portal
- 1.Open the page
- 2.Check: After login, URL contains /portal
- 3.Check: Customer nav 'My orders' is visible
- 4.Check: Sign out link confirms authenticated session
Customer account accessing /invoices is redirected to portal
Verify that a logged-in customer navigating directly to /invoices is redirected to the portal (no admin access)
- 1.Open the page
- 2.Open /invoices
- 3.Check: Customer is redirected to /portal instead of /invoices
- 4.Check: Customer navigation is displayed, not admin Invoices
Admin nav bar visible at /portal/invoices but page shows not found
Verify that navigating to /portal/invoices reveals admin sidebar with Invoices link but the page content is 'Page not found'
- 1.Open the page
- 2.Open /portal/invoices
- 3.Check: URL should be within /portal
- 4.Check: Admin nav link 'Invoices' is present in sidebar
- 5.Check: Page content indicates Invoices page is not available for this role
Clicking admin Invoices link redirects customer back to portal
Verify that clicking the 'Invoices' link in the admin sidebar redirects a non-admin customer back to the portal
- 1.Open the page
- 2.Open /portal/invoices
- 3.Click “Invoices” link
- 4.Check: Clicking Invoices redirects customer back to /portal
- 5.Check: Customer portal navigation is shown after redirect
Login — successful authentication redirects to portal
Verify that a valid customer can log in and lands on the portal dashboard
- 1.Open the page
- 2.Check: Redirected to customer portal after login
- 3.Check: Customer navigation menu is visible
- 4.Check: Sign out link confirms authenticated session
Approvals — customer portal nav does not expose Approvals link
Verify that the customer navigation menu does not include an Approvals link (admin-only feature)
- 1.Open the page
- 2.Check: My orders link is present
- 3.Check: Place order link is present
- 4.Check: Support link is present
- 5.Check: Settings link is present
Approvals — direct URL access denied for non-admin customer
Verify that a customer navigating directly to /approvals is redirected to the portal (access control enforced)
- 1.Open the page
- 2.Open /approvals
- 3.Check: Customer is redirected away from /approvals to /portal
- 4.Check: Customer portal is displayed instead of approvals
Approvals — /portal/approvals shows admin nav but page-not-found for customer
Verify that /portal/approvals renders the admin sidebar but denies content access to a customer
- 1.Open the page
- 2.Open /portal/approvals
- 3.Check: Admin sidebar Approvals link is rendered
- 4.Check: Page content is denied — Page not found shown
- 5.Check: Back to dashboard fallback link is available
Approvals — clicking Approvals in admin sidebar redirects customer to portal
Verify that clicking the Approvals link in the admin sidebar (when visible) redirects a customer back to the portal
- 1.Open the page
- 2.Open /portal/approvals
- 3.Click “Approvals” link
- 4.Check: Customer is redirected back to /portal after clicking Approvals
- 5.Check: Customer portal nav is displayed after redirect
Login — empty form submission stays on login page
Verify that submitting the login form with both fields empty does not navigate away
- 1.Open the page
- 2.Click “Sign in” button
- 3.Check: Still on login page — email field visible
- 4.Check: Sign in button still present
Login and navigate to Orders page
Verify that a customer can log in and reach the Orders list page
- 1.Open /orders?status=
- 2.Check: My orders link is visible after login
- 3.Check: Redirected to portal after login
Happy Path — Search for a product in the Customers list
Verify that an admin can search for a product name in the Customers list and see filtered results
- 1.Open /customers?status=
- 2.Click “Customers” link
- 3.Check: Landed on Customers page after clicking Customers link
- 4.Check: Search textbox is visible on Customers page
- 5.Check: Search button is visible on Customers page
- 6.Type “Meridian” into “Search” field
- 7.Click “Search” button
- 8.Check: Customer table with NAME column is visible after search
Login with valid credentials
Verify that a registered customer can log in and reach the portal dashboard
- 1.Open the page
- 2.Check: User is redirected to the portal after login
- 3.Check: Portal navigation bar is visible
- 4.Check: Sign out link confirms authenticated session
Portal page shows My account section with request links
Verify the authenticated portal page displays the My account section listing support requests
- 1.Open the page
- 2.Check: My account section heading is visible
- 3.Check: Place an order link is present in My account
- 4.Check: Contact support link is present in My account
Direct navigation to /verify from authenticated session
Verify that navigating directly to /verify while authenticated either shows the Device Verification page or handles the route gracefully
- 1.Open the page
- 2.Open /verify
- 3.Check: Unknown route redirects back to /portal instead of showing a broken page
- 4.Check: Portal navigation is still intact after redirect
Verify Device link is absent from customer portal navigation
Verify that the customer portal navigation does not expose a Verify Device link (feature may be admin-only or not yet deployed to this role)
- 1.Open the page
- 2.Check: Verify Device link is not present in the customer portal navigation bar
- 3.Check: Device Verification heading is not present on the portal page
Navigate to Support page from portal
Verify that clicking Support in the nav bar reaches the Contact support page
- 1.Open the page
- 2.Click “Support” link
- 3.Check: Subject field is visible on the support form
- 4.Check: Submit request button is visible
Settings page loads with account fields
Verify that clicking Settings in the nav bar reaches the account settings page
- 1.Open the page
- 2.Click “Settings” link
- 3.Check: Name field is visible in settings
- 4.Check: Email field is visible in settings
Customer login happy path
Verify that a customer can log in with valid credentials and land on the portal dashboard
- 1.Open the page
- 2.Check: URL should be within /portal
- 3.Check: Customer portal nav bar is visible
- 4.Check: Dashboard section heading is visible
Navigate to Reports page via direct URL as customer
Verify that a logged-in customer navigating directly to /portal/reports sees the admin sidebar but gets a Page not found response
- 1.Open the page
- 2.Open /portal/reports
- 3.Check: URL should be within /portal
- 4.Check: Admin sidebar is present with Reports link
- 5.Check: Page not found message is displayed for customer role
- 6.Check: Back to dashboard link is present on error page
Click Reports sidebar link on admin layout redirects to customer portal
Verify that clicking the Reports link in the admin sidebar on /portal/reports redirects the customer back to the customer portal
- 1.Open the page
- 2.Open /portal/reports
- 3.Click “Reports” link
- 4.Check: URL should be within /portal
- 5.Check: Customer portal nav is visible after redirect
Customer portal has no Open Reports link
Verify that the customer portal navigation does not expose an Open Reports link
- 1.Open the page
- 2.Check: My orders link is present
- 3.Check: Place order link is present
- 4.Check: Support link is present
- 5.Check: Settings link is present
- 6.Check: Sign out link is present
Login with invalid credentials shows error
Verify that submitting the login form with an incorrect password keeps the user on the login page
- 1.Open the page
- 2.Check: Still on login page — email field remains visible
- 3.Check: Still on login page — password field remains visible
- 4.Check: Sign in button is still present after failed attempt
Login with empty email field
Verify that submitting the login form with an empty email field keeps the user on the login page
- 1.Open the page
- 2.Check: Still on login page — email field remains visible
- 3.Check: Sign in button is still present after empty email submission
Happy Path - Login and navigate to Products page
Verify that a logged-in user can navigate to the Products list page and the URL and sidebar elements are present
- 1.Open /
- 2.Check: After login, user lands on portal
- 3.Open /portal/products
- 4.Check: URL contains /products after navigating to Products page
- 5.Check: Products link is visible in the sidebar
Products sidebar link is present in navigation
Verify the Products navigation link appears in the admin sidebar on the products page
- 1.Open /
- 2.Open /portal/products
- 3.Check: Dashboard link is visible in sidebar
- 4.Check: Customers link is visible in sidebar
- 5.Check: Products link is visible in sidebar
- 6.Check: Orders link is visible in sidebar
Page not found is displayed on Products page for customer role
Verify that the Products page currently shows 'Page not found' content for a customer user
- 1.Open /
- 2.Open /portal/products
- 3.Check: Page not found section is displayed
- 4.Check: Back to dashboard link is available
Products sidebar link navigates back to customer portal
Verify that clicking the Products link in the admin sidebar redirects to the customer portal for a customer user
- 1.Open /
- 2.Open /portal/products
- 3.Check: URL contains /products before clicking Products link
- 4.Click “Products” link
- 5.Check: Redirected back to customer portal — My orders link visible
- 6.Check: Customer portal Place order link visible after redirect
Negative - Unauthenticated access to Products page redirects to login
Verify that an unauthenticated user cannot directly access the Products page
- 1.Open /portal/products
- 2.Check: Login page is shown — email field visible
- 3.Check: Sign in button is visible on login page
Sign out removes access to Products page
Verify that after signing out, the Products page is no longer accessible and redirects to login
- 1.Open /
- 2.Open /portal/products
- 3.Check: URL contains /products while authenticated
- 4.Click “Sign out” link
- 5.Open /portal/products
- 6.Check: Login page shown after sign out when accessing Products
Negative - Unauthenticated access to orders redirects to login
Verify that attempting to access the orders list while not logged in redirects to the login page
- 1.Open /portal
- 2.Check: Unauthenticated user is redirected to /login
- 3.Check: Login form is displayed
Happy Path - Login and land on Orders list
Verify that a customer can log in and land on the Orders list page
- 1.Open the page
- 2.Check: After login, user lands on portal (orders list) page
- 3.Check: My orders nav link is visible
- 4.Check: Orders list section is displayed with 'Place an order' CTA
Negative - Login with empty credentials stays on login page
Verify that submitting the login form with both fields empty does not proceed
- 1.Open the page
- 2.Click “Sign in” button
- 3.Check: Sign in button still visible — user remains on login page
- 4.Check: Email field still visible — login form not dismissed
Orders list displays order items after login
Verify that the orders list page populates with order/request items for the logged-in customer
- 1.Open the page
- 2.Check: Landed on orders list page
- 3.Check: My orders nav tab is present
- 4.Check: 'Place an order' link confirms orders section is rendered
- 5.Check: Orders list footer/support link confirms page has full content
Customer login lands on portal
Verify that logging in with valid customer credentials lands on the portal page with customer navigation
- 1.Open /
- 2.Check: URL contains /portal after login
- 3.Check: Customer navigation 'My orders' is visible
- 4.Check: Sign out link is visible
Customers page not accessible to customer role
Verify that the Customers list page is not accessible to a customer-role user and shows Page not found
- 1.Open /
- 2.Open /portal/customers
- 3.Check: URL should be within /portal
- 4.Check: Page not found message is displayed for customer role
- 5.Check: Back to dashboard link is visible
Customer portal shows only customer-level navigation links
Verify that after login the customer portal navigation contains the expected customer links and excludes admin links like Manage Customers
- 1.Open /
- 2.Check: My orders link present
- 3.Check: Place order link present
- 4.Check: Support link present
- 5.Check: Settings link present
- 6.Check: Sign out link present
Customer role redirected from admin Customers link back to portal
Verify that if a customer somehow reaches the admin-style nav, clicking Customers redirects them back to the customer portal
- 1.Open /
- 2.Open /portal/customers
- 3.Click “Customers” link
- 4.Check: Redirected back to /portal after clicking Customers link
- 5.Check: Back on customer portal with My orders visible
Login with invalid credentials shows error
Verify that submitting the login form with incorrect password keeps the user on the login page
- 1.Open /
- 2.Check: Still on login page — email field visible
- 3.Check: Sign in button still visible
Admin login — happy path
Verify that an admin user can log in with valid credentials
- 1.Open the page
- 2.Check: URL no longer /login after sign-in
Admin login — empty password rejected
Verify that login is rejected when password is left empty
- 1.Open the page
- 2.Type “customer@meridian.test” into “email” field
- 3.Click “Sign in” button
- 4.Check: Still on login page after submitting with empty password
- 5.Check: Login form still displayed — no navigation occurred
Admin login — wrong password rejected
Verify that login is rejected with an incorrect password
- 1.Open the page
- 2.Check: Still on login page after submitting wrong password
- 3.Check: Login form still displayed — no navigation occurred
Admin login — empty email rejected
Verify that login is rejected when email is left empty
- 1.Open the page
- 2.Check: Still on login page after submitting with empty email
- 3.Check: Login form still displayed — no navigation occurred
Admin login — both fields empty rejected
Verify that clicking Sign in with no credentials does not navigate away
- 1.Open the page
- 2.Click “Sign in” button
- 3.Check: Still on login page when both fields are empty
- 4.Check: Sign in button still visible — form not submitted
Sign out link is present when authenticated
Verify that the Sign out link is visible in the navigation after a successful login
- 1.Open the page
- 2.Check: Sign out link appears in navigation after login
Negative — cannot access authenticated page after sign out
Verify that after signing out, navigating to an authenticated page redirects back to login
- 1.Open the page
- 2.Click “Sign out” link
- 3.Open /my-orders
- 4.Check: Redirected to /login when accessing authenticated route after sign out
- 5.Check: Login form is shown after attempted access to protected page
Customer login happy path
Verify that a customer can log in with valid credentials and reach the portal
- 1.Open the page
- 2.Check: Redirected to portal after login
- 3.Check: Sidebar navigation is visible
- 4.Check: Sign out link is visible
Login with empty password fails
Verify that submitting the login form with an empty password is rejected
- 1.Open the page
- 2.Check: Still on login page after empty password submit
- 3.Check: Sign in button still visible — form not submitted
Navigate to Settings page
Verify that the Settings page is accessible from the sidebar after login
- 1.Open the page
- 2.Click “Settings” link
- 3.Check: Settings page loaded with Name field
- 4.Check: Email field visible on Settings page
- 5.Check: Account field visible on Settings page
Navigate to Support page
Verify that the Support contact form is accessible from the sidebar
- 1.Open the page
- 2.Click “Support” link
- 3.Check: Support page loaded with Subject field
- 4.Check: Help textbox visible on Support page
- 5.Check: Submit request button visible
Verify Device route is not accessible to customer role
Verify that attempting to access /verify redirects the customer to the portal
- 1.Open the page
- 2.Open /verify
- 3.Check: Accessing /verify redirects to /portal for customer role
- 4.Check: Portal sidebar still visible after redirect
Happy Path - Admin navigates to Settings
Verify that an authenticated user can navigate to the Settings page from the sidebar
- 1.Open the page
- 2.Click “Settings” link
- 3.Check: Settings page displays the Name field
- 4.Check: Settings page displays the Email field
- 5.Check: Settings page displays the Account field
Negative - Access Settings page without authentication
Verify that an unauthenticated user is redirected away from the Settings page
- 1.Open /portal/settings
- 2.Check: Redirected to login page — Work email field visible
- 3.Check: Redirected to login page — Sign in button visible
Settings page retains form fields across re-visit
Verify that navigating away and back to Settings preserves the Settings page structure
- 1.Open the page
- 2.Click “Settings” link
- 3.Check: Name field visible on first visit
- 4.Click “My orders” link
- 5.Click “Settings” link
- 6.Check: Name field still visible on re-visit
- 7.Check: Email field still visible on re-visit
- 8.Check: Account field still visible on re-visit
Login with valid credentials
Verify that a user can log in with valid credentials and reach the portal
- 1.Open the page
- 2.Check: Redirected to portal after login
- 3.Check: My orders link is visible in navigation
- 4.Check: Sign out link is visible, confirming authenticated state
Navigate to request detail from My account list
Verify that clicking a request link in My account navigates to the request detail page
- 1.Open the page
- 2.Click “SYNC-95660” link
- 3.Check: Back link to My account is visible on request detail page
- 4.Check: Reply textbox is visible on request detail page
- 5.Check: Send button is visible on request detail page
Navigate back from request detail to My account list
Verify that the back link returns the user from request detail to the My account list
- 1.Open the page
- 2.Click “SYNC-95660” link
- 3.Click “← My account” link
- 4.Check: Place an order link is visible on the My account list page
- 5.Check: Contact support link is visible on the My account list page
Login with invalid credentials stays on login page
Verify that submitting invalid credentials does not navigate away from the login page
- 1.Open the page
- 2.Check: Sign in button is still visible after failed login attempt
- 3.Check: Email field is still visible after failed login
Login form fields retain values after failed attempt
Verify that email field retains its value after a failed login so the user can correct the password
- 1.Open the page
- 2.Check: Email textbox is still present after failed login
- 3.Check: Password textbox is still present after failed login
- 4.Check: Sign in button remains, confirming login was rejected
Support page accessible from navigation
Verify that clicking the Support link navigates to the contact support form
- 1.Open the page
- 2.Click “Support” link
- 3.Check: Subject field is visible on the support page
- 4.Check: Help textbox is visible on the support page
- 5.Check: Submit button is visible on the support page
Unauthenticated access to Approvals redirects to login
Verify that an unauthenticated user cannot access the Approvals page and is redirected to login
- 1.Open /portal/approvals
- 2.Check: Redirected to login page when unauthenticated
- 3.Check: Login email field is visible
- 4.Check: Sign in button is visible
Login required before accessing any admin route
Verify that navigating to admin routes without authentication always redirects to login
- 1.Open /portal/approvals
- 2.Check: Redirected to /login
- 3.Check: Login form is displayed
Happy Path - Admin navigates to Approvals page
Verify that an authenticated user can navigate to the Approvals page and the admin sidebar with Approvals link is visible
- 1.Open the page
- 2.Check: After login, redirected to portal
- 3.Open /portal/approvals
- 4.Check: URL contains /approvals
- 5.Check: Approvals link is visible in admin sidebar
- 6.Check: Admin sidebar Dashboard link is visible
- 7.Check: Admin sidebar Customers link is visible
- 8.Check: Admin sidebar Orders link is visible
Approvals link is present in admin navigation sidebar
Verify the Approvals navigation link exists in the admin sidebar when on the Approvals route
- 1.Open the page
- 2.Open /portal/approvals
- 3.Check: Approvals link is present before clicking
- 4.Click “Approvals” link
- 5.Check: Navigated after clicking Approvals link
Full admin sidebar renders all expected navigation links
Verify that the admin sidebar on the Approvals route contains all expected navigation links
- 1.Open the page
- 2.Open /portal/approvals
- 3.Check: Dashboard link visible
- 4.Check: Customers link visible
- 5.Check: Products link visible
- 6.Check: Orders link visible
- 7.Check: Approvals link visible
- 8.Check: Invoices link visible
- 9.Check: Requests link visible
- 10.Check: Reports link visible
- 11.Check: Settings link visible
- 12.Check: Sign out link visible
Admin navigates to Reports — happy path
Verify that an authenticated user can navigate to the Reports page, URL contains /reports, and the Reports sidebar link is visible
- 1.Open the page
- 2.Open /portal/reports
- 3.Check: Reports link is visible in the sidebar
Login with empty credentials — form rejection
Verify that submitting the login form with both fields empty keeps the user on the login page
- 1.Open the page
- 2.Click “Sign in” button
- 3.Check: Still on login page — email field still visible after empty submit
- 4.Check: Sign in button still present after empty submit
Unauthenticated access to Reports redirects to login
Verify that navigating directly to /portal/reports without authentication redirects to the login page
- 1.Open /portal/reports
- 2.Check: Redirected to login page — email field visible
- 3.Check: Login form is displayed
Login with valid credentials redirects to portal
Verify that a user with valid credentials can log in and reach the portal dashboard
- 1.Open the page
- 2.Check: User is redirected to the portal after successful login
- 3.Check: Sidebar navigation is visible
- 4.Check: Support link is available
Login with invalid password shows error
Verify that submitting incorrect credentials keeps the user on the login page
- 1.Open the page
- 2.Check: User remains on login page after failed login
- 3.Check: Email field is still present
Login with empty password stays on login page
Verify that submitting the form with a required field empty does not proceed
- 1.Open the page
- 2.Type “customer@meridian.test” into “email” field
- 3.Click “Sign in” button
- 4.Check: User remains on login page when password is empty
- 5.Check: Password field is still visible
Navigate to Support page from portal
Verify that clicking the Support link opens the contact support form
- 1.Open the page
- 2.Click “Support” link
- 3.Check: Subject field is visible on support page
- 4.Check: Message body field is visible
- 5.Check: Submit button is present on the support form
Invoice creation page is inaccessible to customer role
Verify that the /invoices/new admin page redirects an authenticated customer to the portal
- 1.Open the page
- 2.Open /invoices/new
- 3.Check: Customer is redirected to /portal when accessing admin-only /invoices/new
- 4.Check: Portal navigation is displayed after redirect
Happy path - Admin navigates to Invoices list via direct URL
Verify that an authenticated user can navigate to the Invoices page and see the admin navigation with Invoices link highlighted
- 1.Open the page
- 2.Open /portal/invoices
- 3.Check: URL contains /invoices after navigating to Invoices page
- 4.Check: Invoices link is visible in the admin navigation bar
Admin navigation bar renders Invoices link
Verify that the admin navigation bar includes an Invoices link when on an admin-section URL
- 1.Open the page
- 2.Open /portal/invoices
- 3.Check: Dashboard link visible in admin nav
- 4.Check: Customers link visible in admin nav
- 5.Check: Products link visible in admin nav
- 6.Check: Orders link visible in admin nav
- 7.Check: Approvals link visible in admin nav
- 8.Check: Invoices link visible in admin nav
- 9.Check: Requests link visible in admin nav
- 10.Check: Reports link visible in admin nav
- 11.Check: Settings link visible in admin nav
Unauthorized customer sees Page Not Found on admin Invoices page
Verify that a customer account cannot access the admin Invoices content and sees a Page Not Found message
- 1.Open the page
- 2.Open /portal/invoices
- 3.Check: Page not found message shown for unauthorized customer
- 4.Check: Back to dashboard link is offered as fallback
Clicking Invoices link in admin nav redirects customer to portal
Verify that clicking the Invoices link in the admin nav as a customer redirects back to the customer portal
- 1.Open the page
- 2.Open /portal/invoices
- 3.Click “Invoices” link
- 4.Check: Redirected to customer portal after clicking Invoices as non-admin
- 5.Check: Customer portal nav visible after redirect
Unauthenticated access to product edit redirects to login
Verify that accessing the product edit URL without authentication redirects to the login page
- 1.Open /products/104/edit
- 2.Check: Unauthenticated user is redirected to login page
- 3.Check: Login form is displayed
Login then access product edit page
Verify that after login, the admin can reach the product edit page
- 1.Open /products/104/edit
- 2.Check: After login, user lands on portal
- 3.Check: Portal sidebar is visible after login
- 4.Open /products/104/edit
Login with invalid credentials redirects back to login
Verify that submitting incorrect credentials keeps the user on the login page
- 1.Open /products/104/edit
- 2.Check: Login form remains visible after failed login
- 3.Check: Sign in button is still present after failed login
Unauthenticated access to product creation redirects to login
Verify that unauthenticated users cannot access /products/new and are redirected to login
- 1.Open /products/new
- 2.Check: Unauthenticated user is redirected to login page
- 3.Check: Login form is displayed
- 4.Check: Sign in button is present
Login - Happy Path
Verify that a user can log in with valid credentials and reach the portal
- 1.Open the page
- 2.Check: User is redirected to portal after login
- 3.Check: Portal navigation is visible
- 4.Check: Sign out link confirms authenticated state
Customer account cannot access admin product creation page
Verify that an authenticated customer is redirected away from /products/new (admin-only route)
- 1.Open /login
- 2.Type “customer@meridian.test” into “email” field
- 3.Type “••••••” into “password” field
- 4.Click “Sign in” button
- 5.Open /products/new
- 6.Check: Customer is redirected to portal — admin route is inaccessible
- 7.Check: Portal dashboard is displayed instead of product creation
Support form submission - Empty subject
Verify that submitting the support form with an empty subject is rejected
- 1.Open /login
- 2.Type “customer@meridian.test” into “email” field
- 3.Type “••••••” into “password” field
- 4.Click “Sign in” button
- 5.Click “Support” link
- 6.Type “Message with no subject.” into “message” field
- 7.Click “Submit request” button
- 8.Check: Still on support form — subject is required
- 9.Check: Submit button still present — form not submitted
Logout
Verify that an authenticated user can sign out and return to the login page
- 1.Open /login
- 2.Type “customer@meridian.test” into “email” field
- 3.Type “••••••” into “password” field
- 4.Click “Sign in” button
- 5.Click “Sign out” link
- 6.Check: Login form is displayed after sign out
- 7.Check: Sign in button confirms logged-out state
Negative - Unauthenticated access to Products redirects to login
Verify that an unauthenticated user is redirected to the login page when attempting to access the Products admin page
- 1.Open /portal/products
- 2.Check: Redirected to login page
- 3.Check: Login email field visible
- 4.Check: Sign in button visible
Happy Path - Admin Products navigation bar is reachable
Verify that an authenticated user can reach the Products admin page and see the admin navigation with Products link
- 1.Open the page
- 2.Open /portal/products
- 3.Check: Products link is visible in admin navigation
- 4.Check: URL should be within /portal
Admin navigation bar contains all expected links
Verify that the admin navigation bar displays the full set of admin links on the Products page
- 1.Open the page
- 2.Open /portal/products
- 3.Check: Dashboard link visible
- 4.Check: Customers link visible
- 5.Check: Products link visible
- 6.Check: Orders link visible
- 7.Check: Approvals link visible
- 8.Check: Invoices link visible
- 9.Check: Requests link visible
- 10.Check: Reports link visible
- 11.Check: Settings link visible
- 12.Check: Sign out link visible
Negative - Customer role cannot view Products page content
Verify that a customer account sees 'Page not found' when accessing the admin Products page, confirming role-based access restriction
- 1.Open the page
- 2.Open /portal/products
- 3.Check: Page not found message displayed for unauthorized role
- 4.Check: Back to dashboard link available as escape hatch
Login with valid credentials lands on customer portal
Verify that successful login with customer credentials redirects to the customer portal with correct navigation links
- 1.Open the page
- 2.Check: Landed on portal after login
- 3.Check: My orders link visible
- 4.Check: Place order link visible
- 5.Check: Support link visible
- 6.Check: Settings link visible
- 7.Check: Sign out link visible
Negative - Login with missing password is rejected
Verify that submitting the login form with an empty password field keeps the user on the login page
- 1.Open the page
- 2.Type “customer@meridian.test” into “email” field
- 3.Click “Sign in” button
- 4.Check: Still on login page after empty password submission
- 5.Check: Password field still present
Login with valid credentials redirects to portal
Verify that a user with valid credentials can log in and reach the customer portal
- 1.Open the page
- 2.Check: Customer portal sidebar is visible after login
- 3.Check: User is authenticated and can sign out
Admin order edit page returns not found for order 107
Verify that navigating to /portal/orders/107/edit shows a not-found state when the order does not exist
- 1.Open the page
- 2.Open /portal/orders/107/edit
- 3.Check: Not-found message is displayed for non-existent order
- 4.Check: Admin sidebar is still visible on the not-found page
Customer portal shows account links after login
Verify that the customer portal displays the expected navigation and account links after successful authentication
- 1.Open the page
- 2.Check: My orders link visible
- 3.Check: Place order link visible
- 4.Check: Support link visible
- 5.Check: Settings link visible
- 6.Check: Place an order CTA is visible in My account section
Sign out returns to login page
Verify that clicking Sign out ends the session and shows the login form
- 1.Open the page
- 2.Click “Sign out” link
- 3.Check: Login form is displayed after sign out
- 4.Check: Sign in button is visible
Negative — Unauthenticated access to orders redirects to login
Verify that accessing the orders portal without authentication redirects the user to the login page.
- 1.Open /portal
- 2.Check: Unauthenticated user is redirected to login page
- 3.Check: Sign in button is present on the redirected login page
Happy Path — Login and navigate to Orders list
Verify that a logged-in admin can navigate to the Orders list via the 'My orders' link and see order entries.
- 1.Open the page
- 2.Check: Redirected to portal after login
- 3.Click “My orders” link
- 4.Check: Orders list section (My account) is visible
- 5.Check: Orders list content is displayed
Navigate to Orders list from Settings page
Verify that clicking 'My orders' navigates back to the orders list when on a different page like Settings.
- 1.Open the page
- 2.Click “Settings” link
- 3.Click “My orders” link
- 4.Check: Orders list section reappears after clicking My orders
- 5.Check: Orders list content displayed after navigation from Settings
Orders list contains order entries
Verify that the Orders list displays existing order/request entries after login.
- 1.Open the page
- 2.Click “My orders” link
- 3.Check: Orders heading is visible
- 4.Check: At least one order entry is visible in the list
- 5.Check: Contact support link is available on orders page
Open an order detail from the Orders list
Verify that clicking an order link in the orders list navigates to the order detail page.
- 1.Open the page
- 2.Click “My orders” link
- 3.Click “SYNC-95660” link
- 4.Check: Breadcrumb link back to orders list is visible
- 5.Check: Reply field is available on order detail
Orders list is the default landing view after login
Verify that after a successful login the user lands directly on the orders list without needing extra navigation.
- 1.Open the page
- 2.Check: Lands on portal after login
- 3.Check: Orders list is immediately visible as the default view
- 4.Check: My orders nav link is present
Login fails with empty required fields
Verify that submitting the login form with empty fields is rejected
- 1.Open the page
- 2.Click “Sign in” button
- 3.Check: User remains on login page after submitting empty form
Login with valid credentials redirects to portal
Verify that a user with valid credentials can log in and reach the portal dashboard
- 1.Open the page
- 2.Check: User is redirected to portal after login
- 3.Check: Portal navigation is visible
- 4.Check: Sign out link confirms authenticated state
Non-admin user is redirected from customer edit page to portal
Verify that a non-admin user cannot access the admin customer edit page and is redirected
- 1.Open the page
- 2.Open /customers/101/edit
- 3.Check: Non-admin user is redirected to portal when accessing admin customer edit page
Settings page displays profile fields after login
Verify that the Settings page loads with editable profile fields for the authenticated user
- 1.Open the page
- 2.Click “Settings” link
- 3.Check: Name field is visible on Settings page
- 4.Check: Email field is visible on Settings page
- 5.Check: Account field is visible on Settings page
Portal navigation links are present after login
Verify that all expected navigation links are available on the portal page
- 1.Open the page
- 2.Check: My orders link is present
- 3.Check: Place order link is present
- 4.Check: Support link is present
- 5.Check: Settings link is present
- 6.Check: Sign out link is present
Login redirect flow — unauthenticated user reaches login then portal
Verify that an unauthenticated request to /customers/new redirects to login, and after successful login the user reaches the portal
- 1.Open /customers/new
- 2.Check: After login, user lands on the portal page
- 3.Check: Portal navigation is visible — user is authenticated
- 4.Check: Sign out link is visible — session is active
Login and verify portal navigation is available
Verify that customer can log in and reach the portal with expected navigation links
- 1.Open the page
- 2.Check: Redirected to portal after login
- 3.Check: My orders link is visible
- 4.Check: Place order link is visible
- 5.Check: Support link is visible
- 6.Check: Settings link is visible
- 7.Check: Sign out link is visible
Non-admin customer cannot access Customers page
Verify that a non-admin customer is redirected away when trying to access /customers directly
- 1.Open the page
- 2.Open /customers
- 3.Check: Redirected back to portal — /customers is not accessible
- 4.Check: Portal navigation is still displayed after redirect
Manage Customers link is not visible for non-admin users
Verify that the Manage Customers link does not appear in navigation for a customer-role user
- 1.Open the page
- 2.Check: Manage Customers link is NOT visible for customer-role users
Login with invalid credentials shows validation state
Verify that submitting invalid credentials keeps the user on the login page
- 1.Open the page
- 2.Check: Still on login page after invalid credentials
- 3.Check: Email field still visible — login was rejected
Login with empty email field
Verify that submitting the login form with an empty email field is rejected
- 1.Open the page
- 2.Check: Still on login page — empty email rejected
- 3.Check: Email field still visible after rejected submit
Login with both fields empty shows validation error
Verify that clicking Sign In with empty email and password fields displays validation errors
- 1.Open /login
- 2.Click “Sign in” button
- 3.Check: Login form is still displayed after failed attempt
- 4.Check: Sign in button remains available for retry
Login with email filled but password empty shows validation error
Verify that submitting the form with email populated and password left empty triggers validation
- 1.Open /login
- 2.Type “admin@example.com” into “email” field
- 3.Click “Sign in” button
- 4.Check: Login form remains visible after validation failure
Login with password filled but email empty shows validation error
Verify that submitting the form with password populated and email left empty triggers validation
- 1.Open /login
- 2.Type “••••••” into “password” field
- 3.Click “Sign in” button
- 4.Check: Login form remains visible after validation failure
Double-click Sign In with empty fields retains error state
Verify that clicking Sign In twice with empty fields does not crash or bypass validation
- 1.Open /login
- 2.Click “Sign in” button
- 3.Click “Sign in” button
- 4.Check: Sign in button is still present and interactive
Login with invalid credentials is rejected
Verify that submitting invalid credentials (admin/admin) does not grant access and the user remains on the login page
- 1.Open the page
- 2.Check: Login form is still displayed after failed attempt
- 3.Check: Sign in button remains — user was not authenticated
- 4.Check: URL remains on /login after rejected credentials
Login with empty email shows validation
Verify that submitting the form with an empty email field prevents login and keeps the user on the login page
- 1.Open the page
- 2.Check: Login form remains — empty email submission does not navigate
- 3.Check: Sign in button still present — authentication did not occur
- 4.Check: URL stays on /login when email is empty
Login with empty password shows validation
Verify that submitting the form with an empty password field prevents login and keeps the user on the login page
- 1.Open the page
- 2.Type “customer@meridian.test” into “email” field
- 3.Click “Sign in” button
- 4.Check: Login form remains — empty password submission does not navigate
- 5.Check: Sign in button still present — authentication did not occur
- 6.Check: URL stays on /login when password is empty
Login form preserves input after failed attempt
Verify that the email field retains its value after a failed login attempt so the user can correct their password without re-typing
- 1.Open the page
- 2.Check: Email textbox is still visible after failed login
- 3.Check: Password textbox is still visible after failed login
Unauthenticated access to Orders redirects to login
Verify that an unauthenticated user trying to access the Orders page is shown the login form
- 1.Open /orders?status=
- 2.Check: Login email field is visible
- 3.Check: Login password field is visible
- 4.Check: Sign in button is visible
Orders page displays order list after login
Verify that the Orders page loads and shows the user's order list
- 1.Open /orders?status=
- 2.Check: Lands on portal after login
- 3.Click “My orders” link
- 4.Check: My account section is visible on orders page
- 5.Check: My orders link is highlighted/visible in sidebar
Navigate to Orders via sidebar from another page
Verify that clicking 'My orders' in the sidebar navigates to the Orders page from any authenticated page
- 1.Open /orders?status=
- 2.Click “Settings” link
- 3.Click “My orders” link
- 4.Check: Orders page (My account section) loads after clicking My orders
- 5.Check: Place an order link is visible on orders page
Download CSV button not accessible without authentication
Verify that the Download CSV action is not possible when the user is not logged in
- 1.Open /orders?status=
- 2.Check: Login form appears; user cannot access Download CSV without auth
- 3.Check: Download CSV button is not present on unauthenticated page
Download CSV from Customers page - Happy Path
Verify that an admin user can log in, navigate to the Customers page, and download a CSV file
- 1.Open /login
- 2.Type “demo@meridian.test” into “email” field
- 3.Type “••••••” into “password” field
- 4.Click “Sign in” button
- 5.Check: Dashboard link visible after login
- 6.Click “Customers” link
- 7.Check: URL contains /customers after clicking Customers link
- 8.Check: Download CSV link is visible on Customers page
- 9.Click “Download CSV” link
- 10.Check: Page stays on /customers after download click
Navigate to Customers page from sidebar
Verify the Customers sidebar link navigates to the Customers page and displays the Download CSV button
- 1.Open /login
- 2.Type “demo@meridian.test” into “email” field
- 3.Type “••••••” into “password” field
- 4.Click “Sign in” button
- 5.Check: Dashboard link visible after login
- 6.Click “Customers” link
- 7.Check: URL contains /customers after clicking Customers link
- 8.Check: Download CSV link appears on Customers page
- 9.Check: Search textbox appears on Customers page
Download CSV link triggers file download
Verify that clicking Download CSV initiates a file download and the page does not navigate away
- 1.Open /login
- 2.Type “demo@meridian.test” into “email” field
- 3.Type “••••••” into “password” field
- 4.Click “Sign in” button
- 5.Click “Customers” link
- 6.Check: Download CSV link is visible before clicking
- 7.Click “Download CSV” link
- 8.Check: Page remains on /customers after download click
- 9.Check: Download CSV link still visible after download (no page navigation)
Login and navigate to Portal Settings page
Verify user can log in and reach the Settings page with all expected form fields
- 1.Open the page
- 2.Click “Settings” link
- 3.Check: Settings page loads with Name field
- 4.Check: Settings page loads with Email field
- 5.Check: Settings page loads with Account field
Navigate to Device Verification as admin
Visit page and confirm it loads at the expected URL
- 1.Open /
- 2.Check: URL matches expected path after navigation
Negative — Unauthenticated access to Settings redirects to login
Verify that an unauthenticated user cannot access Settings and is redirected to the login page
- 1.Open /portal/settings
- 2.Check: User is redirected to login page
- 3.Check: Login form is displayed
- 4.Check: Sign in button is present on login page
Settings link persists after navigation away and back
Verify that the Settings navigation link remains functional when navigating between pages
- 1.Open the page
- 2.Click “My orders” link
- 3.Click “Settings” link
- 4.Check: Settings page loads correctly after navigation from My orders
Settings page retains navigation bar after load
Verify that after navigating to Settings, the main navigation links remain accessible
- 1.Open the page
- 2.Click “Settings” link
- 3.Check: My orders link is still visible on Settings page
- 4.Check: Place order link is still visible on Settings page
- 5.Check: Support link is still visible on Settings page
- 6.Check: Sign out link is still visible on Settings page
Navigate to Support (Requests) page after login
Verify that a logged-in user can navigate to the Support page which serves as the Requests management interface
- 1.Open the page
- 2.Click “Support” link
- 3.Check: Subject field is visible
- 4.Check: Message field is visible
- 5.Check: Submit request button is visible
Submit a support request successfully
Verify that a user can fill and submit the support request form and the new request appears in the portal list
- 1.Open the page
- 2.Click “Support” link
- 3.Type “E2E Test Request” into “subject” field
- 4.Check: capture-text role=textbox[name="Subject"]
- 5.Type “This is an end-to-end test request.” into “message” field
- 6.Click “Submit request” button
- 7.Check: Newly created request appears in the My account list
Submit support request with empty Subject (negative)
Verify that submitting the support form with an empty Subject field keeps the user on the form (client-side validation prevents submission)
- 1.Open the page
- 2.Click “Support” link
- 3.Type text into “subject” field
- 4.Type “Message with no subject.” into “message” field
- 5.Click “Submit request” button
- 6.Check: Still on the Support form — Subject field still visible after attempted empty submission
- 7.Check: Submit button still visible — form was not submitted
View a support request detail
Verify that clicking a request link in the portal opens the request detail view with Reply functionality
- 1.Open the page
- 2.Click “Support” link
- 3.Type “Detail View Test” into “subject” field
- 4.Check: capture-text role=textbox[name="Subject"]
- 5.Type “Testing the detail view.” into “message” field
- 6.Click “Submit request” button
- 7.Check: Request appears in portal list after submission
- 8.Click “Detail View Test” link
- 9.Check: Reply textbox is visible on request detail page
- 10.Check: Send button is visible on request detail page
- 11.Check: Back link to My account is visible
Login as customer and attempt direct Reports navigation
Verify that a logged-in customer navigating directly to /reports is redirected to the customer portal
- 1.Open /
- 2.Open /reports
- 3.Check: Customer is redirected to /portal, not granted access to /reports
Navigate to /portal/reports reveals admin sidebar but page not found
Verify that navigating to /portal/reports shows the admin navigation sidebar even though the Reports page content is not available
- 1.Open /
- 2.Open /portal/reports
- 3.Check: Admin sidebar Dashboard link is visible
- 4.Check: Admin sidebar Reports link is visible
- 5.Check: Reports page content is not available
Customer portal navigation does not include Reports link
Verify that the standard customer portal top navigation does not expose a Reports link
- 1.Open /
- 2.Check: Customer nav shows My orders
- 3.Check: Customer nav shows Place order
- 4.Check: Customer nav shows Support
- 5.Check: Customer nav shows Settings
- 6.Check: Customer nav shows Sign out
Admin sidebar Reports link redirects customer to portal
Verify that clicking the Reports link in the admin sidebar navigates the customer back to the customer portal rather than to a Reports page
- 1.Open /
- 2.Open /portal/reports
- 3.Click “Reports” link
- 4.Check: After clicking Reports in admin sidebar, customer is sent back to /portal
Login with invalid admin credentials fails
Verify that attempting to log in with non-existent admin credentials is rejected and user remains on login page
- 1.Open /
- 2.Check: Login form is still present after failed attempt
- 3.Check: Sign in button still visible indicating auth was rejected
Login and navigate to Approvals page
Verify that a logged-in user can navigate to the Approvals page and the URL reflects /approvals
- 1.Open the page
- 2.Check: Login succeeded — user sees customer portal nav
- 3.Open /portal/approvals
- 4.Check: URL should be within /portal
- 5.Check: Approvals link is visible in the admin sidebar
Approvals page shows admin sidebar navigation
Verify that the Approvals page renders the full admin sidebar with all expected links
- 1.Open the page
- 2.Open /portal/approvals
- 3.Check: Dashboard link present in admin sidebar
- 4.Check: Customers link present in admin sidebar
- 5.Check: Products link present in admin sidebar
- 6.Check: Orders link present in admin sidebar
- 7.Check: Approvals link present and active in admin sidebar
- 8.Check: Invoices link present in admin sidebar
- 9.Check: Reports link present in admin sidebar
Approvals page shows not-found content for customer user
Verify that a non-admin (customer) user sees 'Page not found' content on the Approvals page
- 1.Open the page
- 2.Open /portal/approvals
- 3.Check: Customer user sees Page not found on Approvals
- 4.Check: Back to dashboard link is offered as fallback
Approvals link in admin sidebar redirects customer to customer portal
Verify that clicking Approvals from the admin sidebar when logged in as customer redirects back to customer portal
- 1.Open the page
- 2.Open /portal/approvals
- 3.Click “Approvals” link
- 4.Check: Redirected back to customer portal — My orders link visible
- 5.Check: Customer nav is restored with Place order link
Unauthenticated user redirected to login when accessing Approvals
Verify that an unauthenticated user is redirected to the login page when trying to access Approvals directly
- 1.Open /portal/approvals
- 2.Check: Redirected to login page — email field visible
- 3.Check: Password field visible on login page
- 4.Check: Sign in button visible on login page
Submit reply on Edit product inquiry (happy path)
Verify that a user can submit a reply on an existing product inquiry request
- 1.Open /products/104
- 2.Click “Edit product inquiry” link
- 3.Type “Updated product details: new description” into “Reply” field
- 4.Click “Send” button
- 5.Check: Still on request page after send (reply accepted)
Reply on request with empty message (negative)
Verify that submitting an empty reply does not crash the page or produce an error the user cannot recover from
- 1.Open /products/104
- 2.Click “Edit product inquiry” link
- 3.Click “Send” button
- 4.Check: Page remains stable after submitting empty reply
Successful login redirects to portal
Verify that a customer can log in with valid credentials and is redirected to the portal
- 1.Open the page
- 2.Check: Redirected to portal after login
- 3.Check: Portal navigation is visible
- 4.Check: Sign out link confirms authenticated session
Products page redirects unprivileged users to portal
Verify that a non-admin customer cannot access the products management page and is redirected
- 1.Open the page
- 2.Open /products
- 3.Check: Customer is redirected back to portal — no access to products admin
- 4.Check: Portal page is displayed after redirect
Login fails with invalid credentials
Verify that login with incorrect password fails and user stays on login page
- 1.Open the page
- 2.Check: Still on login page after failed attempt
- 3.Check: Login form remains visible
Login with empty password is rejected
Verify that submitting the login form with an empty password keeps the user on the login page
- 1.Open the page
- 2.Type “customer@meridian.test” into “email” field
- 3.Click “Sign in” button
- 4.Check: Login form still visible — empty password rejected
- 5.Check: Password field remains on page
Portal navigation links are present after login
Verify that the authenticated portal shows all core navigation links
- 1.Open the page
- 2.Check: My orders link present
- 3.Check: Place order link present
- 4.Check: Support link present
- 5.Check: Settings link present
- 6.Check: Sign out link present
Sign out returns to login page
Verify that clicking Sign out ends the session and returns to the login page
- 1.Open the page
- 2.Click “Sign out” link
- 3.Check: Login form visible after sign out
- 4.Check: Email field present on login page
Happy path - Admin Products page loads with sidebar navigation
Verify that a logged-in customer navigating to the admin Products URL sees the admin sidebar with Products link and the URL contains /products
- 1.Open the page
- 2.Open /portal/products
- 3.Check: URL contains /products after navigating to admin Products
- 4.Check: Admin sidebar Products link is visible
- 5.Check: Admin sidebar Dashboard link is visible
- 6.Check: Admin sidebar Customers link is visible
- 7.Check: Admin sidebar Orders link is visible
Admin Products sidebar link redirects customer to portal
Verify that clicking the Products link in the admin sidebar redirects a non-admin customer back to the customer portal
- 1.Open the page
- 2.Open /portal/products
- 3.Click “Products” link
- 4.Check: Redirected to customer portal - My orders link visible
- 5.Check: Customer portal Place order link visible
- 6.Check: Customer portal Sign out link visible
Unauthenticated access to admin Products redirects to login
Verify that attempting to access the admin Products page without authentication redirects to the login page
- 1.Open the page
- 2.Click “Sign out” link
- 3.Open /portal/products
- 4.Check: Login form Work email field is visible after redirect
- 5.Check: Login form Password field is visible after redirect
- 6.Check: Sign in button is visible after redirect to login
Admin sidebar renders full navigation on Products page
Verify that the admin sidebar on the Products page contains all expected navigation links
- 1.Open the page
- 2.Open /portal/products
- 3.Check: Dashboard link present in admin sidebar
- 4.Check: Customers link present in admin sidebar
- 5.Check: Products link present in admin sidebar
- 6.Check: Orders link present in admin sidebar
- 7.Check: Approvals link present in admin sidebar
- 8.Check: Invoices link present in admin sidebar
- 9.Check: Requests link present in admin sidebar
- 10.Check: Reports link present in admin sidebar
- 11.Check: Settings link present in admin sidebar
- 12.Check: Sign out link present in admin sidebar
Customer portal navigation does not include admin links
Verify that the standard customer portal after login does not expose admin navigation links
- 1.Open the page
- 2.Check: Customer portal has My orders link
- 3.Check: Customer portal has Place order link
- 4.Check: Customer portal has Support link
- 5.Check: Customer portal has Settings link
- 6.Check: Customer portal has Sign out link
Negative - Empty Subject prevents form submission
Verify that the Support form requires the Subject field and stays on the form page when Subject is empty
- 1.Open the page
- 2.Click “Support” link
- 3.Type text into “subject” field
- 4.Type “Message with no subject” into “message” field
- 5.Click “Submit request” button
- 6.Check: Still on Support form — submission blocked by empty Subject
Navigation - Support page loads after login
Verify that clicking Support in the navigation opens the Contact Support form with expected fields
- 1.Open the page
- 2.Click “Support” link
- 3.Check: Subject field is visible on Support page
- 4.Check: Message field is visible on Support page
- 5.Check: Submit button is visible on Support page
Login - Valid credentials redirect to portal
Verify that logging in with valid customer credentials redirects to the account portal
- 1.Open the page
- 2.Check: Redirected to portal after login
- 3.Check: Navigation menu is visible post-login
Happy Path - Login and navigate to Invoices admin page
Verify that a logged-in user can navigate to /portal/invoices and see the admin navigation with Invoices link
- 1.Open the page
- 2.Open /portal/invoices
- 3.Check: Invoices link is visible in admin navigation
- 4.Check: URL should be within /portal
Admin navigation structure on Invoices page
Verify that navigating to /portal/invoices reveals the complete admin sidebar with all expected navigation links
- 1.Open the page
- 2.Open /portal/invoices
- 3.Check: Dashboard link is visible
- 4.Check: Customers link is visible
- 5.Check: Products link is visible
- 6.Check: Orders link is visible
- 7.Check: Approvals link is visible
- 8.Check: Invoices link is visible
- 9.Check: Requests link is visible
- 10.Check: Reports link is visible
- 11.Check: Settings link is visible
- 12.Check: Sign out link is visible
Negative - Login fails with invalid password
Verify that submitting incorrect credentials keeps the user on the login page without granting access
- 1.Open the page
- 2.Check: Still on login page — email field still visible
- 3.Check: Still on login page — Sign in button still visible
Unauthenticated access to invoices redirects to login
Verify that navigating to /portal/invoices without a valid session redirects to the login page
- 1.Open /portal/invoices
- 2.Check: Redirected to login — email field visible
- 3.Check: Redirected to login — Sign in button visible
Login redirects to customer portal
Verify that successful login lands on the customer portal page with expected navigation links
- 1.Open the page
- 2.Check: URL contains /portal after login
- 3.Check: My orders link visible in customer nav
- 4.Check: Sign out link visible — user is authenticated
Invoices admin nav has Invoices link marked active
Verify that when viewing the Invoices admin page, the Invoices nav link is present and the URL reflects the invoices path
- 1.Open the page
- 2.Open /portal/invoices
- 3.Check: URL should be within /portal
- 4.Check: Invoices link is present in the admin sidebar
- 5.Check: Dashboard link confirms admin nav context
Customer login succeeds and lands on portal
Verify that a customer can log in with valid credentials and reach the portal dashboard
- 1.Open the page
- 2.Check: My orders link visible after login
- 3.Check: Sign out link visible after login
Navigate to request detail from portal
Verify that clicking a request link on the portal navigates to the request detail page
- 1.Open the page
- 2.Click “SYNC-95660” link
- 3.Check: Reply textbox is visible on request detail
- 4.Check: Send button is visible on request detail
Customer request detail page has no Edit button
Verify that the customer-facing request detail page does not expose an Edit button (editing is admin-only)
- 1.Open the page
- 2.Click “Edit product inquiry” link
Admin-format URL renders admin sidebar but shows not-found for customer
Verify that navigating to admin-pattern URLs (/portal/orders) renders the admin sidebar layout but blocks access with Page not found for unauthorized users
- 1.Open the page
- 2.Open /portal/orders/1
- 3.Check: Admin sidebar Orders link is visible in admin layout
- 4.Check: Page not found message is displayed for unauthorized customer
Reply to a request as customer
Verify that a customer can submit a reply on an existing request detail page
- 1.Open the page
- 2.Click “New Invoice Request 001” link
- 3.Type “Test reply from automated check” into “Reply” field
- 4.Click “Send” button
- 5.Check: Still on request detail page after sending reply
Happy path: Login and navigate to My orders
Verify that a logged-in user can navigate to the My orders page
- 1.Open the page
- 2.Check: Redirected to portal after login
- 3.Click “My orders” link
- 4.Check: My orders navigation link is visible on the portal
- 5.Check: Place order link is visible alongside My orders
Verify My orders link is present after login
Verify the My orders navigation link exists in the authenticated portal
- 1.Open the page
- 2.Check: Landed on portal after login
- 3.Check: My orders link is visible in the navigation
- 4.Check: Sign out link confirms authenticated state
Negative: Login with invalid password
Verify that login fails gracefully with incorrect credentials
- 1.Open the page
- 2.Check: Still on login page after failed attempt
- 3.Check: Sign in button remains visible on login page
Negative: Login with empty email field
Verify that the login form rejects submission with an empty email
- 1.Open the page
- 2.Check: Remains on login page when email is empty
- 3.Check: Sign in button still present after rejected submission
Admin /orders URL redirects to customer portal
Verify that attempting to access the admin orders page as a customer redirects to the portal
- 1.Open the page
- 2.Open /portal/orders
- 3.Check: URL stays at portal after attempting admin orders path
- 4.Check: Customer portal navigation is visible after redirect
Login with valid customer credentials redirects to portal
Verify that a customer can log in and is redirected to the portal dashboard
- 1.Open the page
- 2.Check: User is redirected to portal after login
- 3.Check: Portal navigation is visible
- 4.Check: Settings link is visible in nav
Navigate to Settings page after login
Verify that the customer can open the Settings page and see their account fields
- 1.Open the page
- 2.Click “Settings” link
- 3.Check: Name field is displayed on Settings page
- 4.Check: Email field is displayed on Settings page
- 5.Check: Account field is displayed on Settings page
Unauthorized access to admin customer URL redirects to portal
Verify that a non-admin customer cannot access /customers/101 and is redirected to the portal
- 1.Open the page
- 2.Open /customers/101
- 3.Check: Customer is redirected to portal when accessing admin URL
- 4.Check: Portal page is displayed after redirect
Login fails with empty password
Verify that submitting the login form with an empty password is rejected
- 1.Open the page
- 2.Type “customer@meridian.test” into “email” field
- 3.Click “Sign in” button
- 4.Check: User remains on login page when password is empty
- 5.Check: Sign in button is still visible (login not completed)
Login fails with malformed email
Verify that submitting an email missing the @ sign is rejected by the browser or app
- 1.Open the page
- 2.Check: Sign in button is still visible after submitting malformed email
Login with valid customer credentials
Verify that a customer can log in with valid credentials and reach the portal
- 1.Open the page
- 2.Check: Redirected to customer portal after login
- 3.Check: Navigation bar is visible
- 4.Check: Sign out link confirms authenticated session
Create a new support request as customer
Verify that a logged-in customer can create a new support request from the Support page
- 1.Open the page
- 2.Click “Support” link
- 3.Check: Support form is displayed
- 4.Type “E2E Test Request - New Customer Inquiry” into “Subject” field
- 5.Check: capture-text role=textbox[name="Subject"]
- 6.Type “This is an end-to-end test for creating a new support request.” into “How can we help?” field
- 7.Click “Submit request” button
- 8.Check: Newly created support request appears in the account list
Support request with empty subject
Verify that submitting a support request with an empty required Subject field is rejected
- 1.Open the page
- 2.Click “Support” link
- 3.Type “Trying to submit without a subject.” into “How can we help?” field
- 4.Click “Submit request” button
- 5.Check: Still on the support form after failed submit
- 6.Check: Submit button still visible — form was not submitted
Customer account cannot access admin /customers route
Verify that a customer account is redirected away from the admin /customers path
- 1.Open the page
- 2.Open /customers
- 3.Check: Customer is redirected to /portal, not allowed on /customers
- 4.Check: Portal navigation is displayed
Unauthenticated access to Customers page redirects to login
Verify that attempting to access the Customers page without authentication redirects to the login page
- 1.Open /portal/customers
- 2.Check: Unauthenticated user is redirected to login page
- 3.Check: Login form is displayed after redirect
Login with valid customer credentials
Verify that a customer can log in successfully and reach the portal
- 1.Open the page
- 2.Check: User is redirected to portal after login
- 3.Check: Customer portal navigation is visible
Admin sidebar contains all expected navigation links
Verify that the admin sidebar at /portal/dashboard shows the full set of admin navigation links including Customers
- 1.Open the page
- 2.Open /portal/dashboard
- 3.Check: Dashboard link is visible
- 4.Check: Customers link is visible
- 5.Check: Products link is visible
- 6.Check: Orders link is visible
- 7.Check: Approvals link is visible
- 8.Check: Invoices link is visible
- 9.Check: Requests link is visible
- 10.Check: Reports link is visible
Direct navigation to Customers page resolves with valid URL structure
Verify that navigating directly to /portal/customers while authenticated lands on a page with /customers in the URL
- 1.Open the page
- 2.Open /portal/customers
- 3.Check: URL contains /customers after direct navigation
- 4.Check: Customers link is highlighted in sidebar
Sign out and re-login preserves ability to reach admin sidebar
Verify that after signing out and logging back in, the admin sidebar at /portal/dashboard is still accessible
- 1.Open the page
- 2.Click “Sign out” link
- 3.Check: Returned to login page after sign out
- 4.Type “customer@meridian.test” into “email” field
- 5.Type “••••••” into “password” field
- 6.Click “Sign in” button
- 7.Check: Logged back in successfully
- 8.Open /portal/dashboard
- 9.Check: Admin sidebar with Customers link is accessible after re-login
Sign in with valid credentials (happy path)
Verify that a user can sign in with valid credentials and reach the account page
- 1.Open the page
- 2.Check: Redirected away from login page after successful sign-in
Sign in with invalid credentials shows no redirect
Verify that submitting invalid credentials keeps the user on the login page
- 1.Open the page
- 2.Check: Remains on login page when credentials are invalid
- 3.Check: Login form is still displayed after failed attempt
Submit login with empty email field
Verify that the app rejects a login attempt with an empty email field
- 1.Open the page
- 2.Check: Remains on login page when email is left empty
- 3.Check: Login form remains visible after empty-email submit
Submit login with empty password field
Verify that the app rejects a login attempt with an empty password field
- 1.Open the page
- 2.Type “admin@example.com” into “email” field
- 3.Click “Sign in” button
- 4.Check: Remains on login page when password is left empty
- 5.Check: Login form remains visible after empty-password submit
Submit login with both fields empty
Verify that the app rejects a login attempt when both fields are empty
- 1.Open the page
- 2.Click “Sign in” button
- 3.Check: Remains on login page when both fields are empty
- 4.Check: Sign-in button is still present after empty submit
Login form renders all required fields
Verify that the login form displays email field, password field, and sign-in button
- 1.Open the page
- 2.Check: Email field is visible on login page
- 3.Check: Password field is visible on login page
- 4.Check: Sign-in button is visible on login page
Login to Meridian portal
Verify that a user can log in with valid credentials and reach the customer portal
- 1.Open the page
- 2.Check: User is redirected to portal after login
- 3.Check: Customer portal sidebar is visible
Admin navigates to Products list via admin sidebar
Verify that an admin user can access the admin Products page from the admin sidebar
- 1.Open the page
- 2.Open /portal/products
- 3.Check: Admin Products link is visible in sidebar
- 4.Check: Admin Dashboard link confirms admin sidebar loaded
Admin sidebar navigation items are all present
Verify that all expected admin sidebar links are visible on the admin products page
- 1.Open the page
- 2.Open /portal/products
- 3.Check: Dashboard link present
- 4.Check: Customers link present
- 5.Check: Products link present
- 6.Check: Orders link present
- 7.Check: Approvals link present
- 8.Check: Invoices link present
- 9.Check: Requests link present
- 10.Check: Reports link present
- 11.Check: Settings link present
Login fails with empty password
Verify that login is rejected when the password field is left empty
- 1.Open the page
- 2.Check: User remains on the login page after submitting empty password
- 3.Check: URL still contains /login — no redirect occurred
Login fails with invalid email format
Verify that login is rejected when an invalid-format email is provided
- 1.Open the page
- 2.Check: User remains on the login page after submitting malformed email
- 3.Check: URL still contains /login — no redirect occurred
Login with valid credentials
Verify that a user can log in with valid credentials and reach the portal
- 1.Open the page
- 2.Check: User is redirected to the portal with 'My orders' link visible
- 3.Check: URL contains /portal after successful login
Log out returns to login page
Verify that an authenticated user can sign out and is returned to the login page
- 1.Open the page
- 2.Click “Sign out” link
- 3.Check: Login page is displayed after sign out
- 4.Check: URL contains /login after sign out
Login — valid credentials land on portal
Verify that a user with valid credentials can log in and reach the portal page
- 1.Open /invoices
- 2.Check: Portal page loads after login
- 3.Check: Navigation menu is present
Invoices URL redirects to portal when authenticated
Verify that navigating to /invoices while authenticated redirects to the portal
- 1.Open /invoices
- 2.Open /invoices
- 3.Check: Authenticated /invoices redirects to portal
- 4.Check: Portal navigation is visible after redirect
Invoices URL redirects to login when unauthenticated
Verify that an unauthenticated user navigating to /invoices is redirected to the login page
- 1.Open /invoices
- 2.Check: Unauthenticated /invoices redirects to login
- 3.Check: Login form is displayed
Navigate to Settings page from portal
Verify that clicking the Settings link navigates to the Settings page with profile fields
- 1.Open /invoices
- 2.Click “Settings” link
- 3.Check: Name field is present in Settings
- 4.Check: Email field is present in Settings
Login — empty email is rejected
Verify that the login form rejects submission with an empty email field
- 1.Open /invoices
- 2.Check: Still on login page after empty email submit
- 3.Check: Sign in button still present (not logged in)
Sign out returns to login page
Verify that clicking Sign out ends the session and returns to the login page
- 1.Open /invoices
- 2.Click “Sign out” link
- 3.Check: Login form is displayed after sign out
- 4.Check: Email field is present on login page
Login and navigate to Settings page
Verify that an authenticated user can log in and reach the Settings page
- 1.Open /settings
- 2.Type “customer@meridian.test” into “pemail” field
- 3.Click “Settings” link
- 4.Check: Settings page loads with Name field visible
- 5.Check: Settings page loads with Email field visible
- 6.Check: Settings page loads with Account field visible
Settings page displays read-only Name and Account fields
Verify that Name and Account fields are present and displayed in a read-only state on the Settings page
- 1.Open /settings
- 2.Type “customer@meridian.test” into “pemail” field
- 3.Click “Settings” link
- 4.Check: Name field is present
- 5.Check: Account field is present
- 6.Check: Email field is present and editable
Settings page preserves disabled state on read-only fields
Verify that the Name and Account fields are disabled and cannot be edited
- 1.Open /portal/settings
- 2.Click “Settings” link
- 3.Check: Name field is visible (disabled per snapshot)
- 4.Check: Account field is visible (disabled per snapshot)
- 5.Check: Email field is the only editable setting
Settings page requires authentication
Verify that unauthenticated users are redirected to the login page when accessing Settings
- 1.Open /portal/settings
- 2.Click “Settings” link
- 3.Check: Login form is displayed — unauthenticated access is blocked
Empty credentials — both fields blank
Verify that clicking Sign in with both Work email and Password fields empty triggers validation and keeps the user on the login page
- 1.Open /login
- 2.Click “Sign in” button
- 3.Check: Sign in button still present — no navigation occurred
- 4.Check: URL still on login page after empty submission
- 5.Check: Email field still visible on login page
- 6.Check: Password field still visible on login page
Missing password — email filled, password empty
Verify that submitting with only Work email filled and Password left blank triggers validation and stays on login page
- 1.Open /login
- 2.Type “customer@meridian.test” into “email” field
- 3.Click “Sign in” button
- 4.Check: Sign in button still present — no navigation occurred
- 5.Check: URL still on login page after partial submission
Missing email — password filled, email empty
Verify that submitting with only Password filled and Work email left blank triggers validation and stays on login page
- 1.Open /login
- 2.Type “••••••” into “password” field
- 3.Click “Sign in” button
- 4.Check: Sign in button still present — no navigation occurred
- 5.Check: URL still on login page after partial submission
Successful login — valid credentials navigate to dashboard
Verify that filling both Work email and Password with valid credentials and clicking Sign in navigates to the authenticated dashboard (contrast with empty-credential failures)
- 1.Open /login
- 2.Type “customer@meridian.test” into “email” field
- 3.Type “••••••” into “password” field
- 4.Click “Sign in” button
- 5.Check: Dashboard is visible after successful login
- 6.Check: Place order link visible on dashboard
- 7.Check: Sign out link visible — user is authenticated
Login fails with empty password
Verify that submitting the login form with an empty password is rejected
- 1.Open /login
- 2.Type “••••••” into “password” field
- 3.Click “Sign in” button
- 4.Check: User remains on login page when password is empty
Login fails with empty email
Verify that submitting the login form with an empty email is rejected
- 1.Open /login
- 2.Type “••••••” into “password” field
- 3.Click “Sign in” button
- 4.Check: User remains on login page when email is empty
Login fails with both fields empty
Verify that submitting a completely empty login form is rejected
- 1.Open /login
- 2.Click “Sign in” button
- 3.Check: User remains on login page when both fields are empty
Admin login with malformed email is rejected
Verify that a malformed email value in the Work email field is rejected by the browser's native email validation
- 1.Open /login
- 2.Type “not-an-email” into “email” field
- 3.Type “••••••” into “password” field
- 4.Click “Sign in” button
- 5.Check: User remains on login page with malformed email
Admin login with valid credentials (happy path)
Verify that an admin can log in with valid credentials and see the Dashboard
- 1.Open /login
- 2.Type “••••••” into “password” field
- 3.Type “••••••” into “password” field
- 4.Click “Sign in” button
- 5.Check: URL is at root after successful admin login
Login form renders all required fields
Verify the login form displays the work email field, password field, and sign-in button
- 1.Open /login
- 2.Check: Work email textbox is visible
- 3.Check: Password textbox is visible
- 4.Check: Sign in button is visible
Login with valid customer credentials
Verify that a registered user can log in successfully
- 1.Open /login
- 2.Type “customer@meridian.test” into “email” field
- 3.Type “••••••” into “password” field
- 4.Click “Sign in” button
- 5.Check: Post-login portal navigation is visible
- 6.Check: Sign out link confirms authenticated session
Login fails with invalid admin credentials
Verify that invalid credentials keep the user on the login page
- 1.Open /login
- 2.Type “••••••” into “password” field
- 3.Type “••••••” into “password” field
- 4.Click “Sign in” button
- 5.Check: Still on login page after failed auth
- 6.Check: Email field still present — login not successful
Portal page loads all navigation links after login
Verify the authenticated portal renders all expected navigation items
- 1.Open /login
- 2.Type “customer@meridian.test” into “email” field
- 3.Type “••••••” into “password” field
- 4.Click “Sign in” button
- 5.Check: My orders link visible
- 6.Check: Place order link visible
- 7.Check: Support link visible
- 8.Check: Settings link visible
- 9.Check: Sign out link visible
Navigate to product inquiry from portal
Verify user can open an existing product inquiry from the My account section
- 1.Open /login
- 2.Type “customer@meridian.test” into “email” field
- 3.Type “••••••” into “password” field
- 4.Click “Sign in” button
- 5.Click “Edit product inquiry” link
- 6.Check: Reply textbox visible on inquiry detail page
- 7.Check: Send button visible on inquiry detail page
Login with empty credentials stays on login page
Verify that submitting the login form with empty fields does not navigate away
- 1.Open /login
- 2.Click “Sign in” button
- 3.Check: Sign in button still visible — form not submitted successfully
- 4.Check: Email field still present — still on login page
Unauthenticated access to /invoices redirects to login
Verify that unauthenticated users are redirected to the login page when accessing /invoices
- 1.Open /invoices
- 2.Check: Unauthenticated access to /invoices redirects to login page
- 3.Check: Sign in button is visible on login page
Navigate to Invoices list page - Happy Path
Verify that an authenticated customer can navigate to the Invoices list page
- 1.Open the page
- 2.Open /portal/invoices
- 3.Check: URL contains /invoices after navigating to Invoices page
- 4.Check: Invoices link is visible in the sidebar navigation
Login redirects to customer portal
Verify that after successful login, the user lands on the customer portal
- 1.Open /invoices
- 2.Check: After login, user is redirected to portal
- 3.Check: My orders link is visible after login
Negative - Login with empty credentials
Verify that submitting the login form with empty email and password is rejected
- 1.Open /invoices
- 2.Click “Sign in” button
- 3.Check: Sign in button is still visible — form was not submitted successfully
Login and access Orders page
Verify that a customer can log in and reach the Orders (My Account) page
- 1.Open /orders?status=
- 2.Check: Sidebar My orders link is visible after login
- 3.Check: My account section is displayed on the Orders page
Verify search-for-product input presence on Orders page
Verify that a 'Search for a product' textbox is present on the Orders page
- 1.Open /orders?status=
- 2.Check: Product search input field is visible on the Orders page
Navigate from Orders to Support via sidebar
Verify sidebar navigation from Orders page to Support works correctly
- 1.Open /orders?status=
- 2.Click “Support” link
- 3.Check: Subject field is visible on the Support page
Orders page shows account-related request links
Verify the Orders page lists the user's order/request items
- 1.Open /orders?status=
- 2.Check: Place an order link is visible on the Orders page
- 3.Check: Contact support link is visible on the Orders page
- 4.Check: Settings link is visible in the sidebar
Login with valid customer credentials
Verify that a customer can log in with valid email and password
- 1.Open /customers?status=
- 2.Check: My orders link visible after successful login
Login with empty email shows validation error
Verify that submitting the login form with an empty email field is rejected
- 1.Open /customers?status=
- 2.Check: Still on login page after empty email submission
Login with empty password shows validation error
Verify that submitting the login form with an empty password field is rejected
- 1.Open /customers?status=
- 2.Type “customer@meridian.test” into “email” field
- 3.Click “Sign in” button
- 4.Check: Still on login page after empty password submission
Customers page redirects to portal after authentication
Verify that the /customers URL redirects to /portal for an authenticated customer
- 1.Open /customers?status=
- 2.Check: Portal navigation is visible post-redirect
Login with malformed email is rejected
Verify that the login form rejects an email value that violates email format
- 1.Open /customers?status=
- 2.Check: Still on login page after malformed email submission
Happy Path - Place Order from Settings
Verify that an authenticated user can navigate to Settings and successfully place an order, seeing the confirmation message
- 1.Open the page
- 2.Type “customer@meridian.test” into “pemail” field
- 3.Click “Settings” link
- 4.Click “Place Order” button
Unauthenticated Access Redirects to Login
Verify that accessing the Settings page without authentication shows the login form
- 1.Open the page
- 2.Check: Login form is shown for unauthenticated users
- 3.Check: Email field is present on login form
- 4.Check: Password field is present on login form
Login happy path
Verify that a customer can log in with valid credentials and reach the portal dashboard
- 1.Open the page
- 2.Check: User is redirected to portal after login
- 3.Check: Portal sidebar is visible
- 4.Check: Sign out link confirms authenticated session
Edit order page redirects to login when unauthenticated
Verify that accessing the edit order URL without authentication redirects to the login page
- 1.Open /orders/107/edit
- 2.Check: Unauthenticated user is redirected to login page
- 3.Check: Login email field is displayed
- 4.Check: Sign in button is displayed
Edit order page redirects authenticated customer to portal
Verify that an authenticated customer navigating to the edit order URL is redirected to the portal (order 107 not accessible to this user)
- 1.Open the page
- 2.Check: User is redirected to portal after login
- 3.Open /orders/107/edit
- 4.Check: Edit order URL redirects authenticated customer back to portal
- 5.Check: Portal dashboard is displayed after redirect
Support form rejects empty subject
Verify that submitting the support form with an empty required field is rejected
- 1.Open the page
- 2.Check: User is logged in and on portal
- 3.Click “Support” link
- 4.Check: Support form is displayed
- 5.Click “Submit request” button
- 6.Check: Form remains visible after empty-subject submit attempt (not submitted)
Customer portal sidebar navigation is functional
Verify that the main sidebar navigation links are present and clickable after login
- 1.Open the page
- 2.Check: User is redirected to portal after login
- 3.Click “Settings” link
- 4.Check: Settings page loads with Name field visible
- 5.Check: Settings Email field is visible
Can retry login after empty-credential error
Verify that after receiving an error for empty credentials, the user can fill in valid credentials and successfully log in
- 1.Open /login
- 2.Click “Sign in” button
- 3.Check: Login form is still displayed after error
- 4.Type “customer@meridian.test” into “email” field
- 5.Type “••••••” into “password” field
- 6.Click “Sign in” button
Submit empty login form and see error state
Verify that clicking Sign In with both fields empty triggers a server-side error response and the user stays on the login page
- 1.Open /login
- 2.Click “Sign in” button
- 3.Check: Login form is still displayed; user was not authenticated
- 4.Check: Email field is still present for retry
Submit with email only and see error state
Verify that filling only the email field and leaving password empty results in a server-side error and the user remains on the login page
- 1.Open /login
- 2.Type “customer@meridian.test” into “email” field
- 3.Click “Sign in” button
- 4.Check: Login form remains visible after failed attempt
- 5.Check: Password field is still present for retry
Submit with password only and see error state
Verify that filling only the password field and leaving email empty results in a server-side error and the user remains on the login page
- 1.Open /login
- 2.Type “••••••” into “password” field
- 3.Click “Sign in” button
- 4.Check: Login form remains visible after failed attempt
- 5.Check: Email field is still present for retry
Empty form fields are cleared after failed submission
Verify that after submitting with filled fields (email-only), the form resets and fields appear empty on the reloaded page
- 1.Open /login
- 2.Type “customer@meridian.test” into “email” field
- 3.Click “Sign in” button
- 4.Check: Email field is displayed and ready for new input
Sign in with valid credentials (happy path)
Verify that a user can sign in with valid credentials and reach the account page
- 1.Open the page
- 2.Check: Redirected away from login page after successful sign-in
Sign in with invalid credentials shows no redirect
Verify that submitting invalid credentials keeps the user on the login page
- 1.Open the page
- 2.Check: Remains on login page when credentials are invalid
- 3.Check: Login form is still displayed after failed attempt
Submit login with empty email field
Verify that the app rejects a login attempt with an empty email field
- 1.Open the page
- 2.Check: Remains on login page when email is left empty
- 3.Check: Login form remains visible after empty-email submit
Submit login with empty password field
Verify that the app rejects a login attempt with an empty password field
- 1.Open the page
- 2.Type “admin@example.com” into “email” field
- 3.Click “Sign in” button
- 4.Check: Remains on login page when password is left empty
- 5.Check: Login form remains visible after empty-password submit
Submit login with both fields empty
Verify that the app rejects a login attempt when both fields are empty
- 1.Open the page
- 2.Click “Sign in” button
- 3.Check: Remains on login page when both fields are empty
- 4.Check: Sign-in button is still present after empty submit
Login form renders all required fields
Verify that the login form displays email field, password field, and sign-in button
- 1.Open the page
- 2.Check: Email field is visible on login page
- 3.Check: Password field is visible on login page
- 4.Check: Sign-in button is visible on login page
Customer cannot access admin /customers/new
Verify that a customer is blocked from the admin-only /customers/new path
- 1.Open the page
- 2.Open /customers/new
Customer cannot access admin /invoices/new
Verify that a customer is blocked from the admin-only /invoices/new path
- 1.Open the page
- 2.Open /invoices/new
Admin navigation: Customers page loads after login
Verify that after admin login, navigating to /customers loads the customer management page.
- 1.Open /login
- 2.Type “••••••” into “password” field
- 3.Type “••••••” into “password” field
- 4.Click “Sign in” button
- 5.Open /customers
- 6.Check: New Customer button is visible on the customers page
Unauthenticated access to /verify redirects to login
Verify that an unauthenticated user trying to access /verify is redirected to the login page
- 1.Open the page
- 2.Check: Unauthenticated user is redirected to login page
- 3.Check: Login form is displayed for unauthenticated access
Login with empty email field shows required validation
Verify that submitting the login form with an empty email field prevents submission
- 1.Open the page
- 2.Check: User remains on login page when email is empty
- 3.Check: Email field is still visible — form not submitted
Login with valid credentials redirects to portal
Verify that a user can log in successfully and land on the portal page
- 1.Open the page
- 2.Check: Navigation sidebar is visible after login
Authenticated navigation to /verify redirects to portal
Verify that an authenticated user navigating to /verify is redirected to the portal dashboard
- 1.Open the page
- 2.Open /verify
- 3.Check: Portal navigation is visible after redirect from /verify
Session persistence across navigation after login
Verify that the user session remains active when navigating to a protected URL after authentication
- 1.Open the page
- 2.Click “Support” link
- 3.Check: Support form is visible
- 4.Open /verify
Settings page redirects unauthenticated users to login
Verify that unauthenticated access to /portal/settings redirects to the login page
- 1.Open /portal/settings
- 2.Check: Redirected to login page
- 3.Check: Sign in button is visible on login page
- 4.Check: Email field is visible on login page
Navigate to Settings page - Happy Path
Verify that an authenticated user can navigate to the Settings page and see the settings form
- 1.Open /settings
- 2.Click “Settings” link
- 3.Check: URL contains /settings after navigating to Settings page
- 4.Check: Name field is visible on Settings page
- 5.Check: Email field is visible on Settings page
- 6.Check: Account field is visible on Settings page
Login with empty credentials stays on login page
Verify that submitting the login form with empty fields is rejected and user remains on login
- 1.Open /settings
- 2.Click “Sign in” button
- 3.Check: Still on login page after empty submit
- 4.Check: Email field still visible after empty submit
Settings link is present after login
Verify that the Settings navigation link is visible in the sidebar after successful login
- 1.Open /settings
- 2.Check: Settings link is visible in navigation after login
Settings page URL is stable after navigation
Verify that clicking Settings link lands on the correct /portal/settings path
- 1.Open /settings
- 2.Click “Settings” link
Login from /requests redirects to portal
Verify that navigating to /requests prompts login and redirects authenticated users to the portal
- 1.Open the page
- 2.Check: Customer sidebar is visible
Navigate to Support page via sidebar
Verify that the Support page with request submission form is accessible from the sidebar
- 1.Open the page
- 2.Click “Support” link
- 3.Check: Support request form is displayed with Subject field
- 4.Check: Support request form has description field
- 5.Check: Submit request button is visible
Submit empty support request form
Verify that submitting an empty support request form is rejected
- 1.Open the page
- 2.Click “Support” link
- 3.Click “Submit request” button
- 4.Check: Form remains visible after empty submit (not navigated away)
- 5.Check: Submit button still present after empty submission attempt
Login and view sidebar navigation
Verify that a user can log in and see the sidebar navigation menu
- 1.Open /
- 2.Check: Sidebar link 'My orders' is visible after login
- 3.Check: Sidebar link 'Place order' is visible after login
- 4.Check: Sidebar link 'Support' is visible after login
- 5.Check: Sidebar link 'Settings' is visible after login
- 6.Check: Sidebar link 'Sign out' is visible after login
Navigate to My Orders from sidebar
Verify that clicking 'My orders' in the sidebar navigates to the orders page
- 1.Open /
- 2.Click “My orders” link
- 3.Check: My account section with 'Place an order' link is visible
Navigate to Support page from sidebar
Verify that clicking 'Support' in the sidebar navigates to the support/contact page
- 1.Open /
- 2.Click “Support” link
- 3.Check: Contact support form with Subject field is visible
- 4.Check: Submit request button is visible on support page
Navigate to Settings page from sidebar
Verify that clicking 'Settings' in the sidebar navigates to the settings page
- 1.Open /
- 2.Click “Settings” link
- 3.Check: Settings form with Name field is visible
- 4.Check: Email field is visible on settings page
Reports link is absent from sidebar
Verify that the Reports link is not present in the sidebar (confirming it has not been implemented yet)
- 1.Open /
- 2.Check: Reports link does not exist in sidebar navigation
Direct navigation to /reports redirects to /portal
Verify that navigating directly to /reports URL redirects to /portal (Reports route is not implemented)
- 1.Open /
- 2.Open /reports
- 3.Check: Redirected page still shows sidebar with My orders
Products URL redirects to login for unauthenticated users
Verify that unauthenticated access to /products redirects to the login page
- 1.Open /products
- 2.Check: Unauthenticated /products access redirects to login page
- 3.Check: Login form is displayed
Login — successful authentication lands on portal
Verify that a user can log in with valid credentials and reach the portal dashboard
- 1.Open the page
- 2.Check: Sidebar navigation is visible
- 3.Check: Sign out link confirms authenticated session
Products URL redirects to portal for authenticated users
Verify that navigating to /products while authenticated redirects to /portal since no dedicated products page exists
- 1.Open the page
- 2.Open /products
- 3.Check: Portal dashboard is displayed after redirect
Portal sidebar — all navigation links are present
Verify that the authenticated portal sidebar contains the expected navigation links
- 1.Open the page
- 2.Check: My orders link is present
- 3.Check: Place order link is present
- 4.Check: Support link is present
- 5.Check: Settings link is present
- 6.Check: Sign out link is present
Place order link returns Not Found
Verify that the 'Place order' sidebar link leads to a Not Found page
- 1.Open the page
- 2.Click “Place order” link
- 3.Check: Not found message is displayed
- 4.Check: Back link is available to return
Support page is accessible from sidebar
Verify that clicking Support in the sidebar navigates to the contact support form
- 1.Open the page
- 2.Click “Support” link
- 3.Check: Support contact form is displayed
- 4.Check: Submit button is available on support form
Negative - Unauthenticated access redirects to login
Verify that accessing /orders without authentication shows the login form
- 1.Open the page
- 2.Check: Redirected to login page when unauthenticated
- 3.Check: Login email field is visible
- 4.Check: Login password field is visible
- 5.Check: Sign in button is visible
Happy Path - Login and view orders hub
Verify that navigating to /orders as an authenticated user lands on the portal with orders/requests visible
- 1.Open the page
- 2.Check: My orders nav link is visible
- 3.Check: Orders/requests hub content is visible
Navigate to Orders from Settings section
Verify that clicking 'My orders' from another section returns to the orders/requests hub
- 1.Open the page
- 2.Click “Settings” link
- 3.Check: Settings section loaded
- 4.Click “My orders” link
- 5.Check: Returned to orders/requests hub after clicking My orders
- 6.Check: My orders nav link still present
Order detail - Click request item opens detail view
Verify that clicking an order/request item in the hub navigates to its detail page
- 1.Open the page
- 2.Click “SYNC-95660” link
- 3.Check: Request detail page loaded with Reply textbox
- 4.Check: Send button visible on detail page
- 5.Check: Back link to account hub is visible
Sign out returns to login and re-authentication works
Verify that signing out returns to the login page and logging back in restores the orders hub
- 1.Open the page
- 2.Click “Sign out” link
- 3.Check: Login form shown after sign out
- 4.Type “customer@meridian.test” into “email” field
- 5.Type “••••••” into “password” field
- 6.Click “Sign in” button
- 7.Check: Orders hub restored after re-authentication
- 8.Check: Navigation is restored after re-login
Support section accessible from orders hub
Verify that the Support link in navigation works from the orders hub
- 1.Open the page
- 2.Click “Support” link
- 3.Check: Support form with Subject field is visible
- 4.Check: Support form with message textbox is visible
- 5.Check: Submit request button is visible
Login with valid credentials redirects to portal
Verify that a customer can sign in and reach the account portal
- 1.Open the page
- 2.Check: Navigation bar is visible after login
Create a support ticket and verify it appears in the account list
Verify that a logged-in customer can submit a support request and see it in their account ticket list
- 1.Open the page
- 2.Click “Support” link
- 3.Type “New Invoice Request 001” into “subject” field
- 4.Check: capture-text role=textbox[name="Subject"]
- 5.Type “Please create a new invoice for my account.” into “message” field
- 6.Click “Submit request” button
- 7.Check: Newly created support ticket appears in My account list
Submit empty support form should not navigate away
Verify that clicking Submit request with empty fields keeps the user on the support form
- 1.Open the page
- 2.Click “Support” link
- 3.Click “Submit request” button
- 4.Check: User remains on support form after empty submit
- 5.Check: Submit button still visible (form was not submitted)
Place order link returns not found page
Verify that clicking 'Place order' in the nav bar navigates to a not-found page
- 1.Open the page
- 2.Click “Place order” link
- 3.Check: Not found page is shown with a Back link
Authenticated invoices URL redirects to account portal
Verify that navigating to /invoices while logged in redirects to the portal home
- 1.Open the page
- 2.Open /invoices
- 3.Check: Portal navigation is visible after redirect
Navigate to /customers unauthenticated redirects to login
Verify that an unauthenticated user navigating to /customers is redirected to the login page
- 1.Open /customers
- 2.Check: Unauthenticated user is redirected to login page
- 3.Check: Login email field is visible
- 4.Check: Login password field is visible
- 5.Check: Sign in button is visible
Login with empty email stays on login page
Verify that submitting the login form with an empty email field does not navigate away
- 1.Open /customers
- 2.Check: User remains on login page when email is empty
- 3.Check: Sign in button is still visible — login not processed
Login with malformed email stays on login page
Verify that submitting a malformed email (missing @domain) does not proceed
- 1.Open /customers
- 2.Check: User remains on login page when email is malformed
- 3.Check: Email field still visible — form not submitted
Login from /customers redirect lands on portal
Verify that after successful login, the user is redirected to the portal dashboard
- 1.Open /customers
- 2.Check: My account section is visible on portal
- 3.Check: My orders nav link is visible
- 4.Check: Sign out link is visible
Authenticated /customers redirects to portal
Verify that an authenticated customer user navigating to /customers is redirected to /portal
- 1.Open /login
- 2.Type “customer@meridian.test” into “email” field
- 3.Type “••••••” into “password” field
- 4.Click “Sign in” button
- 5.Open /customers
Top navigation links present on portal
Verify that the portal dashboard displays all expected top navigation links after login
- 1.Open /login
- 2.Type “customer@meridian.test” into “email” field
- 3.Type “••••••” into “password” field
- 4.Click “Sign in” button
- 5.Check: My orders link is present
- 6.Check: Place order link is present
- 7.Check: Support link is present
- 8.Check: Settings link is present
- 9.Check: Sign out link is present
Login and navigate to Approvals URL
Verify that an authenticated user can navigate to /portal/approvals and the URL matches
- 1.Open /approvals
- 2.Open /portal/approvals
- 3.Check: URL contains /approvals after navigation
Approvals sidebar link is present at /portal/approvals
Verify the Approvals navigation link exists in the admin sidebar when on the approvals route
- 1.Open /approvals
- 2.Open /portal/approvals
- 3.Check: Approvals link is visible in the sidebar
Approvals page content not available for customer role
Verify that a customer-role user sees 'Page not found' instead of the Approvals heading at /portal/approvals
- 1.Open /approvals
- 2.Open /portal/approvals
- 3.Check: Page not found message is displayed for customer role
- 4.Check: Approvals heading is not visible for customer role
Clicking Approvals sidebar link redirects customer to portal
Verify that clicking the Approvals sidebar link redirects the customer back to /portal
- 1.Open /approvals
- 2.Open /portal/approvals
- 3.Click “Approvals” link
- 4.Check: Customer portal navigation is visible after redirect
Admin sidebar fully rendered at /portal/approvals
Verify all expected admin sidebar links are present even when page content is not found
- 1.Open /approvals
- 2.Open /portal/approvals
- 3.Check: Dashboard link is visible
- 4.Check: Customers link is visible
- 5.Check: Products link is visible
- 6.Check: Orders link is visible
- 7.Check: Approvals link is visible
- 8.Check: Back to dashboard fallback link is visible
Login with valid credentials lands on portal
Verify that a customer can log in and reach the authenticated portal
- 1.Open the page
- 2.Check: My orders link is visible after login
- 3.Check: Sign out link confirms authenticated state
Product edit page redirects customer to portal
Verify that an unauthorized customer cannot access the product edit page and is redirected to the portal
- 1.Open the page
- 2.Open /products/104/edit
- 3.Check: Redirected to portal — My orders link visible
- 4.Check: Portal page heading confirmed after redirect
Submit support request and verify it appears in account list
Verify that a customer can submit a support request and the created record appears in their account section
- 1.Open the page
- 2.Click “Support” link
- 3.Type “Edit product inquiry” into “subject” field
- 4.Check: capture-text role=textbox[name="Subject"]
- 5.Type “Need to update product pricing details.” into “message” field
- 6.Click “Submit request” button
- 7.Check: Submitted support request subject appears in My account section
- 8.Check: Returned to portal after submission
Support form submitted with empty subject
Verify that submitting the support form with an empty required Subject field is handled gracefully
- 1.Open the page
- 2.Click “Support” link
- 3.Type “Message with no subject line.” into “message” field
- 4.Click “Submit request” button
- 5.Check: Still on support form after empty-subject submit
Settings page shows read-only account fields
Verify that the Settings page displays the customer's account details and fields are not editable by the customer
- 1.Open the page
- 2.Click “Settings” link
- 3.Check: Name field is visible on Settings page
- 4.Check: Email field is visible on Settings page
- 5.Check: Account field is visible on Settings page
Navigate to product edit page unauthenticated redirects to login
Verify that an unauthenticated user is redirected to the login page when accessing the product edit URL
- 1.Open /products/104/edit
- 2.Check: Login form is displayed for unauthenticated product-edit access
- 3.Check: Sign in button confirms login gate
Login - Happy Path with valid credentials
Verify that a customer can log in successfully with valid credentials
- 1.Open /products
- 2.Check: Dashboard nav link is visible
- 3.Check: Sign out link confirms authenticated state
Login - Invalid password shows error state
Verify that login with an incorrect password keeps the user on the login page
- 1.Open /products
- 2.Check: Still on login page after failed attempt
- 3.Check: Email field still present, not redirected
Navigate to Settings page after login
Verify that the Settings page is reachable from the portal navigation
- 1.Open /products
- 2.Click “Settings” link
- 3.Check: Settings page loaded with Name field
- 4.Check: Settings page has Email field
- 5.Check: Settings page has Account field
Navigate to Support page and verify form elements
Verify that the Support contact form is reachable and contains required fields
- 1.Open /products
- 2.Click “Support” link
- 3.Check: Support form has Subject field
- 4.Check: Support form has description textarea
- 5.Check: Submit button is present
- 6.Check: Cancel link is present
Products page redirects to portal for customer role
Verify that the /products and /products/new URLs redirect to /portal for the customer role (workflow not accessible)
- 1.Open /products
- 2.Open /products/new
- 3.Check: Landed on portal dashboard after redirect
Login with valid credentials redirects to portal
Verify that a customer can log in and reach the account portal
- 1.Open the page
- 2.Check: Sidebar My orders link is visible
Direct navigation to order edit page redirects to portal
Verify that accessing /orders/107/edit without an existing editable order redirects to the portal
- 1.Open the page
- 2.Open /orders/107/edit
- 3.Check: Portal sidebar remains visible after redirect
Login with empty email
Verify that submitting the login form with an empty email field is rejected
- 1.Open /login
- 2.Type “••••••” into “password” field
- 3.Click “Sign in” button
- 4.Check: Login form is still displayed after empty email submission
- 5.Check: User remains on login page
Login with empty password
Verify that submitting the login form with an empty password field is rejected
- 1.Open /login
- 2.Type “customer@meridian.test” into “email” field
- 3.Click “Sign in” button
- 4.Check: Login form is still displayed after empty password submission
- 5.Check: User remains on login page
Navigate to invoices/new unauthenticated redirects to login
Verify that unauthenticated access to /invoices/new redirects to the login page
- 1.Open /invoices/new
- 2.Check: Unauthenticated user is redirected to login page
- 3.Check: Login form is displayed
Login happy path
Verify that a user can log in with valid credentials and reach the portal
- 1.Open /login
- 2.Type “customer@meridian.test” into “email” field
- 3.Type “••••••” into “password” field
- 4.Click “Sign in” button
- 5.Check: Portal sidebar is visible
- 6.Check: Sign out link confirms authenticated state
Navigate to invoices/new authenticated redirects to portal
Verify that an authenticated user accessing /invoices/new is redirected to the portal (invoice feature not available)
- 1.Open /login
- 2.Type “customer@meridian.test” into “email” field
- 3.Type “••••••” into “password” field
- 4.Click “Sign in” button
- 5.Open /invoices/new
- 6.Check: Portal page is rendered
Portal sidebar navigation links are present
Verify that all expected sidebar navigation links are visible on the portal after login
- 1.Open /login
- 2.Type “customer@meridian.test” into “email” field
- 3.Type “••••••” into “password” field
- 4.Click “Sign in” button
- 5.Check: My orders link is present
- 6.Check: Place order link is present
- 7.Check: Support link is present
- 8.Check: Settings link is present
- 9.Check: Sign out link is present
Customer edit page redirects to login when unauthenticated
Verify that accessing /customers/101/edit without authentication redirects to the login page
- 1.Open /customers/101/edit
- 2.Check: Unauthenticated user is redirected to login page
- 3.Check: Login form is displayed
Login with valid credentials and reach portal
Verify that a customer can log in with valid credentials and is redirected to the portal dashboard
- 1.Open /customers/101/edit
- 2.Check: Dashboard navigation is visible
- 3.Check: Settings link is available in nav
Navigate to Settings page to view customer details
Verify that a logged-in customer can navigate to the Settings page to view their account details
- 1.Open /customers/101/edit
- 2.Click “Settings” link
- 3.Check: Name field is present
- 4.Check: Email field is present
- 5.Check: Account field is present
Customer edit page is inaccessible for customer role
Verify that a logged-in customer user cannot access the /customers/101/edit admin page and is redirected to portal
- 1.Open /customers/101/edit
- 2.Open /customers/101/edit
- 3.Check: Portal dashboard is displayed instead of edit page
Login with invalid password shows error
Verify that entering a wrong password keeps the user on the login page with an error indicator
- 1.Open /customers
- 2.Check: Stays on login page after failed attempt
- 3.Check: Login form still displayed
Login with valid customer credentials
Verify that a customer can log in with valid credentials and lands on the portal
- 1.Open /customers
- 2.Check: Portal navigation is visible
- 3.Check: Sign out link confirms authenticated session
Customer portal navigation to Settings
Verify that an authenticated customer can navigate to the Settings page
- 1.Open /customers
- 2.Click “Settings” link
- 3.Check: Settings page loaded with Name field
- 4.Check: Settings page shows Email field
- 5.Check: Settings page shows Account field
Customer role cannot access admin /customers area
Verify that a customer account is redirected away from the /customers admin path
- 1.Open /customers
- 2.Open /customers
Sign in with both fields empty shows validation
Verify that clicking Sign In with both Work email and Password fields empty displays validation messages and prevents navigation
- 1.Open the page
- 2.Click “Sign in” button
- 3.Check: User stays on login page after submitting empty form
- 4.Check: Sign in button still visible — no redirect occurred
- 5.Check: Email field still present after failed submit
- 6.Check: Password field still present after failed submit
Sign in with empty email but filled password shows validation
Verify that leaving Work email empty while filling Password triggers a validation error on the email field
- 1.Open the page
- 2.Check: User stays on login page when email is empty
- 3.Check: Sign in button still visible — login blocked
- 4.Check: Email field still present after validation failure
Sign in with empty password but filled email shows validation
Verify that leaving Password empty while filling Work email triggers a validation error on the password field
- 1.Open the page
- 2.Type “customer@meridian.test” into “email” field
- 3.Click “Sign in” button
- 4.Check: User stays on login page when password is empty
- 5.Check: Sign in button still visible — login blocked
- 6.Check: Password field still present after validation failure
Sign in with malformed email shows validation
Verify that entering a non-email value in the Work email field triggers a format validation error
- 1.Open the page
- 2.Check: User stays on login page with malformed email
- 3.Check: Sign in button still visible — email format rejected
Successful login navigates away from login page
Verify that valid credentials allow the user to log in and reach the account dashboard
- 1.Open the page
- 2.Check: Sign out link visible after successful login
- 3.Check: My orders navigation link visible after login
Sign in with valid credentials — happy path
Verify that a user can sign in with valid email and password and land on the authenticated portal
- 1.Open /login
- 2.Type “customer@meridian.test” into “email” field
- 3.Type “••••••” into “password” field
- 4.Click “Sign in” button
- 5.Check: Sign out link confirms authenticated session
- 6.Check: My orders navigation link is visible
- 7.Check: Place order navigation link is visible
Sign in with empty password — rejected
Verify that submitting with an empty password keeps the user on the login page with an error
- 1.Open /login
- 2.Type “customer@meridian.test” into “email” field
- 3.Click “Sign in” button
- 4.Check: URL stays on login page after rejected attempt
- 5.Check: Login form remains visible after rejected attempt
Sign in with empty email — rejected
Verify that submitting with an empty email keeps the user on the login page with an error
- 1.Open /login
- 2.Type “••••••” into “password” field
- 3.Click “Sign in” button
- 4.Check: URL stays on login page after rejected attempt
- 5.Check: Login form remains visible after rejected attempt
Sign in with malformed email — rejected
Verify that submitting a non-email string in the email field keeps the user on the login page with an error
- 1.Open /login
- 2.Type “not-an-email” into “email” field
- 3.Type “••••••” into “password” field
- 4.Click “Sign in” button
- 5.Check: URL stays on login page after malformed email submission
- 6.Check: Sign in button still present — user not authenticated
Sign out after sign in returns to login
Verify that signing out from the authenticated portal returns the user to the login page
- 1.Open /login
- 2.Type “customer@meridian.test” into “email” field
- 3.Type “••••••” into “password” field
- 4.Click “Sign in” button
- 5.Click “Sign out” link
- 6.Check: Sign in button reappears after sign out
- 7.Check: Login form is visible again after sign out
Sync round-trip: create → status change on counterpart → verify propagation
- 1.Open /login
- 2.Type “customer@meridian.test” into “email” field
- 3.Type “••••••” into “password” field
- 4.Click the element
- 5.Open /portal/support
- 6.Type “auto-gen sync” into “message” field
- 7.Type “SYNCGEN4017” into “subject” field
- 8.Click the element
- 9.Open /logout
- 10.Open /login
- 11.Type “demo@meridian.test” into “email” field
- 12.Type “••••••” into “password” field
- 13.Click the element
- 14.Open /requests
- 15.Click the element
- 16.Open /logout
- 17.Open /login
- 18.Type “customer@meridian.test” into “email” field
- 19.Type “••••••” into “password” field
- 20.Click the element
- 21.Open /portal
- 22.Check:
Home → Customers → Products → Orders → Orders/108/Edit
E2E journey: Home → Customers → Products → Orders → Orders/108/Edit
- 1.Open page
- 2.Fill username — the test email
- 3.Fill password — the test password
- 4.Sign in
- 5.Open page
- 6.Click "Customers"
- 7.Open page
- 8.Click "Orders"
- 9.Click "Edit"
- 10.Check: URL should be within "/orders"
Home → Customers → Products → Orders → Orders/109
E2E journey: Home → Customers → Products → Orders → Orders/109
- 1.Open page
- 2.Fill username — the test email
- 3.Fill password — the test password
- 4.Sign in
- 5.Open page
- 6.Click "Customers"
- 7.Open page
- 8.Click "Orders"
- 9.Click "Cedar & Co"
- 10.Check: URL should be within "/orders"
Home → Customers → Products → Orders → Orders/107/Edit
E2E journey: Home → Customers → Products → Orders → Orders/107/Edit
- 1.Open page
- 2.Fill username — the test email
- 3.Fill password — the test password
- 4.Sign in
- 5.Open page
- 6.Click "Customers"
- 7.Open page
- 8.Click "Orders"
- 9.Click "Edit"
- 10.Check: URL should be within "/orders"
Home → Customers → Products → Orders → Orders
E2E journey: Home → Customers → Products → Orders → Orders
- 1.Open page
- 2.Fill username — the test email
- 3.Fill password — the test password
- 4.Sign in
- 5.Open page
- 6.Click "Customers"
- 7.Open page
- 8.Click "Orders"
- 9.Open page
- 10.Check: URL should be within "/orders"
Home → Customers → Products → Orders → Orders/107
E2E journey: Home → Customers → Products → Orders → Orders/107
- 1.Open page
- 2.Fill username — the test email
- 3.Fill password — the test password
- 4.Sign in
- 5.Open page
- 6.Click "Customers"
- 7.Open page
- 8.Click "Orders"
- 9.Open page
- 10.Check: URL should be within "/orders"
Home → Customers → Products → Orders → Orders/107
E2E journey: Home → Customers → Products → Orders → Orders/107
- 1.Open page
- 2.Fill username — the test email
- 3.Fill password — the test password
- 4.Sign in
- 5.Open page
- 6.Click "Customers"
- 7.Open page
- 8.Click "Orders"
- 9.Click "Atlas Logistics"
- 10.Check: URL should be within "/orders"
Home → Customers → Products → Orders → Orders/108
E2E journey: Home → Customers → Products → Orders → Orders/108
- 1.Open page
- 2.Fill username — the test email
- 3.Fill password — the test password
- 4.Sign in
- 5.Open page
- 6.Click "Customers"
- 7.Open page
- 8.Click "Orders"
- 9.Click "Brightwave Media"
- 10.Check: URL should be within "/orders"
Home → Customers → Products → Orders → Orders/109 → Orders/109/Edit
E2E journey: Home → Customers → Products → Orders → Orders/109 → Orders/109/Edit
- 1.Open page
- 2.Fill username — the test email
- 3.Fill password — the test password
- 4.Sign in
- 5.Open page
- 6.Click "Customers"
- 7.Open page
- 8.Click "Orders"
- 9.Click "Cedar & Co"
- 10.Open page
- 11.Check: URL should be within "/orders"
Home → Customers → Products → Orders → Orders/107 → Orders/107
E2E journey: Home → Customers → Products → Orders → Orders/107 → Orders/107
- 1.Open page
- 2.Fill username — the test email
- 3.Fill password — the test password
- 4.Sign in
- 5.Open page
- 6.Click "Customers"
- 7.Open page
- 8.Click "Orders"
- 9.Open page
- 10.Click "Line items"
- 11.Check: URL should be within "/orders"
Home → Customers → Products → Orders → Orders/107 → Orders/107 → Orders/107
E2E journey: Home → Customers → Products → Orders → Orders/107 → Orders/107 → Orders/107
- 1.Open page
- 2.Fill username — the test email
- 3.Fill password — the test password
- 4.Sign in
- 5.Open page
- 6.Click "Customers"
- 7.Open page
- 8.Click "Orders"
- 9.Open page
- 10.Click "Line items"
- 11.Click "Activity"
- 12.Check: URL should be within "/orders"
Home → Customers → Verify
E2E journey: Home → Customers → Verify
- 1.Open page
- 2.Click "Customers"
- 3.Open page
- 4.Check: URL should be within "/verify"
Home → Customers → Products/New
E2E journey: Home → Customers → Products/New
- 1.Open page
- 2.Click "Customers"
- 3.Open page
- 4.Check: URL should be within "/products"
Home → Customers → Products → Products/104
E2E journey: Home → Customers → Products → Products/104
- 1.Open page
- 2.Click "Customers"
- 3.Open page
- 4.Open page
- 5.Check: URL should be within "/products"
Home → Customers → Products → Products/104
E2E journey: Home → Customers → Products → Products/104
- 1.Open page
- 2.Click "Customers"
- 3.Open page
- 4.Open page
- 5.Check: URL should be within "/products"
Home → Customers → Products → Products/106
E2E journey: Home → Customers → Products → Products/106
- 1.Open page
- 2.Click "Customers"
- 3.Open page
- 4.Click "Onboarding Pack"
- 5.Check: URL should be within "/products"
Home → Customers → Products → Products/114
E2E journey: Home → Customers → Products → Products/114
- 1.Open page
- 2.Click "Customers"
- 3.Open page
- 4.Open page
- 5.Check: URL should be within "/products"
Home → Customers → Products → Products/104/Edit
E2E journey: Home → Customers → Products → Products/104/Edit
- 1.Open page
- 2.Click "Customers"
- 3.Open page
- 4.Click "Edit"
- 5.Check: URL should be within "/products"
Home → Customers → Products → Products/114
E2E journey: Home → Customers → Products → Products/114
- 1.Open page
- 2.Click "Customers"
- 3.Open page
- 4.Open page
- 5.Check: URL should be within "/products"
Home → Customers → Products → Products/104
E2E journey: Home → Customers → Products → Products/104
- 1.Open page
- 2.Click "Customers"
- 3.Open page
- 4.Click "Standard Plan"
- 5.Check: URL should be within "/products"
Home → Customers → Products → Products/105
E2E journey: Home → Customers → Products → Products/105
- 1.Open page
- 2.Click "Customers"
- 3.Open page
- 4.Click "Pro Plan"
- 5.Check: URL should be within "/products"
Home → Customers → Products → Products/114 → Products/114/Edit
E2E journey: Home → Customers → Products → Products/114 → Products/114/Edit
- 1.Open page
- 2.Click "Customers"
- 3.Open page
- 4.Open page
- 5.Click "Edit"
- 6.Check: URL should be within "/products"
Home → Customers → Products → Products/114 → Products/114
E2E journey: Home → Customers → Products → Products/114 → Products/114
- 1.Open page
- 2.Click "Customers"
- 3.Open page
- 4.Open page
- 5.Click "Activity"
- 6.Check: URL should be within "/products"
Home → Customers → Products → Products/104 → Products/105
E2E journey: Home → Customers → Products → Products/104 → Products/105
- 1.Open page
- 2.Click "Customers"
- 3.Open page
- 4.Open page
- 5.Open page
- 6.Check: URL should be within "/products"
Home → Customers → Products → Products/106 → Products/106/Edit
E2E journey: Home → Customers → Products → Products/106 → Products/106/Edit
- 1.Open page
- 2.Click "Customers"
- 3.Open page
- 4.Click "Onboarding Pack"
- 5.Open page
- 6.Check: URL should be within "/products"
Home → Customers → Products → Products/105 → Products/105/Edit
E2E journey: Home → Customers → Products → Products/105 → Products/105/Edit
- 1.Open page
- 2.Click "Customers"
- 3.Open page
- 4.Click "Pro Plan"
- 5.Click "Edit"
- 6.Check: URL should be within "/products"
Home → Customers → Products → Products/104 → Products/105 → Products/105
E2E journey: Home → Customers → Products → Products/104 → Products/105 → Products/105
- 1.Open page
- 2.Click "Customers"
- 3.Open page
- 4.Open page
- 5.Open page
- 6.Open page
- 7.Check: URL should be within "/products"
Home → Customers → Products → Products/104 → Products/105 → Products/105 → Products/106
E2E journey: Home → Customers → Products → Products/104 → Products/105 → Products/105 → Products/106
- 1.Open page
- 2.Click "Customers"
- 3.Open page
- 4.Open page
- 5.Open page
- 6.Open page
- 7.Open page
- 8.Check: URL should be within "/products"
Home → Customers → Products → Products/104 → Products/105 → Products/105 → Products/106 → Products/106
E2E journey: Home → Customers → Products → Products/104 → Products/105 → Products/105 → Products/106 → Products/106
- 1.Open page
- 2.Click "Customers"
- 3.Open page
- 4.Open page
- 5.Open page
- 6.Open page
- 7.Open page
- 8.Open page
- 9.Check: URL should be within "/products"
Login → Home → Customers → Customers → Products → Orders → Orders/108 → Orders/108 → Orders/108 → O…
E2E journey: Login → Home → Customers → Customers → Products → Orders → Orders/108 → Orders/108 → Orders/108 → O…
- 1.Open page
- 2.Fill username — the test email
- 3.Fill password — the test password
- 4.Sign in
- 5.Open page
- 6.Click "login"
- 7.Click "Customers"
- 8.Open page
- 9.Click "Products"
- 10.Click "Orders"
- 11.Open page
- 12.Click "Line items"
- 13.Click "Activity"
- 14.Open page
- 15.Click "Line items"
- 16.Click "Activity"
- 17.Open page
- 18.Click "Activity"
- 19.Click "Orders"
- 20.Check: URL should be within "/customers"
Home → Customers → Customers/103
E2E journey: Home → Customers → Customers/103
- 1.Open page
- 2.Click "Customers"
- 3.Click "Cedar & Co"
- 4.Check: URL should be within "/customers"
Home → Customers → Customers/113
E2E journey: Home → Customers → Customers/113
- 1.Open page
- 2.Click "Customers"
- 3.Click "Priya Nair"
- 4.Check: URL should be within "/customers"
Home → Customers → Customers/102
E2E journey: Home → Customers → Customers/102
- 1.Open page
- 2.Click "Customers"
- 3.Open page
- 4.Check: URL should be within "/customers"
Home → Customers → Customers/102
E2E journey: Home → Customers → Customers/102
- 1.Open page
- 2.Click "Customers"
- 3.Click "Brightwave Media"
- 4.Check: URL should be within "/customers"
Home → Customers → Customers/103
E2E journey: Home → Customers → Customers/103
- 1.Open page
- 2.Click "Customers"
- 3.Open page
- 4.Check: URL should be within "/customers"
Home → Customers → Customers/101
E2E journey: Home → Customers → Customers/101
- 1.Open page
- 2.Click "Customers"
- 3.Open page
- 4.Check: URL should be within "/customers"
Home → Customers → Customers/102
E2E journey: Home → Customers → Customers/102
- 1.Open page
- 2.Click "Customers"
- 3.Open page
- 4.Check: URL should be within "/customers"
Home → Customers → Customers/103 → Customers/103
E2E journey: Home → Customers → Customers/103 → Customers/103
- 1.Open page
- 2.Click "Customers"
- 3.Open page
- 4.Click "Orders"
- 5.Check: URL should be within "/customers"
Home → Customers → Customers/113 → Customers/113/Edit
E2E journey: Home → Customers → Customers/113 → Customers/113/Edit
- 1.Open page
- 2.Click "Customers"
- 3.Click "Priya Nair"
- 4.Click "Edit"
- 5.Check: URL should be within "/customers"
Home → Customers → Customers/101 → Customers/101
E2E journey: Home → Customers → Customers/101 → Customers/101
- 1.Open page
- 2.Click "Customers"
- 3.Open page
- 4.Click "Orders"
- 5.Check: URL should be within "/customers"
Home → Customers → Verify → Customers/101/Edit
E2E journey: Home → Customers → Verify → Customers/101/Edit
- 1.Open page
- 2.Click "Customers"
- 3.Open page
- 4.Open page
- 5.Check: URL should be within "/customers"
Home → Customers → Customers/102 → Customers/102/Edit
E2E journey: Home → Customers → Customers/102 → Customers/102/Edit
- 1.Open page
- 2.Click "Customers"
- 3.Click "Brightwave Media"
- 4.Click "Edit"
- 5.Check: URL should be within "/customers"
Home → Customers → Customers/103 → Customers/103/Edit
E2E journey: Home → Customers → Customers/103 → Customers/103/Edit
- 1.Open page
- 2.Click "Customers"
- 3.Click "Cedar & Co"
- 4.Open page
- 5.Check: URL should be within "/customers"
Home → Customers → Customers/102 → Customers/102
E2E journey: Home → Customers → Customers/102 → Customers/102
- 1.Open page
- 2.Click "Customers"
- 3.Open page
- 4.Click "Orders"
- 5.Check: URL should be within "/customers"
Home → Customers → Customers/102 → Customers/102 → Customers/103
E2E journey: Home → Customers → Customers/102 → Customers/102 → Customers/103
- 1.Open page
- 2.Click "Customers"
- 3.Open page
- 4.Click "Orders"
- 5.Open page
- 6.Check: URL should be within "/customers"
Home → Customers → Products → Orders → Invoices/New → Customers/101
E2E journey: Home → Customers → Products → Orders → Invoices/New → Customers/101
- 1.Open page
- 2.Fill username — the test email
- 3.Fill password — the test password
- 4.Sign in
- 5.Open page
- 6.Click "Customers"
- 7.Open page
- 8.Click "Orders"
- 9.Open page
- 10.Open page
- 11.Check: URL should be within "/customers"
Home → Customers → Products → Orders → Invoices → Requests → Reports
E2E journey: Home → Customers → Products → Orders → Invoices → Requests → Reports
- 1.Open page
- 2.Fill username — the test email
- 3.Fill password — the test password
- 4.Sign in
- 5.Open page
- 6.Click "Customers"
- 7.Open page
- 8.Click "Orders"
- 9.Click "Invoices"
- 10.Click "Requests"
- 11.Open page
- 12.Check: URL should be within "/reports"
Home → Customers → Products → Orders → Orders → Approvals
E2E journey: Home → Customers → Products → Orders → Orders → Approvals
- 1.Open page
- 2.Fill username — the test email
- 3.Fill password — the test password
- 4.Sign in
- 5.Open page
- 6.Click "Customers"
- 7.Open page
- 8.Click "Orders"
- 9.Open page
- 10.Click "Approvals"
- 11.Check: URL should be within "/approvals"
Home → Customers → Products → Orders → Invoices/New
E2E journey: Home → Customers → Products → Orders → Invoices/New
- 1.Open page
- 2.Fill username — the test email
- 3.Fill password — the test password
- 4.Sign in
- 5.Open page
- 6.Click "Customers"
- 7.Open page
- 8.Click "Orders"
- 9.Open page
- 10.Check: URL should be within "/invoices"
Run this on your own site
Paste a URL to start the same evidence-based workflow on the Free plan.