From 8eccdd5422f0dccc24f474fc06a14b21465e7452 Mon Sep 17 00:00:00 2001 From: roost-io Date: Thu, 27 Nov 2025 12:19:38 +0000 Subject: [PATCH] Functional test generated by RoostGPT Using AI Model gemini-2.5-pro-preview-05-06 --- functional_tests/README.md | 18 ++++ .../.roost/roost_metadata.json | 24 +++++ .../systemAnalysis_clone_clone_clone.csv | 4 + .../systemAnalysis_clone_clone_clone.feature | 101 ++++++++++++++++++ 4 files changed, 147 insertions(+) create mode 100644 functional_tests/systemAnalysis_clone_clone_clone/.roost/roost_metadata.json create mode 100644 functional_tests/systemAnalysis_clone_clone_clone/systemAnalysis_clone_clone_clone.csv create mode 100644 functional_tests/systemAnalysis_clone_clone_clone/systemAnalysis_clone_clone_clone.feature diff --git a/functional_tests/README.md b/functional_tests/README.md index 1c972b2..2a1ee92 100644 --- a/functional_tests/README.md +++ b/functional_tests/README.md @@ -65,3 +65,21 @@ --- +**Execution Date:** 11/27/2025, 12:19:38 PM + +**Test Unique Identifier:** "systemAnalysis_clone_clone_clone" + +**Input(s):** + 1. functiontestcases.txt + Path: /var/tmp/Roost/RoostGPT/systemAnalysis_clone_clone_clone/14144776-dd13-43ce-aa60-7a9049606fd2/functiontestcases.txt + 2. hebrew.docx + Path: /var/tmp/Roost/RoostGPT/systemAnalysis_clone_clone_clone/14144776-dd13-43ce-aa60-7a9049606fd2/hebrew.docx + +**Test Output Folder:** + 1. [systemAnalysis_clone_clone_clone.json](systemAnalysis_clone_clone_clone/systemAnalysis_clone_clone_clone.json) + 2. [systemAnalysis_clone_clone_clone.feature](systemAnalysis_clone_clone_clone/systemAnalysis_clone_clone_clone.feature) + 3. [systemAnalysis_clone_clone_clone.csv](systemAnalysis_clone_clone_clone/systemAnalysis_clone_clone_clone.csv) + 4. [systemAnalysis_clone_clone_clone.xlsx](systemAnalysis_clone_clone_clone/systemAnalysis_clone_clone_clone.xlsx) + +--- + diff --git a/functional_tests/systemAnalysis_clone_clone_clone/.roost/roost_metadata.json b/functional_tests/systemAnalysis_clone_clone_clone/.roost/roost_metadata.json new file mode 100644 index 0000000..91df50e --- /dev/null +++ b/functional_tests/systemAnalysis_clone_clone_clone/.roost/roost_metadata.json @@ -0,0 +1,24 @@ +{ + "project": { + "name": "systemAnalysis_clone_clone_clone", + "created_at": "2025-11-27T12:19:38.136Z", + "updated_at": "2025-11-27T12:19:38.136Z" + }, + "files": { + "input_files": [ + { + "fileName": "functiontestcases.txt", + "fileURI": "/var/tmp/Roost/RoostGPT/systemAnalysis_clone_clone_clone/14144776-dd13-43ce-aa60-7a9049606fd2/functional_tests/systemAnalysis_clone_clone_clone/functiontestcases.txt", + "fileSha": "2d31ee1131" + }, + { + "fileName": "hebrew.docx", + "fileURI": "/var/tmp/Roost/RoostGPT/systemAnalysis_clone_clone_clone/14144776-dd13-43ce-aa60-7a9049606fd2/functional_tests/systemAnalysis_clone_clone_clone/hebrew.docx", + "fileSha": "a3da2e9197" + } + ] + }, + "api_files": { + "input_files": [] + } +} \ No newline at end of file diff --git a/functional_tests/systemAnalysis_clone_clone_clone/systemAnalysis_clone_clone_clone.csv b/functional_tests/systemAnalysis_clone_clone_clone/systemAnalysis_clone_clone_clone.csv new file mode 100644 index 0000000..5311a1c --- /dev/null +++ b/functional_tests/systemAnalysis_clone_clone_clone/systemAnalysis_clone_clone_clone.csv @@ -0,0 +1,4 @@ +"תהליך רכישה מלא עם שדות חסרים ושיטת תשלום לא תקינה" +"ולידציה על שדות חובה בעמוד התשלום" +"הוספת מוצרים שונים לסל הקניות דרך ה-API" +"ניסיון ביצוע הזמנה עם נתונים חסרים דרך ה-API" diff --git a/functional_tests/systemAnalysis_clone_clone_clone/systemAnalysis_clone_clone_clone.feature b/functional_tests/systemAnalysis_clone_clone_clone/systemAnalysis_clone_clone_clone.feature new file mode 100644 index 0000000..5bbd6c5 --- /dev/null +++ b/functional_tests/systemAnalysis_clone_clone_clone/systemAnalysis_clone_clone_clone.feature @@ -0,0 +1,101 @@ +# language: he +Feature: רכישת מוצר באתר המסחר האלקטרוני + + בדיקת תהליך רכישת מוצר מקצה לקצה, כולל ניווט, הוספה לסל, מילוי פרטים בקופה וטיפול בשגיאות. + + # =================================================== + # UI Tests - בדיקות ממשק משתמש + # =================================================== + + @ui + Scenario: תהליך רכישה מלא עם שדות חסרים ושיטת תשלום לא תקינה + Given אני נמצא בעמוד הבית + When אני לוחץ על כפתור "SHOP NOW" בקטגוריית "Latest Eyewear For You" + And אני מנווט לעמוד מוצרים מספר 2 + And אני בוחר במוצר "Red Hoodie" + And אני מוסיף את המוצר לסל הקניות + And אני לוחץ על כפתור "VIEW CART" + And אני בוחר בשיטת משלוח "Local pickup" + And אני בוחר בשיטת משלוח "Delivery Express" + And אני בוחר בשיטת משלוח "Registered Mail" + And אני לוחץ על כפתור "PROCEED TO CHECKOUT" + And אני ממלא את כל פרטי החיוב למעט מיקוד + | שדה | ערך | + | First name | ישראל | + | Last name | ישראלי | + | Street address| הרצל 10 | + | Town / City | תל אביב | + | Phone | 0501234567 | + | Email address | test@test.com | + And אני לוחץ על כפתור "PLACE ORDER" + Then אני אמור לראות הודעת שגיאה "Billing Postcode / ZIP is a required field." + When אני ממלא את השדה "Postcode / ZIP" עם הערך "55555" + And אני לוחץ שוב על כפתור "PLACE ORDER" + Then אני אמור לראות הודעת שגיאה "Invalid payment method." + + @ui @validation + Scenario Outline: ולידציה על שדות חובה בעמוד התשלום + Given הוספתי את המוצר "Red Hoodie" לסל ואני נמצא בעמוד התשלום + When אני ממלא את כל פרטי החיוב הנדרשים פרט לשדה "" + And אני לוחץ על כפתור "PLACE ORDER" + Then אני אמור לראות את הודעת השגיאה "" + + Examples: + | field_to_omit | error_message | + | First name | "Billing First name is a required field." | + | Last name | "Billing Last name is a required field." | + | Street address | "Billing Street address is a required field." | + | Town / City | "Billing Town / City is a required field." | + | Postcode / ZIP | "Billing Postcode / ZIP is a required field." | + | Phone | "Billing Phone is a required field." | + | Email address | "Billing Email address is a required field." | + + # =================================================== + # API Tests - בדיקות API + # =================================================== + + Background: + Given נקודת הגישה הבסיסית של ה-API היא "https://automation.future/api/v1" + And קיים טוקן אימות (Authorization token) תקף למערכת + + @api @cart + Scenario Outline: הוספת מוצרים שונים לסל הקניות דרך ה-API + When אני שולח בקשת "POST" לנקודת הקצה "/cart/add-item" עם המטען הבא + ''' + { + "product_id": , + "quantity": + } + ''' + Then קוד התגובה צריך להיות + And גוף התגובה צריך לאשר שהמוצר נוסף בהצלחה או להכיל הודעת שגיאה מתאימה + + Examples: בדיקות חיוביות + | product_id | quantity | response_code | + | 1497 | 1 | 200 | + | 1497 | 5 | 200 | + | 1501 | 2 | 200 | + + Examples: בדיקות שליליות וערכי קצה + | product_id | quantity | response_code | + | 1497 | 0 | 400 | + | 1497 | -1 | 400 | + | 99999 | 1 | 404 | + | "abc" | 1 | 400 | + + @api @checkout + Scenario Outline: ניסיון ביצוע הזמנה עם נתונים חסרים דרך ה-API + Given הוספתי מוצר לסל הקניות דרך ה-API + When אני שולח בקשת "POST" לנקודת הקצה "/checkout" עם מטען חסר בפרט "" + ''' + + ''' + Then קוד התגובה צריך להיות 400 + And גוף התגובה צריך להכיל את הודעת השגיאה "" + + Examples: + | missing_field | error_message | payload - + | "first_name" | "first_name is a required field" | {"billing": {"last_name": "ישראלי", "address_1": "הרצל 10", "city": "תל אביב", "postcode": "55555", "country": "IL", "email": "test@test.com", "phone": "0501234567"}, "payment_method": "bacs"} | + | "postcode" | "postcode is a required field" | {"billing": {"first_name": "ישראל", "last_name": "ישראלי", "address_1": "הרצל 10", "city": "תל אביב", "country": "IL", "email": "test@test.com", "phone": "0501234567"}, "payment_method": "bacs"} | + | "email" | "email is a required field" | {"billing": {"first_name": "ישראל", "last_name": "ישראלי", "address_1": "הרצל 10", "city": "תל אביב", "postcode": "55555", "country": "IL", "phone": "0501234567"}, "payment_method": "bacs"} | + | "payment_method" | "Invalid payment method." | {"billing": {"first_name": "ישראל", "last_name": "ישראלי", "address_1": "הרצל 10", "city": "תל אביב", "postcode": "55555", "country": "IL", "email": "test@test.com", "phone": "0501234567"}, "payment_method": "invalid_method"} |