diff --git a/.bugster/.analysis_state.json b/.bugster/.analysis_state.json index 6159656..b03b87f 100644 --- a/.bugster/.analysis_state.json +++ b/.bugster/.analysis_state.json @@ -1,8 +1,8 @@ { "status": "completed", - "started_at": "2025-07-11T15:00:51.174589", + "started_at": "2025-07-11T18:59:22.087577", "version": "1.0", "completed": true, - "completed_at": "2025-07-11T15:01:36.816131", - "duration_seconds": 45.641555 + "completed_at": "2025-07-11T18:59:54.916205", + "duration_seconds": 32.828634 } \ No newline at end of file diff --git a/.bugster/config.yaml b/.bugster/config.yaml new file mode 100644 index 0000000..eebeb5f --- /dev/null +++ b/.bugster/config.yaml @@ -0,0 +1,5 @@ +base_url: http://localhost:3000 +credentials: [] +project_id: O0QdJvpOlhKg1h65mlwx +project_name: bugster-nextjs-example +x-vercel-protection-bypass: 'WomLYpGCtW4jPpUwbRv0pzZ8Y3zgUhkz' diff --git a/.bugster/next/analysis.json b/.bugster/next/analysis.json index 3e4211d..6f8363e 100644 --- a/.bugster/next/analysis.json +++ b/.bugster/next/analysis.json @@ -1,17 +1,17 @@ { "metadata": { - "timestamp": 1752256861.4664378, + "timestamp": 1752271171.664486, "version": 2, "git": { "branch": "main", - "commit": "e5a609bae1dd6c284cad0c163cc5a9ecbe4dbe38" + "commit": "e3cf3692d82ecbecd44e6b1e84f166c59e830c6f" } }, "data": { "framework": { "id": "next", "name": "Next.js", - "dir_path": "/Users/giovaborgogno/repos/bugster/shirt-shop-example/" + "dir_path": "/Users/facundolopezscala/coding-repos/demo-bugster-ecommerce/bugster-nextjs-example/" }, "router_type": "app", "stats": { @@ -27,12 +27,12 @@ "relative_dir_path": "app", "content": "import { VercelToolbar } from '@vercel/toolbar/next';\nimport { Analytics } from '@vercel/analytics/next';\nimport type { Metadata } from 'next';\nimport { Toaster } from 'sonner';\n\nimport './globals.css';\nimport { FreeDelivery } from '@/app/free-delivery';\nimport { Footer } from '@/components/footer';\nimport { Navigation } from '@/components/navigation';\n\nexport const metadata: Metadata = {\n title: 'Shirt Shop Example',\n description: 'A shirt shop example for Ecommerce',\n};\n\nexport default function RootLayout({\n children,\n}: Readonly<{\n children: React.ReactNode;\n}>) {\n const showFreeDeliveryBanner = true;\n\n return (\n \n \n
\n \n \n {children}\n
\n \n \n \n \n \n );\n}\n", "components": [ - "Analytics", "Footer", - "Toaster", "FreeDelivery", - "Navigation", - "VercelToolbar" + "Analytics", + "VercelToolbar", + "Toaster", + "Navigation" ] } ], @@ -61,15 +61,15 @@ "function" ], "components": [ - "ProductHeader", - "ProductDetails", - "SizePicker", - "Main", "ColorPicker", + "SizePicker", + "ProductDetails", "AddToCart", + "ProductHeader", "SummerSale", + "ProductDetailPageProvider", "ImageGallery", - "ProductDetailPageProvider" + "Main" ], "hasParams": false, "hasForm": false, diff --git a/.bugster/project.json b/.bugster/project.json index 760f00c..4f12c44 100644 --- a/.bugster/project.json +++ b/.bugster/project.json @@ -1,10 +1,10 @@ { "metadata": { - "timestamp": 1752256854938, + "timestamp": 1752271165315, "version": 2, "git": { "branch": "main", - "commit": "e5a609bae1dd6c284cad0c163cc5a9ecbe4dbe38" + "commit": "e3cf3692d82ecbecd44e6b1e84f166c59e830c6f" } }, "data": { @@ -12,7 +12,7 @@ { "id": "next", "name": "Next.js", - "dir_path": "/Users/giovaborgogno/repos/bugster/shirt-shop-example/" + "dir_path": "/Users/facundolopezscala/coding-repos/demo-bugster-ecommerce/bugster-nextjs-example/" } ] } diff --git a/.bugster/tests/1_product_browsing_on_homepage.yaml b/.bugster/tests/1_product_browsing_on_homepage.yaml index 6568c90..ae80653 100644 --- a/.bugster/tests/1_product_browsing_on_homepage.yaml +++ b/.bugster/tests/1_product_browsing_on_homepage.yaml @@ -7,5 +7,7 @@ steps: - Verify product images are visible in the gallery - Verify product name and price are displayed - Verify product description is visible +- Click the 'Add to Cart' button +- Verify redirection to the cart page without seeing click counter information expected_result: Product details including images, name, price, and description are - displayed correctly + displayed correctly without click counter functionality diff --git a/.bugster/tests/247327_verify_add-to-cart_button_without_click_counter.yaml b/.bugster/tests/247327_verify_add-to-cart_button_without_click_counter.yaml new file mode 100644 index 0000000..c19d181 --- /dev/null +++ b/.bugster/tests/247327_verify_add-to-cart_button_without_click_counter.yaml @@ -0,0 +1,16 @@ +name: Verify add-to-cart button without click counter +page: HomePage +page_path: app/page.tsx +task: Verify the Add to Cart button functions correctly without displaying click counter + information +steps: +- Navigate to the homepage +- Select a color option +- Select a size option +- Click the 'Add to cart' button +- Verify the button enters a loading state +- Verify there is no click counter displayed below the button +- Verify user is redirected to the cart page +- Verify the URL is /cart +expected_result: User should be able to add product to cart without seeing any click + count information diff --git a/.bugster/tests/2_add_product_to_cart.yaml b/.bugster/tests/2_add_product_to_cart.yaml index 831fa48..cbf5fec 100644 --- a/.bugster/tests/2_add_product_to_cart.yaml +++ b/.bugster/tests/2_add_product_to_cart.yaml @@ -7,5 +7,6 @@ steps: - Select a color option - Select a size option - Click the 'Add to cart' button -- Verify success notification appears -expected_result: Product is added to cart and success notification appears +- Verify redirection to the cart page +- Verify the URL is /cart +expected_result: Product is added to cart and user is redirected to the cart page diff --git a/.bugster/tests/333532_color_selection_changes_product_image.yaml b/.bugster/tests/333532_color_selection_changes_product_image.yaml new file mode 100644 index 0000000..18780f0 --- /dev/null +++ b/.bugster/tests/333532_color_selection_changes_product_image.yaml @@ -0,0 +1,13 @@ +name: Color selection changes product image +page: / +page_path: app/page.tsx +task: Verify selecting different colors updates the product image +steps: +- Navigate to the homepage +- Observe the initial product image +- Select a different color option +- Verify the product image changes to show the product in the selected color +- Click the 'Add to cart' button +- Verify user is redirected to the cart page without seeing click count information +expected_result: Product image changes to reflect the selected color without showing + click count information diff --git a/.bugster/tests/342968_size_availability_indication.yaml b/.bugster/tests/342968_size_availability_indication.yaml new file mode 100644 index 0000000..ed89e13 --- /dev/null +++ b/.bugster/tests/342968_size_availability_indication.yaml @@ -0,0 +1,18 @@ +name: Size availability indication +page: / +page_path: app/page.tsx +task: Verify size availability is correctly indicated +steps: +- Navigate to the homepage +- Locate the size picker section +- Observe which sizes are marked as available or unavailable +- Attempt to select an unavailable size +- Verify that unavailable sizes cannot be selected +- Select an available size +- Verify it can be selected successfully +- Click the 'Add to cart' button +- Verify that button transitions to loading state +- Verify navigation redirects to the cart page without showing a click counter +expected_result: Available sizes are selectable while unavailable sizes are disabled + or marked, and selection of available size allows direct addition to cart without + displaying click counter diff --git a/.bugster/tests/3_navigation_to_cart_page.yaml b/.bugster/tests/3_navigation_to_cart_page.yaml index 04ea1f2..45fbcf4 100644 --- a/.bugster/tests/3_navigation_to_cart_page.yaml +++ b/.bugster/tests/3_navigation_to_cart_page.yaml @@ -4,7 +4,11 @@ page_path: app/page.tsx task: Verify users can navigate to cart page from the navigation menu steps: - Navigate to the homepage -- Click on the cart icon in the navigation bar -- Verify redirect to cart page +- Select a color option +- Select a size option +- Click the 'Add to cart' button +- Verify automatic redirect to cart page - Verify the URL is /cart -expected_result: User is redirected to the cart page +- Verify there is no click counter displayed +expected_result: User is redirected to the cart page directly after adding product + to cart diff --git a/.bugster/tests/515454_navigation_menu_functionality.yaml b/.bugster/tests/515454_navigation_menu_functionality.yaml new file mode 100644 index 0000000..e390547 --- /dev/null +++ b/.bugster/tests/515454_navigation_menu_functionality.yaml @@ -0,0 +1,13 @@ +name: Navigation menu functionality +page: / +page_path: app/page.tsx +task: Verify navigation menu links work correctly +steps: +- Navigate to the homepage +- Locate the navigation menu +- Click on the brand logo/name +- Verify it navigates to the homepage +- Click on the cart icon +- Verify it navigates to the cart page without showing any click counter +expected_result: All navigation links direct to the correct pages without displaying + click count diff --git a/.bugster/tests/616364_free_delivery_banner_visibility.yaml b/.bugster/tests/616364_free_delivery_banner_visibility.yaml new file mode 100644 index 0000000..380eccd --- /dev/null +++ b/.bugster/tests/616364_free_delivery_banner_visibility.yaml @@ -0,0 +1,11 @@ +name: Free delivery banner visibility +page: / +page_path: app/page.tsx +task: Verify the free delivery banner is visible on the homepage +steps: +- Navigate to the homepage +- Observe the top section of the page +- Verify the free delivery banner is visible +- Verify the banner contains the correct delivery information +expected_result: Free delivery banner is displayed at the top of the page with correct + information diff --git a/.bugster/tests/933440_error_handling_for_adding_to_cart_without_selecting_options.yaml b/.bugster/tests/933440_error_handling_for_adding_to_cart_without_selecting_options.yaml new file mode 100644 index 0000000..df7a8ae --- /dev/null +++ b/.bugster/tests/933440_error_handling_for_adding_to_cart_without_selecting_options.yaml @@ -0,0 +1,13 @@ +name: Error handling for adding to cart without selecting options +page: / +page_path: app/page.tsx +task: Verify proper error handling when adding to cart without required selections +steps: +- Navigate to the homepage +- Do not select any color option +- Do not select any size option +- Click the 'Add to cart' button +- Verify no error message appears +- Verify user is redirected to the '/cart' page +expected_result: User is redirected to the cart page without any error notification, + even when attempting to add product without selecting required options diff --git a/.bugster/tests/978422_summer_sale_banner_visibility_and_interaction.yaml b/.bugster/tests/978422_summer_sale_banner_visibility_and_interaction.yaml new file mode 100644 index 0000000..71c10d6 --- /dev/null +++ b/.bugster/tests/978422_summer_sale_banner_visibility_and_interaction.yaml @@ -0,0 +1,12 @@ +name: Summer sale banner visibility and interaction +page: / +page_path: app/page.tsx +task: Verify the summer sale banner is visible and interactive +steps: +- Navigate to the homepage +- Locate the summer sale banner +- Verify sale information is correctly displayed +- Click on any buttons or links in the banner +- Verify redirection to the cart page with URL /cart +expected_result: Summer sale banner displays correctly and redirects to cart page + when interacted with diff --git a/.bugster/tests/cart/3_update_product_quantity_in_cart.yaml b/.bugster/tests/cart/3_update_product_quantity_in_cart.yaml new file mode 100644 index 0000000..b3aaf00 --- /dev/null +++ b/.bugster/tests/cart/3_update_product_quantity_in_cart.yaml @@ -0,0 +1,13 @@ +name: Update product quantity in cart +page: cart +page_path: app/cart/page.tsx +task: Verify users can update the quantity of items in their cart +steps: +- Add a product to cart from the homepage +- Navigate to the cart page +- Find the quantity selector for the cart item +- Increase the quantity by one +- Verify the quantity has been updated +- Verify the cart total price has been updated accordingly +expected_result: The quantity should be updated and cart total should reflect the + change diff --git a/.bugster/tests/cart/4_proceed_to_checkout_from_cart_page.yaml b/.bugster/tests/cart/4_proceed_to_checkout_from_cart_page.yaml new file mode 100644 index 0000000..2207e51 --- /dev/null +++ b/.bugster/tests/cart/4_proceed_to_checkout_from_cart_page.yaml @@ -0,0 +1,11 @@ +name: Proceed to checkout from cart page +page: cart +page_path: app/cart/page.tsx +task: Verify users can proceed to checkout from the cart page +steps: +- Add a product to cart from the homepage +- Navigate to the cart page +- Verify the 'Proceed to Checkout' button is visible +- Click the 'Proceed to Checkout' button +- Verify the checkout process begins +expected_result: User is directed to the checkout process diff --git a/.bugster/tests/cart/5_view_order_summary_in_cart.yaml b/.bugster/tests/cart/5_view_order_summary_in_cart.yaml new file mode 100644 index 0000000..391cf15 --- /dev/null +++ b/.bugster/tests/cart/5_view_order_summary_in_cart.yaml @@ -0,0 +1,13 @@ +name: View order summary in cart +page: cart +page_path: app/cart/page.tsx +task: Verify users can view the order summary in the cart page +steps: +- Add multiple products to cart from the homepage +- Navigate to the cart page +- Locate the order summary section +- Verify subtotal matches the sum of all items +- Verify shipping costs are displayed +- Verify taxes are calculated correctly +- Verify the total amount is the sum of subtotal, shipping, and taxes +expected_result: Order summary shows correct subtotal, shipping, taxes, and total diff --git a/.bugster/tests/cart/6_empty_cart_messaging.yaml b/.bugster/tests/cart/6_empty_cart_messaging.yaml new file mode 100644 index 0000000..d565706 --- /dev/null +++ b/.bugster/tests/cart/6_empty_cart_messaging.yaml @@ -0,0 +1,11 @@ +name: Empty cart messaging +page: cart +page_path: app/cart/page.tsx +task: Verify appropriate messaging is displayed when cart is empty +steps: +- Navigate to the cart page with an empty cart +- Verify empty cart message is displayed +- Verify there is a 'Continue Shopping' link or button +- Click on 'Continue Shopping' +- Verify user is redirected to the homepage +expected_result: Empty cart message is displayed with option to continue shopping diff --git a/app/add-to-cart.tsx b/app/add-to-cart.tsx index 7ac23ee..a7f9cd3 100644 --- a/app/add-to-cart.tsx +++ b/app/add-to-cart.tsx @@ -24,7 +24,7 @@ export function AddToCart() { track('add_to_cart:clicked'); await addToCart({ id: 'shirt', color, size, quantity: 1 }); router.push('/cart'); - }} + }} /> ); } \ No newline at end of file