Skip to content

Commit

Permalink
OP-291: Refactor behats
Browse files Browse the repository at this point in the history
  • Loading branch information
hmfilar committed Jul 26, 2024
1 parent 6d7a7dd commit 95e2ac5
Show file tree
Hide file tree
Showing 17 changed files with 450 additions and 481 deletions.
28 changes: 14 additions & 14 deletions features/adding_product_to_selected_wishlist.feature
Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
@wishlist
Feature: Adding a product to selected wishlist
In order to compare or buy products later
As a Visitor
I want to be able to add products to one of my wishlists
In order to compare or buy products later
As a Visitor
I want to be able to add products to one of my wishlists

Background:
Given the store operates on a single channel in "United States"
Given I am on "/"
Background:
Given the store operates on a single channel in "United States"
Given I am on "/"

@ui
Scenario: Adding a product to selected wishlist
And the store has a wishlist named "Wishlist1"
And the store has a wishlist named "Wishlist2"
And the store has a product "Jack Daniels Gentleman" priced at "$10.00"
And all store products appear under a main taxonomy
And I add "Jack Daniels Gentleman" to selected wishlist "Wishlist2"
And I should have "Jack Daniels Gentleman" in selected wishlists "Wishlist2"
@ui
Scenario: Adding a product to selected wishlist
And the store has a wishlist named "Wishlist1"
And the store has a wishlist named "Wishlist2"
And the store has a product "Jack Daniels Gentleman" priced at "$10.00"
And all store products appear under a main taxonomy
And I add "Jack Daniels Gentleman" to selected wishlist "Wishlist2"
And I should have "Jack Daniels Gentleman" in selected wishlists "Wishlist2"
158 changes: 116 additions & 42 deletions features/adding_product_to_wishlist.feature
Original file line number Diff line number Diff line change
@@ -1,43 +1,117 @@
@wishlist
@wishlist @api_wishlist
Feature: Adding a product to wishlist
In order to compare or buy products later
As a Visitor
I want to be able to add products to my wishlist

Background:
Given the store operates on a single channel in "United States"

@ui
Scenario: Adding a product to wishlist
Given the store has a product "Jack Daniels Gentleman" priced at "$10.00"
And all store products appear under a main taxonomy
When I add this product to wishlist
Then I should be notified that the product has been successfully added to my wishlist
And I should have one item in my wishlist

@ui
Scenario: Adding a product variant to wishlist
Given the store has a product "Some other whiskey" priced at "$25.00"
And all store products appear under a main taxonomy
When I view product "Some other whiskey"
And I add this product to wishlist
Then I should be notified that the product has been successfully added to my wishlist
And I should have one item in my wishlist

@ui
Scenario: Adding a product as anon user and signing in
Given the store has a product "Jimmy Beammy" priced at "$233.00"
And the store has a product "Ice ball" priced at "$144.00"
And all store products appear under a main taxonomy
When I add "Jimmy Beammy" product to my wishlist
And I log in to my account which already has "Ice ball" product in the wishlist
Then I should have 2 products in my wishlist

@ui
Scenario: Adding a wishlist product signing in and out and in
Given the store has a product "Red Roses" priced at "$12.00"
And I have this product in my wishlist
When I log in
And I log out
And I log in again
Then I should have one item in my wishlist
In order to compare or buy products later
As a Visitor
I want to be able to add products to my wishlist

Background:
Given the store operates on a single channel in "United States"

@ui
Scenario: Adding a product to wishlist
Given the store has a product "Jack Daniels Gentleman" priced at "$10.00"
And all store products appear under a main taxonomy
When I add this product to wishlist
Then I should be notified that the product has been successfully added to my wishlist
And I should have one item in my wishlist

@ui
Scenario: Adding a product variant to wishlist
Given the store has a product "Some other whiskey" priced at "$25.00"
And all store products appear under a main taxonomy
When I view product "Some other whiskey"
And I add this product to wishlist
Then I should be notified that the product has been successfully added to my wishlist
And I should have one item in my wishlist

@ui
Scenario: Adding a product as anon user and signing in
Given the store has a product "Jimmy Beammy" priced at "$233.00"
And the store has a product "Ice ball" priced at "$144.00"
And all store products appear under a main taxonomy
When I add "Jimmy Beammy" product to my wishlist
And I log in to my account which already has "Ice ball" product in the wishlist
Then I should have 2 products in my wishlist

@ui
Scenario: Adding a wishlist product signing in and out and in
Given the store has a product "Red Roses" priced at "$12.00"
And I have this product in my wishlist
When I log in
And I log out
And I log in again
Then I should have one item in my wishlist

@api
Scenario: Adding a product to wishlist with API as an anonymous user
Given user has a wishlist
And the store has a product "Jack Daniels Gentleman" priced at "$10.00"
When user adds product "Jack Daniels Gentleman" to the wishlist
Then user should have product "Jack Daniels Gentleman" in the wishlist

@api
Scenario: Adding a product to wishlist with API as an authenticated user
Given there is a user "test@example.com"
And user "test@example.com" "sylius" is authenticated
And the store has a product "Jack Daniels Gentleman" priced at "$10.00"
When user has a wishlist
And user adds product "Jack Daniels Gentleman" to the wishlist
Then user should have product "Jack Daniels Gentleman" in the wishlist

