456 lines
No EOL
19 KiB
Gherkin
456 lines
No EOL
19 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: Claim two prompts by the same person in one challenge
|
|
|
|
Given I have Battle 12 prompt meme fully set up
|
|
When I am logged in as "myname2"
|
|
When I sign up for Battle 12 with combination B
|
|
# 1st prompt SG-1, 2nd prompt SGA, both anon
|
|
When I am logged in as "myname1"
|
|
And I claim two prompts from "Battle 12"
|
|
And I view prompts for "Battle 12"
|
|
# all prompts have been claimed - check it worked
|
|
# TODO: find a better way to check that it worked, since 'Drop Claim' includes the word 'Claim', and there is no table anymore, so no tbody
|
|
# Then I should not see "Claim" within "tbody"
|
|
# TODO: check that they are not intermittent anymore
|
|
When I start to fulfill my claim
|
|
Then I should find a checkbox "High School AU SG1 in Battle 12 (Anonymous)"
|
|
And I should find a checkbox "random SGA love in Battle 12 (Anonymous)"
|
|
And the "High School AU SG1 in Battle 12 (Anonymous)" checkbox should not be checked
|
|
And the "random SGA love in Battle 12 (Anonymous)" checkbox should be checked
|
|
|
|
Scenario: Claim two prompts by different people in one challenge
|
|
|
|
Given I have single-prompt prompt meme fully set up
|
|
When I am logged in as "sgafan"
|
|
And I sign up for "Battle 12" with combination SGA
|
|
When I am logged in as "sg1fan"
|
|
And I sign up for "Battle 12" with combination SG-1
|
|
When I am logged in as "writer"
|
|
And I claim two prompts from "Battle 12"
|
|
When I start to fulfill my claim
|
|
Then I should find a checkbox "SG1 love in Battle 12 (sg1fan)"
|
|
And I should find a checkbox "SGA love in Battle 12 (sgafan)"
|
|
# TODO: check that they are not intermittent anymore
|
|
And the "SGA love in Battle 12 (sgafan)" checkbox should not be checked
|
|
And the "SG1 love in Battle 12 (sg1fan)" checkbox should be checked
|
|
|
|
Scenario: Claim two prompts by the same person in one challenge, one is anon
|
|
|
|
Given I have Battle 12 prompt meme fully set up
|
|
When I am logged in as "myname2"
|
|
When I sign up for Battle 12
|
|
# 1st prompt "something else weird" and titled "crack", 2nd prompt anon
|
|
When I am logged in as "myname1"
|
|
And I claim two prompts from "Battle 12"
|
|
And I view prompts for "Battle 12"
|
|
# anon as claims are in reverse date order
|
|
When I start to fulfill my claim
|
|
Then I should find a checkbox "Untitled Prompt in Battle 12 (Anonymous)"
|
|
And I should find a checkbox "crack in Battle 12 (myname2)"
|
|
And the "Untitled Prompt in Battle 12 (Anonymous)" checkbox should be checked
|
|
And the "crack in Battle 12 (myname2)" checkbox should not be checked
|
|
|
|
Scenario: User claims two prompts in one challenge and fulfills one of them
|
|
# TODO: When SPRs get merged, make this check that 'prompt' is a link
|
|
# and that it shows the correct prompt, or whatever
|
|
Given I have Battle 12 prompt meme fully set up
|
|
When I am logged in as "myname2"
|
|
When I sign up for Battle 12 with combination B
|
|
# 1st prompt SG-1, 2nd prompt SGA, both anon
|
|
When I am logged in as "myname1"
|
|
And I claim a prompt from "Battle 12"
|
|
# SGA as it's in reverse order
|
|
And I claim a prompt from "Battle 12"
|
|
# SG-1
|
|
# SGA seems to be the first consistently
|
|
When I start to fulfill my claim
|
|
Then the "High School AU SG1 in Battle 12 (Anonymous)" checkbox should not be checked
|
|
And the "random SGA love in Battle 12 (Anonymous)" checkbox should be checked
|
|
When I press "Preview"
|
|
And I press "Post"
|
|
When I view the work "Fulfilled Story"
|
|
Then I should see "Stargate Atlantis"
|
|
|
|
Scenario: User claims two prompts in one challenge and fufills both of them at once
|
|
|
|
Given I have Battle 12 prompt meme fully set up
|
|
When I am logged in as "myname2"
|
|
When I sign up for Battle 12
|
|
# 1st prompt anon, 2nd prompt non-anon
|
|
When I am logged in as "myname1"
|
|
And I claim a prompt from "Battle 12"
|
|
And I claim a prompt from "Battle 12"
|
|
And I view prompts for "Battle 12"
|
|
When I start to fulfill my claim
|
|
# the anon prompt will already by checked
|
|
And I check "crack in Battle 12 (myname2)"
|
|
And I press "Preview"
|
|
And I press "Post"
|
|
When I view the work "Fulfilled Story"
|
|
# fandoms are not filled in automatically anymore, so we check that both prompts are marked as filled by having one anon and one non-anon
|
|
Then I should see "In response to a prompt by Anonymous"
|
|
And I should see "In response to a prompt by myname2"
|
|
|
|
# Scenario: User claims two prompts in different challenges and fulfills both of them at once
|
|
# TODO
|
|
|
|
Scenario: Sign up for several challenges and see Sign-ups are sorted
|
|
|
|
Given I have Battle 12 prompt meme fully set up
|
|
When I set up a basic promptmeme "Battle 13"
|
|
When I set up an anon promptmeme "Battle 14" with name "anonmeme"
|
|
When I am logged in as "prolific_writer"
|
|
When I sign up for "Battle 12" fixed-fandom prompt meme
|
|
When I sign up for "Battle 13" many-fandom prompt meme
|
|
When I sign up for "Battle 14" many-fandom prompt meme
|
|
When I am on prolific_writer's user page
|
|
And I follow "Sign-ups"
|
|
# TODO
|
|
|
|
Scenario: User is participating in a prompt meme and a gift exchange at once, clicks "Post to fulfill" on the prompt meme and sees the right boxes ticked
|
|
|
|
Given I have created the gift exchange "My Gift Exchange"
|
|
And I open signups for "My Gift Exchange"
|
|
And everyone has signed up for the gift exchange "My Gift Exchange"
|
|
And I have generated matches for "My Gift Exchange"
|
|
And I have sent assignments for "My Gift Exchange"
|
|
Given I have Battle 12 prompt meme fully set up
|
|
And everyone has signed up for Battle 12
|
|
When I am logged in as "myname3"
|
|
And I claim a prompt from "Battle 12"
|
|
When I start to fulfill my claim
|
|
Then the "canon SGA love in Battle 12 (myname4)" checkbox should be checked
|
|
And the "My Gift Exchange (myname2)" checkbox should not be checked
|
|
And the "canon SGA love in Battle 12 (myname4)" checkbox should not be disabled
|
|
And the "My Gift Exchange (myname2)" checkbox should not be disabled
|
|
|
|
Scenario: User posts to fulfill direct from Post New (New Work)
|
|
|
|
Given I have Battle 12 prompt meme fully set up
|
|
And everyone has signed up for Battle 12
|
|
When I am logged in as "myname3"
|
|
And I claim a prompt from "Battle 12"
|
|
And I follow "New Work"
|
|
Then the "canon SGA love in Battle 12 (myname4)" checkbox should not be checked
|
|
And the "canon SGA love in Battle 12 (myname4)" checkbox should not be disabled
|
|
|
|
Scenario: User is participating in a prompt meme and a gift exchange at once, clicks "Post to fulfill" on the prompt meme and then changes their mind and fulfills the gift exchange instead
|
|
|
|
Given I have Battle 12 prompt meme fully set up
|
|
And everyone has signed up for Battle 12
|
|
Given I have created the gift exchange "My Gift Exchange"
|
|
And I open signups for "My Gift Exchange"
|
|
And everyone has signed up for the gift exchange "My Gift Exchange"
|
|
And I have generated matches for "My Gift Exchange"
|
|
And I have sent assignments for "My Gift Exchange"
|
|
When I am logged in as "myname3"
|
|
And I claim a prompt from "Battle 12"
|
|
When I start to fulfill my claim
|
|
When I check "My Gift Exchange (myname2)"
|
|
And I uncheck "canon SGA love in Battle 12 (myname4)"
|
|
And I fill in "Post to Collections / Challenges" with ""
|
|
And I press "Post"
|
|
Then I should see "My Gift Exchange"
|
|
And I should not see "Battle 12"
|
|
And I should not see "This work is part of an ongoing challenge and will be revealed soon! You can find details here: My Gift Exchange"
|
|
|
|
Scenario: Mod can claim a prompt like an ordinary user
|
|
|
|
Given I have Battle 12 prompt meme fully set up
|
|
Given everyone has signed up for Battle 12
|
|
When I am logged in as "mod1"
|
|
When I claim a prompt from "Battle 12"
|
|
Then I should see "New claim made."
|
|
|
|
Scenario: Mod can still see anonymous claims after signup is closed
|
|
|
|
Given I have Battle 12 prompt meme fully set up
|
|
Given everyone has signed up for Battle 12
|
|
When I am logged in as "myname4"
|
|
When I claim a prompt from "Battle 12"
|
|
When I fulfill my claim
|
|
When I am logged in as "mod1"
|
|
When I claim a prompt from "Battle 12"
|
|
When I close signups for "Battle 12"
|
|
When I am logged in as "mod1"
|
|
When I am on "Battle 12" collection's page
|
|
And I follow "Unposted Claims ("
|
|
Then I should see "claimed by mod"
|
|
And I should see "by myname4"
|
|
And I should see "Stargate Atlantis"
|
|
|
|
# Scenario: check that claims can't be viewed even after challenge is revealed
|
|
# TODO: Find a way to construct the link to a claim show page for someone who shouldn't be able to see it
|
|
|
|
Scenario: Mod can reveal challenge
|
|
|
|
Given I have Battle 12 prompt meme fully set up
|
|
When I close signups for "Battle 12"
|
|
When I go to "Battle 12" collection's page
|
|
And I follow "Collection Settings"
|
|
And I uncheck "This collection is unrevealed"
|
|
And I press "Update"
|
|
Then I should see "Collection was successfully updated"
|
|
|
|
Scenario: Revealing challenge sends out emails
|
|
|
|
Given I have Battle 12 prompt meme fully set up
|
|
Given everyone has signed up for Battle 12
|
|
When I am logged in as "myname4"
|
|
When I claim a prompt from "Battle 12"
|
|
When I close signups for "Battle 12"
|
|
When I am logged in as "myname4"
|
|
When I fulfill my claim
|
|
When mod fulfills claim
|
|
When I reveal the "Battle 12" challenge
|
|
Then I should see "Collection was successfully updated"
|
|
# 2 stories are now revealed, so notify the prompters
|
|
And 2 emails should be delivered
|
|
|
|
Scenario: Story is anon when challenge is revealed
|
|
|
|
Given I have standard challenge tags setup
|
|
Given I have Battle 12 prompt meme fully set up
|
|
Given everyone has signed up for Battle 12
|
|
When I am logged in as "myname4"
|
|
When I claim a prompt from "Battle 12"
|
|
When I close signups for "Battle 12"
|
|
When I am logged in as "myname4"
|
|
When I fulfill my claim
|
|
When mod fulfills claim
|
|
When I reveal the "Battle 12" challenge
|
|
When I am logged in as "myname4"
|
|
When I view the work "Fulfilled Story-thing"
|
|
Then I should see "In response to a prompt by myname4"
|
|
And I should see "Fandom: Stargate Atlantis"
|
|
And I should see "Collections: Battle 12"
|
|
And I should see "Anonymous" within ".byline"
|
|
And I should not see "mod1" within ".byline"
|
|
|
|
Scenario: Authors can be revealed
|
|
|
|
Given I have Battle 12 prompt meme fully set up
|
|
Given everyone has signed up for Battle 12
|
|
When I am logged in as "myname4"
|
|
When I claim a prompt from "Battle 12"
|
|
When I close signups for "Battle 12"
|
|
When I am logged in as "myname4"
|
|
When I fulfill my claim
|
|
When mod fulfills claim
|
|
When I reveal the "Battle 12" challenge
|
|
When I reveal the authors of the "Battle 12" challenge
|
|
Then I should see "Collection was successfully updated"
|
|
|
|
Scenario: Revealing authors doesn't send emails
|
|
|
|
Given I have Battle 12 prompt meme fully set up
|
|
Given everyone has signed up for Battle 12
|
|
When I am logged in as "myname4"
|
|
When I claim a prompt from "Battle 12"
|
|
When I close signups for "Battle 12"
|
|
When I am logged in as "myname4"
|
|
When I fulfill my claim
|
|
When mod fulfills claim
|
|
When I reveal the "Battle 12" challenge
|
|
Given all emails have been delivered
|
|
When I reveal the authors of the "Battle 12" challenge
|
|
Then I should see "Collection was successfully updated"
|
|
Then 0 emails should be delivered
|
|
|
|
Scenario: When challenge is revealed-authors, user can see claims
|
|
|
|
Given I have Battle 12 prompt meme fully set up
|
|
Given everyone has signed up for Battle 12
|
|
When I am logged in as "myname4"
|
|
When I claim a prompt from "Battle 12"
|
|
When I close signups for "Battle 12"
|
|
When I am logged in as "myname4"
|
|
When I fulfill my claim
|
|
When mod fulfills claim
|
|
When I reveal the "Battle 12" challenge
|
|
When I reveal the authors of the "Battle 12" challenge
|
|
When I am logged in as "myname4"
|
|
When I go to "Battle 12" collection's page
|
|
And I follow "Prompts (8)"
|
|
Then I should see "Fulfilled By"
|
|
And I should see "Fulfilled Story by myname4" within "div.work"
|
|
And I should see "Fulfilled Story-thing by mod1" within "div.work"
|
|
|
|
Scenario: Anon prompts stay anon on claims index even if challenge is revealed
|
|
|
|
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 close signups for "Battle 12"
|
|
When I am logged in as "myname2"
|
|
When I claim a prompt from "Battle 12"
|
|
When I fulfill my claim
|
|
When I reveal the "Battle 12" challenge
|
|
When I reveal the authors of the "Battle 12" challenge
|
|
When I go to "Battle 12" collection's page
|
|
And I follow "Prompts ("
|
|
Then I should see "by Anonymous"
|
|
And I should not see "by myname4"
|
|
|
|
Scenario: Check that anon prompts are still anon on the prompts page after challenge is revealed
|
|
|
|
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 close signups for "Battle 12"
|
|
When I am logged in as "myname2"
|
|
When I claim a prompt from "Battle 12"
|
|
When I fulfill my claim
|
|
When I reveal the "Battle 12" challenge
|
|
When I reveal the authors of the "Battle 12" challenge
|
|
When I view prompts for "Battle 12"
|
|
Then I should see "random SGA love by Anonymous"
|
|
Then I should see "Fulfilled Story by myname2"
|
|
Then I should see "High School AU SG1 by Anonymous "
|
|
|
|
Scenario: Check that anon prompts are still anon on user claims index after challenge is revealed
|
|
|
|
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 close signups for "Battle 12"
|
|
When I am logged in as "myname2"
|
|
When I claim a prompt from "Battle 12"
|
|
When I reveal the "Battle 12" challenge
|
|
When I reveal the authors of the "Battle 12" challenge
|
|
When I am logged in as "myname2"
|
|
When I am on myname2's user page
|
|
And I follow "Claims"
|
|
# note that user Claims page currently only shows unfulfilled claims
|
|
Then I should not see "myname4"
|
|
And I should see "Anonymous"
|
|
|
|
Scenario: Check that anon prompts are still anon on claims show after challenge is revealed
|
|
# note that only mod can see claims show now - users don't get linked to it
|
|
|
|
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 close signups for "Battle 12"
|
|
When I am logged in as "myname2"
|
|
When I claim a prompt from "Battle 12"
|
|
When I reveal the "Battle 12" challenge
|
|
When I reveal the authors of the "Battle 12" challenge
|
|
When I am logged in as "mod1"
|
|
When I am on "Battle 12" collection's page
|
|
And I follow "Unposted Claims"
|
|
And I follow "Anonymous"
|
|
Then I should not see "myname4"
|
|
And I should see "Anonymous"
|
|
|
|
# Scenario: check that anon prompts are still anon on the fulfilling work
|
|
# TODO
|
|
|
|
Scenario: work left in draft so claim is not yet totally fulfilled
|
|
|
|
Given I have Battle 12 prompt meme fully set up
|
|
Given an anon has signed up for Battle 12
|
|
When I close signups for "Battle 12"
|
|
When I reveal the "Battle 12" challenge
|
|
Given all emails have been delivered
|
|
When I reveal the authors of the "Battle 12" challenge
|
|
When I am logged in as "myname4"
|
|
When I claim a prompt from "Battle 12"
|
|
When I start to fulfill my claim
|
|
And I press "Preview"
|
|
When I go to the "Battle 12" requests page
|
|
Then I should see "Claimed By"
|
|
And I should not see "Fulfilled By"
|
|
When I am logged in as "mod1"
|
|
And I go to "Battle 12" collection's page
|
|
And I follow "Unposted Claims"
|
|
Then I should see "myname4"
|
|
When I am logged in as "myname4"
|
|
And I go to myname4's claims page
|
|
# Draft not shown. Instead we see that there is a 'Fulfill' button which
|
|
# we can use. Then use the 'Restore From Last Unposted Draft?' button
|
|
When I follow "Fulfill"
|
|
And I follow "Restore From Last Unposted Draft?"
|
|
When I press "Post"
|
|
And I should see "Work was successfully posted."
|
|
Then I should see "Fulfilled Story"
|
|
|
|
Scenario: Maintainers can download CSV from requests or sign-ups page
|
|
|
|
Given I am logged in as "mod1"
|
|
And I have standard challenge tags setup
|
|
And I create Battle 12 promptmeme
|
|
When I go to the "Battle 12" signups page
|
|
Then I should see "Download (CSV)"
|
|
When I go to the "Battle 12" requests page
|
|
And I follow "Download (CSV)"
|
|
Then I should download a csv file with the header row "Pseud Sign-up URL Tags Title Description"
|
|
|
|
Scenario: Users can't download prompt CSV from requests page
|
|
|
|
Given I have Battle 12 prompt meme fully set up
|
|
And everyone has signed up for Battle 12
|
|
And I am logged in
|
|
When I go to the "Battle 12" requests page
|
|
Then I should not see "Download (CSV)"
|
|
|
|
Scenario: Validation error doesn't cause semi-anon ticky to lose state (Issue 2617)
|
|
Given I set up an anon promptmeme "Scotts Prompt" with name "scotts_prompt"
|
|
And I am logged in as "Scott" with password "password"
|
|
And I go to "Scotts Prompt" collection's page
|
|
And I follow "Prompt Form"
|
|
And I check "Semi-anonymous Prompt"
|
|
And I press "Submit"
|
|
Then I should see "There were some problems with this submission. Please correct the mistakes below."
|
|
And I should see "Your Request must include between 1 and 2 fandom tags, but you have included 0 fandom tags in your current Request."
|
|
And the "Semi-anonymous Prompt" checkbox should be checked
|
|
|
|
Scenario: Dates should be correctly set on PromptMemes
|
|
Given it is currently 2015-09-21 12:40 AM
|
|
And I am logged in as "mod1"
|
|
And I have standard challenge tags set up
|
|
And I have no prompts
|
|
When I set up Battle 12 promptmeme collection
|
|
And I check "Sign-up open?"
|
|
And I fill in "Sign-up opens:" with "2010-09-20 12:40AM"
|
|
And I fill in "Sign-up closes:" with "2010-09-22 12:40AM"
|
|
And I submit
|
|
Then I should see "If sign-ups are open, sign-up close date cannot be in the past."
|
|
When I fill in "Sign-up opens:" with "2022-09-20 12:40AM"
|
|
And I fill in "Sign-up closes:" with "2010-09-22 12:40AM"
|
|
And I submit
|
|
Then I should see "If sign-ups are open, sign-up open date cannot be in the future."
|
|
When I fill in "Sign-up opens:" with "2010-09-22 12:40AM"
|
|
And I fill in "Sign-up closes:" with "2010-09-20 12:40AM"
|
|
And I submit
|
|
Then I should see "Close date cannot be before open date."
|
|
When I fill in "Sign-up opens:" with ""
|
|
And I use tomorrow as the "Sign-up closes" date
|
|
And I submit
|
|
Then I should see "Challenge was successfully created."
|
|
|
|
Scenario: A user who disallows gift works is cautioned about signing up for
|
|
a prompt meme, and a user who allows them is not.
|
|
Given I have Battle 12 prompt meme fully set up
|
|
And I am logged in as "participant"
|
|
And the user "participant" disallows gifts
|
|
When I go to "Battle 12" collection's page
|
|
And I follow "Prompt Form"
|
|
Then I should see "any user who claims your prompt to gift you a work in response to your prompt regardless of your preference settings"
|
|
When the user "participant" allows gifts
|
|
And I go to "Battle 12" collection's page
|
|
And I follow "Prompt Form"
|
|
Then I should not see "any user who claims your prompt to gift you a work in response to your prompt regardless of your preference settings"
|
|
|
|
Scenario: When a work is posted to fulfill a prompt, the notes should contain the collection title
|
|
Given I have Battle 12 prompt meme fully set up
|
|
And everyone has signed up for Battle 12
|
|
When I am logged in as "myname1"
|
|
And I claim a prompt from "Battle 12"
|
|
And I fulfill my claim
|
|
Then I should see "In response to a prompt by myname4 in the Battle 12 collection" |