otwarchive-symphonyarchive/features/prompt_memes_a/challenge_promptmeme_setup.feature
2026-03-11 22:22:11 +00:00

490 lines
17 KiB
Gherkin

@collections @challenges @promptmemes
Feature: Prompt Meme Challenge
In order to have an archive full of works
As a humble user
I want to create a prompt meme and post to it
Scenario: Can create a collection to house a prompt meme
Given I have standard challenge tags setup
When I set up Battle 12 promptmeme collection
Then I should be editing the challenge settings
Scenario: Creating a prompt meme has different instructions from a gift exchange
Given I have standard challenge tags setup
When I set up Battle 12 promptmeme collection
Then I should see prompt meme options
Scenario: Create a prompt meme
Given I have standard challenge tags setup
When I create Battle 12 promptmeme
Then Battle 12 prompt meme should be correctly created
Scenario: User can see a prompt meme
Given I have Battle 12 prompt meme fully set up
And I am logged in as a random user
When I go to the collections page
Then I should see "Battle 12"
Scenario: Prompt meme is in list of open challenges
Given I have Battle 12 prompt meme fully set up
And I am logged in as a random user
When I view open challenges
Then I should see "Battle 12"
Scenario: Prompt meme is also in list of open prompt meme challenges
Given I have Battle 12 prompt meme fully set up
And I am logged in as a random user
When I view open challenges
And I follow "Prompt Meme Challenges"
Then I should see "Battle 12"
Scenario: Past challenge is not in list of open challenges
Given I am logged in as "mod1"
And I have standard challenge tags setup
When I set up Battle 12 promptmeme collection
And I fill in past challenge options
And I am logged in as "myname1"
When I view open challenges
Then I should not see "Battle 12"
Scenario: Future challenge is not in list of open challenges
Given I am logged in as "mod1"
And I have standard challenge tags setup
When I set up Battle 12 promptmeme collection
And I fill in future challenge options
And I am logged in as "myname1"
When I view open challenges
Then I should not see "Battle 12"
Scenario: Can access settings from profile navigation
Given I have Battle 12 prompt meme fully set up
When I go to "Battle 12" collection's page
And I follow "Profile"
Then I should see "Challenge Settings" within "div#dashboard"
When I follow "Challenge Settings" within "div#dashboard"
Then I should be editing the challenge settings
Scenario: Can edit settings for a prompt meme
Given I have Battle 12 prompt meme fully set up
And I am logged in as "mod1"
When I edit settings for "Battle 12" challenge
Then I should be editing the challenge settings
Scenario: Entering a greater number for required prompts than allowed prompts
automatically increases the number of allowed promps
Given I set up Battle 12 promptmeme collection
When I require 3 prompts
And I allow 2 prompts
And I press "Submit"
Then I should see a success message
When I edit settings for "Battle 12" challenge
Then 3 prompts should be required
And 3 prompts should be allowed
Scenario: Sign-up being open is shown on profile
Given I have Battle 12 prompt meme fully set up
And I am logged in as a random user
When I go to "Battle 12" collection's page
And I follow "Profile"
Then I should see "Sign-up: Open"
Scenario: User can see profile descriptions
Given I have Battle 12 prompt meme fully set up
And I am logged in as "myname1"
When I go to "Battle 12" collection's page
When I follow "Profile"
Then I should see Battle 12 descriptions
Scenario: Sign up for a prompt meme
Given I have Battle 12 prompt meme fully set up
And I am logged in as "myname1"
When I go to "Battle 12" collection's page
Then I should see "Sign Up"
When I sign up for Battle 12 with combination A
Then I should see "Sign-up was successfully created"
And I should see "Prompts (2)"
And I should see the whole signup
Scenario: Sign up for a prompt meme and miss out some fields
Given I have Battle 12 prompt meme fully set up
And I am logged in as "myname1"
When I sign up for "Battle 12" with missing prompts
Then I should see "Request: Your Request must include exactly 1 fandom tags, but you have included 0 fandom tags in your current Request"
When I fill in the missing prompt
Then I should see "Sign-up was successfully created"
Scenario: Correct number of signups is shown in user sidebar
Given I have Battle 12 prompt meme fully set up
And I am logged in as "myname1"
When I sign up for Battle 12 with combination A
When I am on myname1's user page
Then I should see "Sign-ups (1)"
Scenario: View signups in the dashboard
Given I have Battle 12 prompt meme fully set up
And I am logged in as "myname1"
When I sign up for Battle 12 with combination A
When I am on myname1's signups page
Then I should see "Battle 12"
Scenario: Prompt count shows on profile
Given I have Battle 12 prompt meme fully set up
And I am logged in as "myname1"
When I sign up for Battle 12 with combination A
When I go to "Battle 12" collection's page
And I follow "Profile"
Then I should see "Prompts: 2"
# TODO: Was the claimed prompts count intentionally removed from profile?
# And I should see "Claimed prompts: 0"
Scenario: Prompt count shows on collections index
Given I have Battle 12 prompt meme fully set up
And I am logged in as "myname1"
When I sign up for Battle 12 with combination A
When I go to the collections page
Then I should see "Prompts: 2"
Scenario: Sign-ups in the dashboard have correct controls
Given I have Battle 12 prompt meme fully set up
And I am logged in as "myname1"
When I sign up for Battle 12 with combination A
When I am on myname1's signups page
Then I should see "Edit"
And I should see "Delete"
Scenario: Edit individual prompt
Given I have Battle 12 prompt meme fully set up
And I am logged in as "myname1"
When I sign up for Battle 12 with combination A
When I view my signup for "Battle 12"
When I follow "Edit Prompt"
Then I should see single prompt editing
And I should see "Edit Sign-up"
When I uncheck "Stargate Atlantis"
And I press "Update"
Then I should see "Sorry! We couldn't save this request because:"
And I should see "Your Request must include exactly 1 fandom tags"
Scenario: Add one new prompt to existing signup
Given I have Battle 12 prompt meme fully set up
And I am logged in as "myname1"
When I sign up for Battle 12 with combination A
And I add a new prompt to my signup
Then I should see "Prompt was successfully added"
And I should see "Request 3"
And I should see "My extra tag"
Scenario: Sort prompts by date
Given I have Battle 12 prompt meme fully set up
When I am logged in as "myname1"
When I sign up for Battle 12 with combination A
And I am logged in as "myname2"
When I sign up for Battle 12 with combination B
When I view prompts for "Battle 12"
And I follow "Date"
Then I should see "Something else weird"
Scenario: Sort prompts by fandom doesn't give error page
Given I have Battle 12 prompt meme fully set up
When I am logged in as "myname1"
When I sign up for Battle 12 with combination A
And I am logged in as "myname2"
When I sign up for Battle 12 with combination B
When I view prompts for "Battle 12"
And I follow "Fandom 1"
Then I should see "Something else weird"
Scenario: Sign up for a prompt meme with no tags
Given I have no-column prompt meme fully set up
When I am logged in as "myname1"
When I sign up for Battle 12 with combination E
Then I should see "Sign-up was successfully created"
Scenario: If there are no fandoms, prompt info on claims should show description or URL
Given I have no-column prompt meme fully set up
When I am logged in as "myname1"
When I sign up for Battle 12 with combination E
When I claim a prompt from "Battle 12"
# TODO: check design: regular user doesn't get link to unposted claims anymore
# When I view unposted claims for "Battle 12"
Then I should see "Weird description"
Scenario: Sort by fandom shouldn't show when there aren't any fandoms
Given I have no-column prompt meme fully set up
When I am logged in as "myname1"
And I sign up for Battle 12 with combination E
And I view prompts for "Battle 12"
# TODO: We need to check the display for fandomless memes
Then I should not see "Fandom 1"
Scenario: Claim a prompt and view claims on main page and user page
Given I have Battle 12 prompt meme fully set up
When I am logged in as "myname1"
When I sign up for Battle 12 with combination B
And I am logged in as "myname4"
And I claim a prompt from "Battle 12"
Then I should see a prompt is claimed
Scenario: Claim count shows on profile?
Given I have Battle 12 prompt meme fully set up
And I am logged in as "myname1"
When I sign up for Battle 12 with combination A
And I claim a prompt from "Battle 12"
When I go to "Battle 12" collection's page
And I follow "Profile"
Then I should see "Prompts: 2"
# TODO: have these been removed by design or by accident?
# And I should see "Claimed prompts: 1"
Scenario: Mod can view signups
Given I have Battle 12 prompt meme fully set up
And everyone has signed up for Battle 12
When I am logged in as "mod1"
And I go to "Battle 12" collection's page
And I follow "Prompts (8)"
Then I should see correct signups for Battle 12
Scenario: Mod can delete signups
Given I have Battle 12 prompt meme fully set up
When I am logged in as "myname1"
And I sign up for Battle 12 with combination B
When I am logged in as "mod1"
And I go to "Battle 12" collection's page
And I follow "Prompts ("
And I should see "Prompts for Battle 12"
When I follow "Delete Sign-up"
Then I should see "Challenge sign-up was deleted."
And I should see "Prompts (0)"
Scenario: Sign up with both prompts anon
Given I have Battle 12 prompt meme fully set up
When I am logged in as "myname1"
When I sign up for Battle 12 with combination B
Then I should see "Sign-up was successfully created"
Scenario: Sign up with neither prompt anon
Given I have Battle 12 prompt meme fully set up
When I am logged in as "myname1"
When I sign up for Battle 12 with combination A
Then I should see "Sign-up was successfully created"
Scenario: Sign up with one anon prompt and one not
Given I have Battle 12 prompt meme fully set up
When I am logged in as "myname1"
When I sign up for Battle 12 with combination C
Then I should see "Sign-up was successfully created"
Scenario: User has more than one pseud on signup form
Given "myname1" has the pseud "othername"
Given I have Battle 12 prompt meme fully set up
When I am logged in as "myname1"
When I start to sign up for "Battle 12"
Then I should see "othername"
Scenario: User changes pseud on a challenge signup
Given "myname1" has the pseud "othername"
Given I have Battle 12 prompt meme fully set up
When I am logged in as "myname1"
When I sign up for Battle 12 with combination A
Then I should see "Sign-up was successfully created"
And I should see "Sign-up for myname1"
When I edit my signup for "Battle 12"
Then I should see "othername"
When I select "othername" from "challenge_signup_pseud_id"
# two forms in this page, must specify which button to press
And I press "Update"
Then I should see "Sign-up was successfully updated"
Then I should see "Sign-up for othername (myname1)"
Scenario: Add more requests button disappears correctly from signup show page
Given I am logged in as "mod1"
And I have standard challenge tags setup
When I set up a basic promptmeme "Battle 12"
And I follow "Challenge Settings"
When I fill in multi-prompt challenge options
When I sign up for Battle 12 with combination D
And I add prompt 3
Then I should see "Add Prompt"
When I add prompt 4
Then I should not see "Add Prompt"
Scenario: Remove prompt button shouldn't show on Sign-ups
Given I have Battle 12 prompt meme fully set up
When I am logged in as "myname1"
When I sign up for Battle 12 with combination A
When I am on myname1's user page
When I follow "Sign-ups"
Then I should not see "Remove prompt"
Scenario: Mod can't edit signups
Given I have Battle 12 prompt meme fully set up
When I am logged in as "myname1"
When I sign up for Battle 12 with combination A
When I am logged in as "mod1"
And I view prompts for "Battle 12"
Then I should not see "Edit Sign-up"
Scenario: Mod cannot edit someone else's prompt
Given I have Battle 12 prompt meme fully set up
When I am logged in as "myname1"
When I sign up for Battle 12 with combination C
When I am logged in as "mod1"
# The next step just takes you to the 'Prompts' page
When I edit the first prompt
Then I should not see "Edit Prompt"
Scenario: Claim an anon prompt
Given I have Battle 12 prompt meme fully set up
When I am logged in as "myname4"
When I sign up for Battle 12 with combination B
When I go to "Battle 12" collection's page
And I follow "Prompts ("
When I press "Claim"
Then I should see "New claim made."
And I should see "by Anonymous"
And I should not see "myname" within "#main"
Scenario: Prompts are counted up correctly
Given I have Battle 12 prompt meme fully set up
When I am logged in as "myname1"
When I sign up for Battle 12 with combination A
Then I should see "Prompts (2)"
When I am logged in as "myname2"
When I sign up for Battle 12 with combination B
Then I should see "Prompts (4)"
Scenario: Claims are shown to mod
Given I have Battle 12 prompt meme fully set up
Given everyone has signed up for Battle 12
When I claim a prompt from "Battle 12"
When I close signups for "Battle 12"
Then claims are shown
Scenario: Claims are hidden from ordinary user
Given I have Battle 12 prompt meme fully set up
Given everyone has signed up for Battle 12
When I claim a prompt from "Battle 12"
When I close signups for "Battle 12"
When I am logged in as "myname4"
Then I should not see "Unposted Claims"
# TODO: they got really hidden, since ordinary user can't get to that page at all
# Then claims are hidden
Scenario: User cannot see unposted claims to delete
Given I have Battle 12 prompt meme fully set up
Given everyone has signed up for Battle 12
When I claim a prompt from "Battle 12"
When I am logged in as "myname1"
Then I should not see "Unposted Claims"
Scenario: User can delete their own claim
Given I have Battle 12 prompt meme fully set up
Given everyone has signed up for Battle 12
When I claim a prompt from "Battle 12"
And I go to "Battle 12" collection's page
And I follow "My Claims"
And I follow "Drop Claim"
Then I should see "Your claim was deleted."
When I go to "Battle 12" collection's page
Then I should not see "My Claims"
Scenario: User can drop a claim from the prompts page
Given I have Battle 12 prompt meme fully set up
Given everyone has signed up for Battle 12
When I claim a prompt from "Battle 12"
And I go to "Battle 12" collection's page
And I follow "Prompts"
Then I should see "Drop Claim"
Scenario: User can't delete another user's claim
Given I have Battle 12 prompt meme fully set up
Given everyone has signed up for Battle 12
When I claim a prompt from "Battle 12"
When I am logged in as "otheruser"
And I go to "Battle 12" collection's page
And I follow "Prompts"
Then I should not see "Drop Claim"
Scenario: User can delete their own claim from the user claims list
Given I have Battle 12 prompt meme fully set up
Given everyone has signed up for Battle 12
When I claim a prompt from "Battle 12"
When I follow "My Dashboard"
And I follow "Claims"
Then I should see "Drop Claim"
When I follow "Drop Claim"
Then I should see "Your claim was deleted."
# confirm claim no longer exists
When I go to "Battle 12" collection's page
Then I should not see "My Claims"
Scenario: Mod or owner can delete a claim from the user claims list
Given I have Battle 12 prompt meme fully set up
Given everyone has signed up for Battle 12
When I claim a prompt from "Battle 12"
When I am logged in as "mod1"
And I view unposted claims for "Battle 12"
Then I should see "Delete"
When I follow "Delete"
Then I should see "The claim was deleted."
Scenario: User can't claim the same prompt twice
Given I have Battle 12 prompt meme fully set up
When I am logged in as "myname1"
When I sign up for Battle 12 with combination B
And I am logged in as "myname4"
And I claim two prompts from "Battle 12"
And I view prompts for "Battle 12"
# TODO: Refactor this test once we have a new Capybara version so that we look for .exact(Claim)
Then I should see "Drop Claim"