| | 1 | = UseCase05 - Create a Listing |
| | 2 | ** Initiating actor: Owner ** |
| | 3 | == Description |
| | 4 | An owner creates a listing for an animal they own. After creation, the system shows the created listing. |
| | 5 | == Scenario |
| | 6 | 1. Owner opens "My Animals" page. |
| | 7 | {{{ |
| | 8 | SELECT |
| | 9 | a.animal_id, |
| | 10 | a.name, |
| | 11 | a.sex, |
| | 12 | a.date_of_birth, |
| | 13 | a.type, |
| | 14 | a.species, |
| | 15 | a.breed, |
| | 16 | a.located_name |
| | 17 | FROM animals a |
| | 18 | WHERE a.owner_id = (SELECT user_id FROM users WHERE username = 'client.mila') |
| | 19 | ORDER BY a.animal_id DESC; |
| | 20 | }}} |
| | 21 | 2. Owner clicks on a specific animal. |
| | 22 | {{{ |
| | 23 | SELECT |
| | 24 | a.animal_id, |
| | 25 | a.owner_id, |
| | 26 | a.name, |
| | 27 | a.sex, |
| | 28 | a.date_of_birth, |
| | 29 | a.photo_url, |
| | 30 | a.type, |
| | 31 | a.species, |
| | 32 | a.breed, |
| | 33 | a.located_name |
| | 34 | FROM animals a |
| | 35 | WHERE a.animal_id = 2 |
| | 36 | AND a.owner_id = (SELECT user_id FROM users WHERE username = 'client.mila'); |
| | 37 | }}} |
| | 38 | 3. Clicks on the "Create Listing" button. |
| | 39 | 4. Owner enters listing information and submits it. |
| | 40 | 5. System creates the lisitng. |
| | 41 | {{{ |
| | 42 | INSERT INTO listings (owner_id, animal_id, status, price, description, created_at) |
| | 43 | VALUES ( |
| | 44 | (SELECT user_id FROM users WHERE username = 'client.mila'), |
| | 45 | (SELECT animal_id |
| | 46 | FROM animals |
| | 47 | WHERE name = 'Max' |
| | 48 | AND owner_id = (SELECT user_id FROM users WHERE username = 'client.mila') |
| | 49 | LIMIT 1), |
| | 50 | 'ACTIVE', |
| | 51 | 45.00, |
| | 52 | 'A cute male puppy that it is already vaccinated.', |
| | 53 | NOW() |
| | 54 | ) |
| | 55 | RETURNING listing_id; |
| | 56 | }}} |
| | 57 | |
| | 58 | |
| | 59 | |
| | 60 | |
| | 61 | |