otwarchive-symphonyarchive/features/works/chapter_edit.feature

621 lines
26 KiB
Gherkin
Raw Permalink Normal View History

2026-03-11 22:22:11 +00:00
@works
Feature: Edit chapters
In order to have an work full of chapters
As a humble user
I want to add and remove chapters
Scenario: Add chapters to an existing work, delete chapters, edit chapters, post chapters in the wrong order, use rearrange page, create draft chapter
Given the following activated user exists
| login | password |
| epicauthor | password |
And basic tags
When I go to epicauthor's user page
Then I should see "There are no works"
When I am logged in as "epicauthor" with password "password"
# create a basic single-chapter work
When I follow "New Work"
Then I should see "Post New Work"
When 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 "Fandoms" with "New Fandom"
And I fill in "Work Title" with "New Epic Work"
And I fill in "content" with "Well, maybe not so epic."
And I press "Preview"
Then I should see "Draft was successfully created"
And I should see "1/1"
When I press "Post"
Then I should not see "Chapter 1"
And I should see "Well, maybe not so epic"
And I should see "Words:5"
# add chapters to a single-chapter work
When I follow "Add Chapter"
And I fill in "chapter_position" with "2"
And I fill in "chapter_wip_length" with "100"
And I fill in "content" with "original chapter two"
And I press "Preview"
Then I should see "This is a draft chapter in a posted work. It will be kept unless the work is deleted."
When I press "Post"
Then I should see "2/100"
And I should see "Words:8"
When I follow "Add Chapter"
And I fill in "chapter_position" with "3"
And I fill in "chapter_wip_length" with "50"
And I fill in "content" with "entering chapter three"
And I press "Preview"
Then I should see "Chapter 3"
When I press "Post"
Then I should see "3/50"
And I should see "Words:11"
# add chapters in the wrong order
When I follow "Add Chapter"
And I fill in "chapter_position" with "17"
And I fill in "chapter_wip_length" with "17"
And I fill in "content" with "entering fourth chapter out of order"
And I press "Preview"
Then I should see "Chapter 4"
When I press "Post"
And I should see "4/17"
And I should see "Words:17"
# delete a chapter
When I follow "Edit"
And I follow "2"
And I follow "Delete Chapter"
And I press "Yes, Delete Chapter"
Then I should see "The chapter was successfully deleted."
And I should see "3/17"
And I should see "Words:14"
# fill in the missing chapter
When I follow "Add Chapter"
And I fill in "chapter_position" with "2"
And I fill in "content" with "entering second chapter out of order"
And I press "Preview"
When I press "Post"
Then I should see "4/17"
And I should see "Words:20"
# edit an existing chapter
When I follow "Edit"
And I follow "3"
And I fill in "chapter_position" with "4"
And I fill in "chapter_wip_length" with "4"
And I fill in "content" with "last chapter"
And I press "Preview"
Then I should see "Chapter 4"
When I press "Update"
Then I should see "Chapter was successfully updated"
And I should see "Chapter 4"
And I should see "4/4"
And I should see "Words:19"
When I follow "Edit"
And I follow "Manage Chapters"
Then I should see "Drag chapters to change their order."
# view chapters in the right order
When I am logged out
And all indexing jobs have been run
And I go to epicauthor's works page
And I follow "New Epic Work"
And I follow "Entire Work"
Then I should see "Chapter 1"
And I should see "Well, maybe not so epic." within "#chapter-1"
And I should see "Chapter 2"
And I should see "entering second chapter out of order" within "#chapter-2"
And I should see "Chapter 3"
And I should see "entering fourth chapter out of order" within "#chapter-3"
And I should see "Chapter 4"
And I should see "last chapter" within "#chapter-4"
And I should not see "original chapter two"
When I follow "Chapter by Chapter"
And I follow "Chapter Index"
Then I should see "Chapter Index for New Epic Work by epicauthor"
And I should see "Chapter 1"
And I should see "Chapter 2"
And I should see "Chapter 3"
And I should see "Chapter 4"
# move chapters around using rearrange page
When I am logged in as "epicauthor" with password "password"
And I view the work "New Epic Work"
And I follow "Edit"
And I follow "Manage Chapters"
Then I should see "Drag chapters to change their order."
When I fill in "chapters_1" with "4"
And I fill in "chapters_2" with "3"
And I fill in "chapters_3" with "2"
And I fill in "chapters_4" with "1"
And I press "Update Positions"
Then I should see "Chapter order has been successfully updated."
When I am logged out
And I go to epicauthor's works page
And I follow "New Epic Work"
And I follow "Entire Work"
Then I should see "Chapter 1"
And I should see "Well, maybe not so epic." within "#chapter-4"
And I should see "Chapter 2"
And I should see "second chapter" within "#chapter-3"
And I should see "Chapter 3"
And I should see "fourth chapter" within "#chapter-2"
And I should see "Chapter 4"
And I should see "last chapter" within "#chapter-1"
# create a draft chapter and post it, and verify it shows up on the
# rearrange page
When I am logged in as "epicauthor" with password "password"
And a draft chapter is added to "New Epic Work"
When I view the work "New Epic Work"
And I follow "Edit"
Then I should see "5 (Draft)"
When I follow "Manage Chapters"
Then I should see "Chapter 5 (Draft)"
When I view the work "New Epic Work"
Then I should see "4/5"
When I select "5." from "selected_id"
And I press "Go"
Then I should see "This chapter is a draft and hasn't been posted yet!"
When I press "Post"
Then I should see "5/5"
When I follow "Edit"
Then I should not see "Draft"
And I should not see "draft"
When I view the work "New Epic Work"
And I select "5." from "selected_id"
And I press "Go"
Then I should not see "Draft"
And I should not see "draft"
# create a draft chapter, preview it, edit it and then post it without preview
When I am logged in as "epicauthor" with password "password"
And I view the work "New Epic Work"
And I follow "Add Chapter"
And I fill in "Chapter Title" with "6(66) The Number of the Beast"
And I fill in "content" with "Even more awesomely epic context"
And I press "Preview"
Then I should see "This is a draft chapter in a posted work. It will be kept unless the work is deleted."
When I press "Edit"
And I fill in "content" with "Even more awesomely epic context. Plus bonus epicness"
And I press "Post"
Then I should see "Chapter was successfully posted."
And I should not see "This chapter is a draft and hasn't been posted yet!"
# create a draft chapter, preview it, edit it, preview it again and then post it
When I am logged in as "epicauthor" with password "password"
And I view the work "New Epic Work"
And I follow "Add Chapter"
And I fill in "Chapter Title" with "6(66) The Number of the Beast"
And I fill in "content" with "Even more awesomely epic context"
And I press "Preview"
Then I should see "This is a draft chapter in a posted work. It will be kept unless the work is deleted."
When I press "Edit"
And I fill in "content" with "Even more awesomely epic context. Plus bonus epicness"
And I press "Preview"
Then I should see "Even more awesomely epic context. Plus bonus epicness"
When I press "Post"
Then I should see "Chapter was successfully posted."
And I should not see "This chapter is a draft and hasn't been posted yet!"
Scenario: Create a work and add a draft chapter, edit the draft chapter, and save changes to the draft chapter without previewing or posting
Given basic tags
And I am logged in as "moose" with password "muffin"
When I go to the new work page
Then I should see "Post New Work"
And I select "General Audiences" from "Rating"
And I check "No Archive Warnings Apply"
And I select "English" from "Choose a language"
And I fill in "Fandoms" with "If You Give an X a Y"
And I fill in "Work Title" with "If You Give Users a Draft Feature"
And I fill in "content" with "They will expect it to work."
And I press "Post"
When I should see "Work was successfully posted."
And I should see "They will expect it to work."
When I follow "Add Chapter"
And I fill in "content" with "And then they will request more features for it."
And I press "Preview"
Then I should see "This is a draft chapter in a posted work. It will be kept unless the work is deleted."
And I should see "And then they will request more features for it."
When I press "Edit"
And I fill in "content" with "And then they will request more features for it. Like the ability to save easily."
And I press "Save As Draft"
Then I should see "Chapter was successfully updated."
And I should see "This chapter is a draft and hasn't been posted yet!"
And I should see "Like the ability to save easily."
Scenario: Chapter drafts aren't updates; posted chapter drafts are
Given I am logged in as "testuser" with password "testuser"
And I post the work "Backdated Work"
And I edit the work "Backdated Work"
And I check "backdate-options-show"
And I select "1" from "work_chapter_attributes_published_at_3i"
And I select "January" from "work_chapter_attributes_published_at_2i"
And I select "1990" from "work_chapter_attributes_published_at_1i"
And I press "Post"
Then I should see "Published:1990-01-01"
When I follow "Add Chapter"
And I fill in "content" with "this is my second chapter"
And I set the publication date to today
And I press "Preview"
And I should see "This is a draft"
And I press "Save As Draft"
Then I should not see Updated today
And I should not see Completed today
And I should not see "Updated" within ".work.meta .stats"
And I should not see "Completed" within ".work.meta .stats"
When I follow "Edit Chapter"
And I press "Post"
Then I should see Completed today
Scenario: Posting a new chapter without previewing should set the work's updated date to now
Given the work "First work" by "testuser"
And it is currently 2 days from now
And I am logged in as "testuser"
When I view the work "First work"
Then I should not see Updated today
When I follow "Add Chapter"
And I fill in "content" with "this is my second chapter"
And I set the publication date to today
And I press "Post"
Then I should see Completed today
When I follow "Edit"
And I fill in "work_wip_length" with "?"
And I press "Post"
Then I should see Updated today
When I post the work "A Whole New Work"
And I go to the works page
Then "A Whole New Work" should appear before "First work"
When I view the work "First work"
When I follow "Add Chapter"
And I fill in "content" with "this is my third chapter"
And I set the publication date to today
And I press "Post"
And I go to the works page
Then "First work" should appear before "A Whole New Work"
Scenario: Posting a new chapter with a co-creator does not add them to previous or subsequent chapters
Given I am logged in as "karma" with password "the1nonly"
And the user "sabrina" allows co-creators
And I post the work "Summer Friends"
When a chapter is set up for "Summer Friends"
And I invite the co-author "sabrina"
And I post the chapter
Then I should not see "sabrina"
When the user "sabrina" accepts all co-creator requests
And I view the work "Summer Friends"
Then I should see "karma, sabrina"
And I should see "Chapter by karma"
When I follow "Next Chapter"
Then I should not see "Chapter by"
When a chapter is set up for "Summer Friends"
Then I should see "Current co-creators"
And the "sabrina" checkbox should not be checked
When I post the chapter
Then I should see "Chapter by karma"
Scenario: You can edit a pre-existing chapter to invite a new co-creator
Given I am logged in as "karma" with password "the1nonly"
And the user "amy" allows co-creators
And I post the work "Forever Friends"
And a chapter is added to "Forever Friends"
When I view the work "Forever Friends"
And I view the 2nd chapter
And I follow "Edit Chapter"
And I invite the co-author "amy"
And I post the chapter
Then I should not see "amy, karma"
And 1 email should be delivered to "amy"
And the email should contain "The user karma has invited your pseud amy to be listed as a co-creator on the following chapter"
And the email should not contain "translation missing"
When the user "amy" accepts all co-creator requests
And I view the work "Forever Friends"
Then I should see "amy, karma"
And I should see "Chapter by karma"
When I follow "Next Chapter"
Then I should not see "Chapter by"
Scenario: You can edit a chapter to add (not invite) a co-creator who is
already on the work
Given I am logged in as "karma" with password "the1noly"
And I post the work "Past Friends"
And a chapter with the co-author "sabrina" is added to "Past Friends"
And all emails have been delivered
And a chapter is added to "Past Friends"
When I view the work "Past Friends"
And I view the 3rd chapter
Then I should see "Chapter by karma"
When I follow "Edit Chapter"
Then the "sabrina" checkbox should not be checked
When I check "sabrina"
# Expire cached byline
And it is currently 1 second from now
And I post the chapter
Then I should not see "Chapter by karma"
And 1 email should be delivered to "sabrina"
And the email should contain "The user karma has listed your pseud sabrina as a co-creator on the following chapter"
And the email should contain "a co-creator on a work, you can be added to new chapters regardless of your co-creation settings. You will also be added to any series the work is added to."
And the email should not contain "translation missing"
Scenario: Editing a chapter with a co-creator does not allow you to remove the co-creator
Given I am logged in as "karma" with password "the1noly"
And I post the work "Camp Friends"
And a chapter with the co-author "sabrina" is added to "Camp Friends"
When I follow "Edit Chapter"
Then the "sabrina" checkbox should be checked and disabled
Scenario: Removing yourself as a co-creator from the chapter edit page when
you've co-created multiple chapters on the work removes you only from that
specific chapter. Removing yourself as a co-creator from the chapter edit page
of the last chapter you've co-created also removes you from the work.
Given the work "OP's Work" by "originalposter" with chapter two co-authored with "opsfriend"
And a chapter with the co-author "opsfriend" is added to "OP's Work"
And I am logged in as "opsfriend"
When I view the work "OP's Work"
And I view the 3rd chapter
And I follow "Edit Chapter"
When I follow "Remove Me As Chapter Co-Creator"
Then I should see "You have been removed as a creator from the chapter."
And I should see "Chapter 1"
When I view the 3rd chapter
Then I should see "Chapter 3"
And I should see "Chapter by originalposter"
When I follow "Previous Chapter"
And I follow "Edit Chapter"
And I follow "Remove Me As Chapter Co-Creator"
Then I should see "You have been removed as a creator from the work."
When I view the work "OP's Work"
Then I should not see "Edit Chapter"
Scenario: Removing yourself as a co-creator from the chapter manage page
Given the work "OP's Work" by "originalposter" with chapter two co-authored with "opsfriend"
And a chapter with the co-author "opsfriend" is added to "OP's Work"
And I am logged in as "opsfriend"
When I view the work "OP's Work"
And I follow "Edit"
And I follow "Manage Chapters"
When I follow "Remove Me As Chapter Co-Creator"
Then I should see "You have been removed as a creator from the chapter."
And I should see "Chapter 1"
When I view the 2nd chapter
Then I should see "Chapter by originalposter"
Scenario: The option to remove yourself as a co-creator should only be
included for chapters you are a co-creator of
Given the work "OP's Work" by "originalposter" with chapter two co-authored with "opsfriend"
And I am logged in as "opsfriend"
When I view the work "OP's Work"
And I follow "Edit"
And I follow "Manage Chapters"
Then the Remove Me As Chapter Co-Creator option should not be on the 1st chapter
And the Remove Me As Chapter Co-Creator option should be on the 2nd chapter
When I view the work "OP's Work"
And I follow "Edit Chapter"
Then I should not see "Remove Me As Chapter Co-Creator"
When I view the work "OP's Work"
And I view the 2nd chapter
And I follow "Edit Chapter"
Then I should see "Remove Me As Chapter Co-Creator"
Scenario: You should be able to edit a chapter you are not already co-creator
of, and you will be added to the chapter as a co-creator and your changes will
be saved
Given I am logged in as "originalposter"
And the user "opsfriend" allows co-creators
And I post the work "OP's Work"
And a chapter with the co-author "opsfriend" is added to "OP's Work"
When I am logged in as "opsfriend"
And I view the work "OP's Work"
Then I should see "Chapter 1"
And I should see "Chapter by originalposter"
When I follow "Edit Chapter"
Then I should not see "You're not allowed to use that pseud."
When I fill in "content" with "opsfriend was here"
And I post the chapter
Then I should see "opsfriend was here"
And I should not see "Chapter by originalposter"
Scenario: You should be able to add a chapter with two co-creators, one of
whom is already on the work and the other of whom is not
Given I am logged in as "rusty"
And the user "sharon" allows co-creators
And the user "brenda" allows co-creators
And I set up the draft "Rusty Has Two Moms"
And I invite the co-author "brenda"
And I post the work without preview
And the user "brenda" accepts all co-creator requests
When a chapter is set up for "Rusty Has Two Moms"
And I invite the co-author "sharon"
And I check "brenda"
And I post the chapter
Then I should see "brenda, rusty"
And I should not see "Chapter by"
When the user "sharon" accepts all co-creator requests
And I view the work "Rusty Has Two Moms"
Then I should see "brenda, rusty, sharon"
And I should see "Chapter by brenda, rusty"
When I follow "Next Chapter"
Then I should not see "Chapter by"
Scenario: You should be able to add a chapter with two co-creators who are not
on the work, one of whom has an ambiguous pseud
Given "thebadmom" has the pseud "sharon"
And "thegoodmom" has the pseud "sharon"
And the user "brenda" allows co-creators
And the user "thebadmom" allows co-creators
And the user "thegoodmom" allows co-creators
And I am logged in as "rusty"
And I post the work "Rusty Has Two Moms"
When a chapter is set up for "Rusty Has Two Moms"
And I try to invite the co-authors "sharon, brenda"
And I post the chapter
Then I should see "The pseud sharon is ambiguous."
When I select "thegoodmom" from "There's more than one user with the pseud sharon."
And I press "Post"
Then I should not see "brenda"
And I should not see "sharon"
But 1 email should be delivered to "brenda"
And 1 email should be delivered to "thegoodmom"
When the user "brenda" accepts all co-creator requests
And the user "thegoodmom" accepts all co-creator requests
And I view the work "Rusty Has Two Moms"
Then I should see "brenda, rusty, sharon (thegoodmom)"
Scenario: You should be able to add a chapter with two co-creators, one of
whom is already on the work and the other of whom has an ambiguous pseud
Given "thebadmom" has the pseud "sharon"
And the user "thegoodmom" allows co-creators
And the user "thebadmom" allows co-creators
And "thegoodmom" has the pseud "sharon"
And I am logged in as "rusty"
And I set up the draft "Rusty Has Two Moms"
And I invite the co-author "brenda"
And I post the work without preview
And the user "brenda" accepts all co-creator requests
When a chapter is set up for "Rusty Has Two Moms"
And I invite the co-author "sharon"
And I check "brenda"
And I post the chapter
Then I should see "The pseud sharon is ambiguous."
When I select "thegoodmom" from "There's more than one user with the pseud sharon."
And I press "Post"
Then I should see "brenda, rusty"
When the user "thegoodmom" accepts all co-creator requests
And I view the work "Rusty Has Two Moms"
Then I should see "brenda, rusty, sharon (thegoodmom)"
Scenario: Users can't set a chapter publication date that is in the future,
e.g. set the date to April 30 when it is April 26
Given I am logged in
And it is currently Wed Apr 26 22:00:00 UTC 2017
And I post the work "Futuristic"
And a chapter is set up for "Futuristic"
When I select "30" from "chapter[published_at(3i)]"
And I press "Post"
Then I should see "Publication date can't be in the future."
When I jump in our Delorean and return to the present
Scenario: The Post Draft option on your drafts page only posts the first
chapter of a multi-chapter draft
Given I have a multi-chapter draft
And I follow "My Dashboard"
And I follow "Drafts ("
When I follow "Post Draft"
Then I should see "Your work was successfully posted."
And I should not see "This chapter is a draft and hasn't been posted yet!"
When I follow "Next Chapter"
Then I should see "This chapter is a draft and hasn't been posted yet!"
Scenario: You should be able to invite a co-creator to a chapter if they allow it.
Given the user "brenda" allows co-creators
And I am logged in as "rusty"
And I post the work "Rusty Has Two Moms"
When a chapter is set up for "Rusty Has Two Moms"
And I invite the co-author "brenda"
And I press "Post"
Then I should see "Chapter has been posted!"
And I should not see "brenda"
But 1 email should be delivered to "brenda"
And the email should contain "The user rusty has invited your pseud brenda to be listed as a co-creator on the following chapter"
And the email should not contain "translation missing"
When I am logged in as "brenda"
And I follow "Rusty Has Two Moms" in the email
Then I should not see "Edit"
When I follow "Co-Creator Requests page"
And I check "selected[]"
# Delay before accepting the request to make sure the cache is expired:
And it is currently 1 second from now
And I press "Accept"
Then I should see "You are now listed as a co-creator on Chapter 2 of Rusty Has Two Moms."
When I follow "Rusty Has Two Moms"
Then I should see "brenda, rusty"
And I should see "Edit"
Scenario: You should not be able to invite a co-creator to a chapter if they do not allow it.
Given the user "brenda" disallows co-creators
And I am logged in as "rusty"
And I post the work "Rusty Has Two Moms"
When a chapter is set up for "Rusty Has Two Moms"
And I try to invite the co-author "brenda"
And I press "Post"
Then I should see "brenda does not allow others to invite them to be a co-creator."
And 0 emails should be delivered to "brenda"
When I press "Preview"
Then I should see "This is a draft chapter in a posted work. It will be kept unless the work is deleted."
When I press "Post"
Then I should see "Chapter was successfully posted."
And I should see "rusty"
And I should not see "brenda"
Scenario: You should be able to add a co-creator to a chapter if they do not allow it, if they are a co-creator of the work.
Given the user "thegoodmom" allows co-creators
And I am logged in as "rusty"
And I set up the draft "Rusty Has Two Moms"
And I invite the co-author "thegoodmom"
And I post the work without preview
Then I should see "Work was successfully posted."
When the user "thegoodmom" accepts all co-creator requests
And I view the work "Rusty Has Two Moms"
Then I should see "rusty, thegoodmom"
When the user "thegoodmom" disallows co-creators
And I post a chapter for the work "Rusty Has Two Moms"
Then I should see "Chapter has been posted!"
And I follow "Chapter 2"
And I should see "Chapter by rusty"
And I follow "Edit Chapter"
When I check "Add co-creators?"
And I fill in "pseud_byline" with "thegoodmom"
And I press "Post"
Then I should see "Chapter was successfully updated."
And I follow "Chapter 2"
And I follow "Edit Chapter"
And I should see "Remove Me As Chapter Co-Creator"
Scenario: You can't add a chapter to a work with too many tags
Given the user-defined tag limit is 7
And I am logged in as a random user
And I post the work "Over the Limit"
And the work "Over the Limit" has 2 fandom tags
And the work "Over the Limit" has 2 character tags
And the work "Over the Limit" has 2 relationship tags
And the work "Over the Limit" has 2 freeform tags
When I follow "Add Chapter"
And I fill in "content" with "this is my second chapter"
And I press "Post"
Then I should see "Fandom, relationship, character, and additional tags must not add up to more than 7. Your work has 8 of these tags, so you must remove 1 of them."
When I view the work "Over the Limit"
Then I should see "1/1"
And I should not see "Next Chapter"