Given the user is not authenticated
When any view renders
Then the Sell a Product affordance will not be visible
Given the user is authenticated
When the user clicks on the Sell a product button in the menu bar
Then the user will be presented with a product form
Given the user has filled in all fields of the product form with valid information
When the user clicks the Sell button
Then the user will be redirected to the product detail view for that product
Given the user has filled in all fields of the product form with any invalid information
When the user clicks the Sell button
Then the user will be immediately notified with error information for each invalid value
Is the local city entered as a string or is the city selected from a dropdown?
Location is a nullable field on product, saved as a string (not using user address)
Given the user is not authenticated When any view renders Then the Sell a Product affordance will not be visible
Given the user is authenticated When the user clicks on the Sell a product button in the menu bar Then the user will be presented with a product form
Given the user has filled in all fields of the product form with valid information When the user clicks the Sell button Then the user will be redirected to the product detail view for that product
Given the user has filled in all fields of the product form with any invalid information When the user clicks the Sell button Then the user will be immediately notified with error information for each invalid value