| | 1 | == Customer makes order == |
| | 2 | === Актери === |
| | 3 | * Customer |
| | 4 | === Scenario steps === |
| | 5 | 1. Customer logs in |
| | 6 | 2. Customer browses menu |
| | 7 | 3. Customer adds items to order |
| | 8 | 4. Customer enters delivery details |
| | 9 | 5. Customer pays and submits order |
| | 10 | 6. Employee accepts orders |
| | 11 | 7. Employee prepares and ships order |
| | 12 | |
| | 13 | === SQL Queries === |
| | 14 | |
| | 15 | {{{ |
| | 16 | SELECT user FROM users where email ='test2@hotmail.com' -- and password application check |
| | 17 | }}} |
| | 18 | {{{ |
| | 19 | SELECT name, price, id FROM products; |
| | 20 | }}} |
| | 21 | {{{ |
| | 22 | INSERT INTO orders(id) |
| | 23 | VALUES (4); |
| | 24 | INSERT INTO online_orders(order_id,delivery_address,customer_id) |
| | 25 | VALUES (4,'Mladinska 2', 2); |
| | 26 | INSERT INTO order_items( order_id, product_id, is_processed, price, quantity) |
| | 27 | SELECT 4,1,true, price, 3 FROM products WHERE id=1; |
| | 28 | }}} |
| | 29 | {{{ |
| | 30 | INSERT INTO order_items( order_id, product_id, is_processed, quantity) |
| | 31 | VALUES (4,2,true,1); |
| | 32 | }}} |
| | 33 | {{{ |
| | 34 | INSERT INTO payments(id, order_id, amount, payment_type, tip_amount) |
| | 35 | VALUES (2,4,550, ‘card’, 0); |
| | 36 | UPDATE orders SET status=’PLACED’ WHERE id=4; |
| | 37 | }}} |
| | 38 | {{{ |
| | 39 | SELECT |
| | 40 | o.id AS order_id, |
| | 41 | o.status, |
| | 42 | oo.delivery_address, |
| | 43 | u.name AS customer_name, |
| | 44 | oi.product_id, |
| | 45 | p.name AS product_name, |
| | 46 | oi.is_processed, |
| | 47 | oi.price, |
| | 48 | oi.quantity, |
| | 49 | pm.amount AS payment_amount, |
| | 50 | pm.payment_type, |
| | 51 | pm.tip_amount |
| | 52 | FROM orders o |
| | 53 | JOIN online_orders oo ON o.id = oo.order_id |
| | 54 | JOIN users u ON oo.customer_id = u.id |
| | 55 | JOIN order_items oi ON o.id = oi.order_id |
| | 56 | JOIN products p ON oi.product_id = p.id |
| | 57 | LEFT JOIN payments pm ON o.id = pm.order_id |
| | 58 | WHERE o.id = 4; |
| | 59 | |
| | 60 | UPDATE orders SET status='CONFIRMED' WHERE id=4; |
| | 61 | }}} |