PoS API Testing
This document outlines 33 tests to be performed on the POS system. Each test includes detailed steps and verification criteria to ensure the system operates as expected.
Test Cases
Test Number | Tests to Run | Verification |
---|---|---|
1 | Configure PoS for test system DNS/IP, plugin id, and auth id -- connect | Connectivity, TLS, Authentication, Configuration Events (RCs, terminals, employees), Keep-Alive |
2 | Startup PoS application and sign in as employee | TerminalUp(o), SignIn |
3 | Sign out as employee | SignOut |
4 | Sign back in as employee (different if possible) | SignIn |
5 | Create check with qty 1 of item and checkout using cash and change due | NewCheck, ItemAdd, SubTotal, TaxDue, TotalDue, TenderApply, ChangeDue, CloseCheck |
6 | Create a return for the previous transaction using cash | NewCheck, ReturnAdd, SubTotal, TaxDue, TotalDue, ChangeDue, CloseCheck |
7 | Create check with qty 1 of item and checkout using CC | NewCheck, ItemAdd, SubTotal, TaxDue, TotalDue, TenderApply, CloseCheck |
8 | Create a return for the previous transaction using CC | NewCheck, ReturnAdd, SubTotal, TaxDue, TotalDue, TenderApply, CloseCheck |
9 | Create check with two items -- one qty 2 and one qty 3 and checkout using cash | NewCheck, ItemAdd (qty), ItemAdd (qty), SubTotal, TaxDue, TotalDue, TenderApply, ChangeDue(o), CloseCheck |
10 | Create a return for the previous transaction using cash | NewCheck, ReturnAdd (qty), ReturnAdd (qty), SubTotal, TaxDue, TotalDue, ChangeDue, CloseCheck |
11 | Create check with qty 10 of item and then cancel | NewCheck, ItemAdd (qty), CancelCheck |
12 | Create check with qty 3 item and "save" check to be recalled later | NewCheck, ItemAdd (qty), SaveCheck |
13 | Create check with qty 5 item, total, pay with CC, then void the check | NewCheck, ItemAdd (qty), SubTotal, TaxDue, TotalDue, TenderApply, CloseCheck (o), RecallCheck (o), VoidCheck |
14 | Recall the saved check from #12, add a qty 1 item, then checkout using cash | RecallCheck, ItemAdd, SubTotal, TaxDue, TotalDue, TenderApply, ChangeDue(o), CloseCheck |
15 | Create check with qty 6 item, change item qty to 3, then checkout with CC | NewCheck, ItemAdd (qty), ItemCancel (qty), SubTotal, TaxDue, TotalDue, TenderApply, CloseCheck |
16 | Create check with qty 1 item using an option (color, add-on, etc) then checkout with CC | NewCheck, ItemAdd, ItemOption, CancelCheck |
17 | Create check with qty 2 item and qty 1 item, remove qty 2 item, checkout with CC | NewCheck, ItemAdd (qty), ItemAdd (qty), ItemCancel (qty), SubTotal, TaxDue, TotalDue, TenderApply, CloseCheck |
18 | Create check with qty 1 item that has an automatic discount, checkout with CC | NewCheck, ItemAdd, DiscountApply, SubTotal, TaxDue, TotalDue, TenderApply, CloseCheck |
19 | Create a return for the previous transaction using CC | NewCheck, ReturnAdd (qty), DiscountVoid (o), SubTotal, TaxDue, TotalDue, TenderApply, CloseCheck |
20 | Create check with qty 2 item and apply manual discount, checkout with CC | NewCheck, ItemAdd (qty), DiscountApply (qty), SubTotal, TaxDue, TotalDue, TenderApply, CloseCheck |
21 | Create check with qty 1 item with discount, cancel discount, checkout with CC | NewCheck, ItemAdd, DiscountApply, DiscountCancel, SubTotal, TaxDue, TotalDue, TenderApply, CloseCheck |
22 | Create check with qty 1 item, checkout with cash, void tender, checkout with CC | NewCheck, ItemAdd, SubTotal, TaxDue, TotalDue, TenderApply, ChangeDue (o), TenderVoid, TenderApply, CloseCheck |
23 | Create check with qty 1 item, apply manager override to price, checkout with CC | NewCheck, ItemAdd, ((o) DiscountApply, OverrideRequest, OverrideResponse, ManagerProcedure), SubTotal, TaxDue, ... |
24 | Create check with qty 1 item, qty 3 item, total, void qty 1 item, checkout with CC | NewCheck, ItemAdd (qty), ItemAdd (qty), SubTotal, TaxDue, TotalDue, ItemVoid, SubTotal, TaxDue, TotalDue, TenderApply, CloseCheck |
25 | Run a "nosale" to open the cash drawer | NoSale, DrawerOpen (o), DrawerClose (o) |
26 | Generate a cash-in event | CashIn, DrawerOpen (o), DrawerClose (o) |
27 | Generate a cash-out event | CashOut, DrawerOpen (o), DrawerClose (o) |
28 | Generate a report | ReportGenerated |
29 | Change the name of an employee | EmployeeName |
30 | Change the name of a terminal | TerminalName |
31 | Change the name of a revenue center | RevCenterName |
32 | Check for delay in timestamps if included, or raw delay | Acceptable timestamps (NTP) or minimal real-time delay |
33 | Test a TCP socket drop | Re-connection |