otwarchive-symphonyarchive/features/prompt_memes_b/challenge_promptmeme_posting_fills.feature

561 lines
23 KiB
Gherkin
Raw Normal View History

2026-03-11 22:22:11 +00:00
@collections @challenges @promptmemes
Feature: Prompt Meme Challenge
In order to participate without inhibitions
As a humble user
I want to prompt, post and receive fills anonymously
Scenario: Prompt anonymously and be notified of the fills without the writer knowing who I am
Given basic tags
And the following activated user exists
| login | password | email |
| myname1 | password | my1@e.org |
And a fandom exists with name: "GhostSoup", canonical: true
And I am logged in as "mod1"
And I set up a basic promptmeme "The Kissing Game"
And I log out
When I am logged in as "myname1"
And I go to "The Kissing Game" collection's page
# And the apostrophe stops getting in the way of highlighting in notepad++ '
And I follow "Sign Up"
And I fill in "challenge_signup_requests_attributes_0_tag_set_attributes_fandom_tagnames" with "GhostSoup"
And I check "challenge_signup_requests_attributes_0_anonymous"
# there are two forms in this page, can't use I submit
And I press "Submit"
Then I should see "Sign-up was successfully created"
When I log out
And I am logged in as "myname2"
And I go to "The Kissing Game" collection's page
And I follow "Prompts (1)"
And I press "Claim"
Then I should see "New claim made"
And I follow "Fulfill"
And I check "No Archive Warnings Apply"
And I select "English" from "Choose a language"
And I fill in "Fandoms" with "GhostSoup"
And I should see "promptcollection" in the "work_collection_names" input
And the "Untitled Prompt in The Kissing Game (Anonymous)" checkbox should be checked
And the "work_recipients" field should not contain "myname1"
And I fill in "Work Title" with "Kinky Story"
And I fill in "content" with "Story written for your kinks, oh mystery reader!"
Given all emails have been delivered
And I press "Post"
Then I should see "Kinky Story"
And I should find a list for associations
And I should see "In response to a prompt by Anonymous in the The Kissing Game collection"
And I should see a link "prompt"
And 1 email should be delivered to "my1@e.org"
# TODO: when work_anonymous is implemented, test that the prompt filler can be anon too
Scenario: Fulfilling a claim ticks the right boxes automatically
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"
When I start to fulfill my claim
Then the "Battle 12" checkbox should be checked
And the "Battle 12" checkbox should not be disabled
Scenario: User can fulfill a claim
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"
When I fulfill my claim
Then my claim should be fulfilled
Scenario: User can fulfill a claim to their own prompt
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
And I claim a prompt from "Battle 12"
And I fulfill my claim
Then my claim should be fulfilled
Scenario: Fulfilled claim shows correctly on my claims
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"
When I fulfill my claim
When I am on myname4's user page
And I follow "Claims"
And I follow "Fulfilled Claims"
Then I should see "Fulfilled Story"
# TODO: should I? It's not there at all
And I should not see "Not yet posted"
Scenario: Claims count should be correct, shows fulfilled claims as well
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"
When I fulfill my claim
When I am on myname4's user page
# Then show me the sidebar # TODO: it has Claims (0) but why?
Then I should see "Claims (0)"
When I follow "Claims"
And I follow "Fulfilled Claims"
Then I should see "Fulfilled Story"
Scenario: Claim shows as fulfilled to another user
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"
When I fulfill my claim
When I am logged in as "myname1"
When I go to "Battle 12" collection's page
And I follow "Prompts ("
Then I should see "Fulfilled By"
And I should see "Mystery Work"
# Scenario: Fulfilled claims are shown to mod
# TODO: We need to figure out if we want to hide claims from mods in 100% anonymous prompt memes
# 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 am on "Battle 12" collection's page
# When I follow "Prompts"
# And I follow "Show Claims"
# Then I should not see "Claimed by: myname4"
# And I should not see "Claimed by: mod1"
# And I should not see "Claimed by: (Anonymous)"
# When I follow "Show Filled"
# Then I should see "Claimed by: myname4"
# And I should see "Claimed by: mod1"
# And I should not see "Claimed by: (Anonymous)"
Scenario: Fulfilled claims are hidden from 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 "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 am logged in as "myname4"
When I go to "Battle 12" collection's page
And I follow "Prompts (8)"
Then I should not see "myname4" within "h5"
And I should not see "mod1" within "h5"
And I should see "Fulfilled Story by Anonymous" within "div.work h4"
Scenario: Sign-up can be deleted after response has been posted
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"
When I fulfill my claim
When I am logged in as "myname1"
And I delete my signup for the prompt meme "Battle 12"
Then I should see "Challenge sign-up was deleted."
# work fulfilling is still fine
When I view the work "Fulfilled Story"
Then I should see "This work is part of an ongoing challenge and will be revealed soon! You can find details here: Battle 12"
And I should not see "Stargate Atlantis"
# work is still fine as another user
When I am logged in as "myname4"
And I view the work "Fulfilled Story"
Then I should see "This work is part of an ongoing challenge and will be revealed soon! You can find details here: Battle 12"
And I should see "Stargate Atlantis"
Scenario: Prompt can be removed after response has been posted and still show properly on the work which fulfilled it
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"
When I fulfill my claim
When I am logged in as "myname1"
And I delete my signup for the prompt meme "Battle 12"
When I view the work "Fulfilled Story"
Then I should see "This work is part of an ongoing challenge and will be revealed soon! You can find details here: Battle 12"
And I should not see "Stargate Atlantis"
When I am logged in as "myname4"
And I view the work "Fulfilled Story"
Then I should see "This work is part of an ongoing challenge and will be revealed soon! You can find details here: Battle 12"
And I should see "Stargate Atlantis"
Scenario: User can fulfill the same claim 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 a prompt from "Battle 12"
When I fulfill my claim
When I fulfill my claim again
Then I should see "Work was successfully posted"
And I should see "Second Story"
And I should see "In response to a prompt by Anonymous"
And I should see "Collections: Battle 12"
Scenario: User edits existing work to fulfill claim
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"
And I post the work "Existing Story"
And I should not see "Battle 12"
And I edit the work "Existing Story"
And I check "random SGA love in Battle 12 (Anonymous)"
And I press "Post"
Then I should see "Battle 12"
Then I should see "Existing Story"
And I should see "This work is part of an ongoing challenge"
When I reveal works for "Battle 12"
When I view the work "Existing Story"
And I should not see "This work is part of an ongoing challenge"
Scenario: User edits existing work in another collection to fulfill claim
Given I have Battle 12 prompt meme fully set up
And I have a collection "Othercoll"
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"
And I post the work "Existing Story" in the collection "Othercoll"
And I edit the work "Existing Story"
And I check "random SGA love in Battle 12 (Anonymous)"
And I press "Post"
Then I should see "Battle 12"
And I should see "Othercoll"
Scenario: Fulfill a claim by editing an existing work
Given I have Battle 12 prompt meme fully set up
And everyone has signed up for Battle 12
When I close signups for "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 "myname1"
And I go to "Battle 12" collection's page
And I follow "Prompts ("
When I press "Claim"
Then I should see "New claim made"
When I post the work "Here's one I made earlier"
And I edit the work "Here's one I made earlier"
And I check "Battle 12"
And I press "Preview"
Then I should see "In response to a prompt by"
And I should see "Collections:"
And I should see "Battle 12"
When I press "Update"
Then I should see "Work was successfully updated"
And I should not see "draft"
And I should see "In response to a prompt by"
Then I should see "Collections:"
And I should see "Battle 12"
# claim is fulfilled on collection page
When I go to "Battle 12" collection's page
And I follow "Prompts"
Then I should see "myname1" within ".prompt .work"
And I should see "Fulfilled By"
Scenario: When draft is posted, claim is fulfilled and posted to collection
Given I have Battle 12 prompt meme fully set up
When I am logged in as "myname2"
And I sign up for Battle 12 with combination B
When I am logged in as "myname4"
And I claim a prompt from "Battle 12"
When I close signups for "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 "myname4"
And I go to the "Battle 12" requests page
When I press "Claim"
When I follow "Fulfill"
And I fill in the basic work information for "Existing work"
And I check "random SGA love in Battle 12 (Anonymous)"
And I press "Preview"
When I am on myname4's user page
And I follow "Drafts"
And all emails have been delivered
When I follow "Post Draft"
Then 1 email should be delivered
Then I should see "Your work was successfully posted"
And I should see "In response to a prompt by Anonymous"
When I go to "Battle 12" collection's page
And I follow "Prompts ("
Then I should see "myname4"
And I should see "Fulfilled By"
When I follow "Existing work"
Then I should see "Existing work"
And I should see "Battle 12"
And I should not see "draft"
Scenario: Make another claim and then fulfill from the post new form (New Work)
Given I have Battle 12 prompt meme fully set up
Given everyone 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 go to "Battle 12" collection's page
And I follow "Prompts (8)"
When I press "Claim"
Then I should see "New claim made."
When I am logged in as "myname4"
And I go to the collections page
And I follow "Battle 12"
When I follow "Prompts ("
When I press "Claim"
Then I should see "New claim made"
When I follow "New Work"
When I fill in the basic work information for "Existing work"
And I check "Battle 12 (myname4)"
And I press "Preview"
Then I should see "Draft was successfully created"
And I should see "In response to a prompt by myname4"
And 0 emails should be delivered
And I should see "Collections:"
And I should see "Battle 12"
When I view the work "Existing work"
Then I should see "draft"
Scenario: Fulfilled claims show as fulfilled to another 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 "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
When I go to "Battle 12" collection's page
And I follow "Prompts (8)"
When I press "Claim"
Then I should see "New claim made."
When I am logged in as "myname4"
And I go to the "Battle 12" requests page
Then I should see "mod1" within ".prompt .work"
And I should see "myname4" within ".prompt .work"
Scenario: When a prompt is filled with a co-authored work, the e-mail should link to each author's URL instead of showing escaped HTML
Given I have Battle 12 prompt meme fully set up
And I am logged in as "myname3"
And I go to myname3's user page
And I follow "Preferences"
And I check "Allow others to invite me to be a co-creator"
And I press "Update"
When I am logged in as "myname1"
And I sign up for Battle 12 with combination A
And I log out
When I am logged in as "myname2"
And I claim a prompt from "Battle 12"
And I start to fulfill my claim with "Co-authored Fill"
And I invite the co-author "myname3"
When I press "Post"
Then 1 email should be delivered to "myname3"
And the email should contain "The user myname2 has invited your pseud myname3 to be listed as a co-creator on the following work"
And the email should not contain "translation missing"
When the user "myname3" accepts all co-creator requests
And I am logged in as "mod1"
And I reveal the authors of the "Battle 12" challenge
And I reveal the "Battle 12" challenge
Then 1 email should be delivered to "myname1"
And the email should link to myname2's user url
And the email should not contain "<a href="http://archiveofourown.org/users/myname2/pseuds/myname2""
And the email should link to myname3's user url
And the email should not contain "<a href="http://archiveofourown.org/users/myname3/pseuds/myname3""
Scenario: check that completed ficlet is unrevealed
Given I have Battle 12 prompt meme fully set up
Given everyone has signed up for Battle 12
When mod fulfills claim
When I am logged in as "myname4"
When I view the work "Fulfilled Story-thing"
Then I should not see "In response to a prompt by myname4"
And I should not see "Fandom: Stargate Atlantis"
And I should not see "Anonymous"
And I should not see "mod1"
And I should see "This work is part of an ongoing challenge and will be revealed soon! You can find details here: Battle 12"
Scenario: Mod can post a fic
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"
When I am on mod1's user page
Then I should see "Claims (1)"
When I follow "Claims"
Then I should see "My Claims"
And I should see "canon SGA love by myname4 in Battle 12" within "div#main.challenge_claims-index h4"
When I follow "Fulfill"
And I fill in "Fandoms" with "Stargate Atlantis"
And I fill in "Work Title*" with "Fulfilled Story-thing"
And I select "Not Rated" from "Rating"
And I check "No Archive Warnings Apply"
And I select "English" from "Choose a language"
And I fill in "content" with "This is an exciting story about Atlantis, but in a different universe this time"
When I press "Preview"
And I press "Post"
Then I should see "Work was successfully posted"
Scenario: Mod can complete a claim
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"
When I start to fulfill my claim
And I fill in "Work Title" with "Fulfilled Story-thing"
And I fill in "content" with "This is an exciting story about Atlantis, but in a different universe this time"
When I press "Preview"
And I press "Post"
When I am on mod1's user page
Then I follow "Claims"
And I should not see "mod" within "h4"
Then I follow "Fulfilled Claims"
# On the users' My Claims page, they see their anon works as Anonymous
And I should see "Anonymous" within "div.work h4"
Scenario: Fic shows what prompt it is fulfilling when mod views it
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"
When I start to fulfill my claim
And I fill in "Work Title" with "Fulfilled Story-thing"
And I fill in "content" with "This is an exciting story about Atlantis, but in a different universe this time"
When I press "Preview"
And I press "Post"
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 "Anonymous" within ".byline"
And I should see a link "prompt"
Scenario: Work links to the prompt it fulfils, for all users
Given I have Battle 12 prompt meme fully set up
And I am logged in as "myname1"
And I sign up for Battle 12 with combination B
And I am logged in as "myname4"
And I claim a prompt from "Battle 12"
And I fulfill my claim
And I reveal works for "Battle 12"
And I view the work "Fulfilled Story"
Then I should see "Fulfilled Story"
And I should see "In response to a prompt by Anonymous"
And I should see a link "prompt"
When I follow "prompt"
Then I should see "Request by Anonymous"
When I am logged in as "myname2"
And I view the work "Fulfilled Story"
Then I should see "Fulfilled Story"
And I should see "In response to a prompt by Anonymous"
And I should see a link "prompt"
When I follow "prompt"
Then I should see "Request by Anonymous"
When I am logged in as "mod"
And I view the work "Fulfilled Story"
Then I should see "Fulfilled Story"
And I should see "In response to a prompt by Anonymous"
And I should see a link "prompt"
When I follow "prompt"
Then I should see "Request by Anonymous"
When I log out
And I view the work "Fulfilled Story"
Then I should see "Fulfilled Story"
And I should see "In response to a prompt by Anonymous"
And I should see a link "prompt"
When I follow "prompt"
Then I should see "Request by Anonymous"
Scenario: A creator can give a gift to a user who disallows gifts if the work is connected to a claim of a non-anonymous prompt belonging to the recipient, and the recipient remains attached even if the work is later disconnected from the claim
Given I have Battle 12 prompt meme fully set up
And the user "prompter" exists and is activated
And the user "prompter" disallows gifts
And "prompter" has signed up for Battle 12 with combination A
When I am logged in as "gifter"
And I claim a prompt from "Battle 12"
And I start to fulfill my claim
And I fill in "Gift this work to" with "prompter"
And I press "Post"
Then I should see "For prompter."
When I follow "Edit"
And I uncheck "Battle 12 (prompter)"
And I press "Post"
Then I should see "For prompter."
Scenario: A creator cannot give a gift to a user who disallows gifts if the work is connected to a claim of an anonymous prompt belonging to the recipient
Given I have Battle 12 prompt meme fully set up
And the user "prompter" exists and is activated
And the user "prompter" disallows gifts
And "prompter" has signed up for Battle 12 with combination B
When I am logged in as "gifter"
And I claim a prompt from "Battle 12"
And I start to fulfill my claim
And I fill in "Gift this work to" with "prompter"
And I press "Post"
Then I should see "prompter does not accept gifts."
Scenario: A creator cannot give a gift to a user who disallows gifts if the work is connected to a claim of a non-anonymous prompt belonging to a different user
Given I have Battle 12 prompt meme fully set up
And the user "prompter" exists and is activated
And the user "prompter" disallows gifts
And "prompter" has signed up for Battle 12 with combination A
And the user "bystander" exists and is activated
And the user "bystander" disallows gifts
When I am logged in as "gifter"
And I claim a prompt from "Battle 12"
And I start to fulfill my claim
And I fill in "Gift this work to" with "prompter, bystander"
And I press "Post"
Then I should see "bystander does not accept gifts."
Scenario: A creator can give a gift to a user who has blocked them if the work is connected to a claim of a non-anonymous prompt belonging to the recipient
Given I have Battle 12 prompt meme fully set up
And the user "prompter" exists and is activated
And the user "prompter" has blocked the user "gifter"
And "prompter" has signed up for Battle 12 with combination A
When I am logged in as "gifter"
And I claim a prompt from "Battle 12"
And I start to fulfill my claim
And I fill in "Gift this work to" with "prompter"
And I press "Post"
Then I should see "For prompter."
When I follow "Edit"
And I uncheck "Battle 12 (prompter)"
And I press "Post"
Then I should see "For prompter."