@api
Scenario: Anonymous user tries to add product to another user's wishlist with API
Given there is a user "test@example.com"
And user "test@example.com" "sylius" is authenticated
And the store has a product "Jack Daniels Gentleman" priced at "$10.00"
When user has a wishlist
And user is unauthenticated
Then user tries to add product "Jack Daniels Gentleman" to the wishlist

@api
Scenario: Authenticated user tries to add product to another user's wishlist with API
Given there is a user "test@example.com"
And user "test@example.com" "sylius" is authenticated
And the store has a product "Jack Daniels Gentleman" priced at "$10.00"
When user has a wishlist
And there is a user "test1@example.com"
And user "test1@example.com" "sylius" is authenticated
Then user tries to add product "Jack Daniels Gentleman" to the wishlist

@api
Scenario: Adding a product variant to wishlist with API as an anonymous user
Given user has a wishlist
And the store has a product "Jack Daniels Gentleman" priced at "$10.00"
And the product "Jack Daniels Gentleman" has a "700ML" variant priced at "$10.00"
When user adds "700ML" product variant to the wishlist
Then user should have "700ML" product variant in the wishlist

@api
Scenario: Adding a product variant to wishlist with API as an authenticated user
Given there is a user "test@example.com"
And user "test@example.com" "sylius" is authenticated
And user has a wishlist
And the store has a product "Jack Daniels Gentleman" priced at "$10.00"
And the product "Jack Daniels Gentleman" has a "700ML" variant priced at "$10.00"
When user adds "700ML" product variant to the wishlist
Then user should have "700ML" product variant in the wishlist

@api
Scenario: Anonymous user tries to add product variant to another user's wishlist with API
Given there is a user "test@example.com"
And user "test@example.com" "sylius" is authenticated
And the store has a product "Jack Daniels Gentleman" priced at "$10.00"
And the product "Jack Daniels Gentleman" has a "700ML" variant priced at "$10.00"
When user has a wishlist
And user is unauthenticated
Then user tries to add "700ML" product variant to the wishlist

@api
Scenario: Authenticated user tries to add product to another user's wishlist with API
Given there is a user "test@example.com"
And user "test@example.com" "sylius" is authenticated
And the store has a product "Jack Daniels Gentleman" priced at "$10.00"
And the product "Jack Daniels Gentleman" has a "700ML" variant priced at "$10.00"
When user has a wishlist
And there is a user "test1@example.com"
And user "test1@example.com" "sylius" is authenticated
Then user tries to add "700ML" product variant to the wishlist
39 changes: 37 additions & 2 deletions features/adding_product_to_wishlist_on_multiple_channels.feature
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
@wishlist
@wishlist @api_wishlist
Feature: Adding a product to wishlist
In order to compare or buy products later
As a Visitor
Expand All @@ -12,7 +12,7 @@ Feature: Adding a product to wishlist
And all store products appear under a main taxonomy

@ui
Scenario: Adding product to wishlist in the first channel checking wishlist on the second channel.
Scenario: Adding product to wishlist in the first channel checking wishlist on the second channel
Given I change my current channel to "Web-EU"
When I add "Leprechaun's Silver" product to my wishlist
And I should be notified that the product has been successfully added to my wishlist
Expand Down Expand Up @@ -65,3 +65,38 @@ Feature: Adding a product to wishlist
And I go to the wishlist page
And I should have one item in my wishlist

@api
Scenario: Adding product to wishlist with API in the first channel checking wishlist on the second channel
Given I am browsing channel "Web-EU"
And user has a wishlist
When user adds product "Leprechaun's Silver" to the wishlist in "Web-EU"
Then user should have product "Leprechaun's Silver" in the wishlist
Then I am browsing channel "Web-US"
And user has a wishlist in "Web-US"
Then user should have an empty wishlist in "Web-US"

@api
Scenario: Adding product to wishlisht with API on both channels
Given I change my current channel to "Web-EU"
And user has a wishlist in "Web-EU"
When user adds product "Leprechaun's Silver" to the wishlist in "Web-EU"
Then user should have product "Leprechaun's Silver" in the wishlist
Then I change my current channel to "Web-US"
And user has a wishlist in "Web-US"
When user adds product "Leprechaun's Gold" to the wishlist in "Web-US"
Then user should have product "Leprechaun's Gold" in the wishlist

@api
Scenario: Adding product to wishlist with API on both channels and removing from one channel
Given I change my current channel to "Web-EU"
And user has a wishlist in "Web-EU"
When user adds product "Leprechaun's Silver" to the wishlist in "Web-EU"
Then user should have product "Leprechaun's Silver" in the wishlist
Then I change my current channel to "Web-US"
And user has a wishlist in "Web-US"
When user adds product "Leprechaun's Gold" to the wishlist in "Web-US"
Then user should have product "Leprechaun's Gold" in the wishlist
Then user removes product "Leprechaun's Gold" from the wishlist
Then user should have an empty wishlist
And I change my current channel to "Web-EU"
Then user should have product "Leprechaun's Silver" in the wishlist on "Web-EU"
Loading

0 comments on commit 95e2ac5

Please sign in to comment.