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