| 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 | }}} |