otwarchive-symphonyarchive/features/works/work_download.feature

423 lines
16 KiB
Gherkin
Raw Permalink Normal View History

2026-03-11 22:22:11 +00:00
@works
Feature: Download a work
Scenario: Download a work in various formats
Given I am logged in as "myname"
And I post the work "Tittle with doubble letters"
Then I should be able to download all versions of "Tittle with doubble letters"
Scenario: Download works with double quotes in title
Given I am logged in as "myname"
And I set up the draft "Foo"
And I fill in "Work Title" with
"""
"Has double quotes"
"""
And I fill in "content" with "some random stuff"
When I press "Preview"
And I press "Post"
And I follow "PDF"
Then I should receive a file of type "pdf"
When I go to the work page with title "Has double quotes"
And I follow "MOBI"
Then I should receive a file of type "mobi"
When I go to the work page with title "Has double quotes"
And I follow "EPUB"
Then I should receive a file of type "epub"
When I go to the work page with title "Has double quotes"
And I follow "AZW3"
Then I should receive a file of type "azw3"
When I go to the work page with title "Has double quotes"
And I follow "HTML"
Then I should receive a file of type "html"
And the page title should include '"Has double quotes"'
Scenario: Download works with non-ASCII characters in title
Given I am logged in as "myname"
When I post the work "Первый_маг"
Then I should be able to download all versions of "Первый_маг"
When I post the work "Hàs curlyd quotes"
Then I should be able to download all versions of "Hàs curlyd quotes"
When I post the work " é Türkçe Karakterler başlıkta nasıl görünüyor"
Then I should be able to download all versions of " é Türkçe Karakterler başlıkta nasıl görünüyor"
When I post the work "à ø something"
Then I should be able to download all versions of "à ø something"
When I post the work ""
Then I should be able to download all versions of ""
When I post the work "-dash in title-"
Then I should be able to download all versions of "-dash in title-"
When I post the work "Emjoi 🤩 Yay 🥳"
Then I should be able to download all versions of "Emjoi 🤩 Yay 🥳"
Scenario: Downloaded work header contains expected meta fields in expected order
Given basic tags
And I have a collection "My Collection 1" with name "mycollection1"
And I have a collection "My Collection 2" with name "mycollection2"
And I am logged in
And I go to the new work page
And I select "General" from "Rating"
And I check "No Archive Warnings Apply"
And I check "Gen"
And I fill in "Fandoms" with "Cool Fandom"
And I fill in "Characters" with "Character 1, Character 2, Character 3"
And I fill in "Relationships" with "Character 1/Character 2, Character 1 & Character 3"
And I fill in "Additional Tags" with "Modern AU"
And I set the publication date to 10 January 2015
And I check "This work is part of a series"
And I fill in "Or create and use a new one:" with "THE DOWN"
And I fill in "Post to Collections / Challenges" with "mycollection1, mycollection2"
And I fill in "Work Title" with "Downloadable"
And I fill in "content" with "Could be downloaded"
And I select "English" from "Choose a language"
And I press "Post"
And I follow "Add Chapter"
And I fill in "content" with "Remember, remember the 5th of November"
And I set the publication date to 5 November 2020
And I press "Post"
When I view the work "Downloadable"
And I follow "HTML"
Then I should see "Downloadable"
And I should see "Rating: General Audiences"
And I should see "Archive Warning: No Archive Warnings Apply"
And I should see "Category: Gen"
And I should see "Fandom: Cool Fandom"
And I should see "Relationships: Character 1/Character 2, Character 1 & Character 3"
And I should see "Characters: Character 1, Character 2, Character 3"
And I should see "Additional Tags: Modern AU"
And I should see "Language: English"
And I should see "Series: Part 1 of THE DOWN"
And I should see "Collections: My Collection 1, My Collection 2"
And I should see "Published: 2015-01-10"
And I should see "Completed: 2020-11-05"
And I should see "Words: 9"
And I should see "Chapters: 2/2"
And "Rating:" should appear before "Archive Warning"
And "Archive Warning:" should appear before "Category"
And "Category:" should appear before "Fandom"
And "Fandom:" should appear before "Relationship"
And "Relationships:" should appear before "Character"
And "Characters:" should appear before "Additional Tags"
And "Additional Tags:" should appear before "Language"
And "Language:" should appear before "Series"
And "Series:" should appear before "Collections"
And "Collections:" should appear before "Published"
And "Published:" should appear before "Completed"
And "Completed:" should appear before "Chapters"
And "Words:" should appear before "Chapters:"
And "Chapters:" should appear before "Could be downloaded"
Scenario: Downloaded work afterword does not mention author
Given the work "Downloadable"
When I view the work "Downloadable"
And I follow "HTML"
Then I should not see "to let the author know if you enjoyed"
But I should see "to let the creator know if you enjoyed"
Scenario: Download of chaptered works includes chapters
Given the chaptered work "Bazinga"
When I view the work "Bazinga"
And I follow "HTML"
Then I should see "Chapter 2"
Scenario: Download of chaptered work without posted chapters does not include chapters
Given the work "Bazinga"
And a draft chapter is added to "Bazinga"
And I delete chapter 1 of "Bazinga"
When I view the work "Bazinga"
And I follow "HTML"
Then I should not see "Chapter 1"
And I should not see "Chapter 2"
And I should be able to download all versions of "Bazinga"
Scenario: Download chaptered works
Given I am logged in as "author"
When I post the chaptered work "Epic Novel"
Then I should be able to download all versions of "Epic Novel"
Scenario: Works can be downloaded when anonymous
Given there is a work "Test Work" in an anonymous collection "Anonymous"
When I am a visitor
And I view the work "Test Work"
And I follow "HTML"
Then I should see "Anonymous"
And I should be able to download all versions of "Test Work"
Scenario: Multifandom works can be downloaded
Given I am logged in
And I set up the draft "Many Fandom Work"
And I fill in "Fandoms" with "Fandom 1, Fandom 2, Fandom 3, Fandom 4"
And I press "Post"
When I log out
And I view the work "Many Fandom Work"
And I follow "HTML"
Then the page title should include "Multifandom"
And I should be able to download all versions of "Many Fandom Work"
Scenario: Download work shows inspiring work link
Given I have related works setup
When I post a related work as remixer
And I view the work "Followup"
And I follow "HTML"
Then I should see the inspiring parent work link
Scenario: Download work shows inspiring external inspiring work link
Given I have related works setup
When I post a related work as remixer for an external work
And I view the work "Followup"
And I follow "HTML"
Then I should see the external inspiring work link
Scenario: Work and chapter with notes and end notes show with "more" in the link to end notes.
Given I am logged in
And I set up the draft "got notes?"
And I check "at the beginning"
And I fill in "Notes" with "READ THE TAGS FIRST"
And I check "at the end"
And I fill in "End Notes" with "That's all, folks!"
And I fill in "content" with "Could be downloaded"
And I press "Post"
And I follow "Add Chapter"
And I fill in "content" with "Remember, remember the 5th of November"
And I check "at the beginning"
And I fill in "Notes" with "hey guys its been a while 🙃"
And I check "at the end"
And I fill in "End Notes" with "Next update soon!!!"
And I press "Post"
When I view the work "got notes?"
And I follow "HTML"
Then I should see "Notes"
And I should see "READ THE TAGS FIRST"
And I should see "See the end of the work for more notes"
And I should not see "See the end of the work for notes"
And I should see "End Notes"
And I should see "That's all, folks!"
And I should see "Chapter Notes"
And I should see "hey guys its been a while 🙃"
And I should see "See the end of the chapter for more notes"
And I should not see "See the end of the chapter for notes"
And I should see "Chapter End Notes"
And I should see "Next update soon!!!"
Scenario: Work and chapter with only end notes show without "more" in the link to end notes.
Given I am logged in
And I set up the draft "got notes?"
And I check "at the end"
And I fill in "End Notes" with "That's all, folks!"
And I fill in "content" with "Could be downloaded"
And I press "Post"
And I follow "Add Chapter"
And I fill in "content" with "Remember, remember the 5th of November"
And I check "at the end"
And I fill in "End Notes" with "Next update soon!!!"
And I press "Post"
When I view the work "got notes?"
And I follow "HTML"
Then I should see "Notes"
And I should not see "See the end of the work for more notes"
And I should see "See the end of the work for notes"
And I should see "End Notes"
And I should see "That's all, folks!"
And I should see "Chapter Notes"
And I should not see "See the end of the chapter for more notes"
And I should see "See the end of the chapter for notes"
And I should see "Chapter End Notes"
And I should see "Next update soon!!!"
Scenario: Work and chapter with only notes show without the link to end notes.
Given I am logged in
And I set up the draft "got notes?"
And I check "at the beginning"
And I fill in "Notes" with "READ THE TAGS FIRST"
And I fill in "content" with "Could be downloaded"
And I press "Post"
And I follow "Add Chapter"
And I fill in "content" with "Remember, remember the 5th of November"
And I check "at the beginning"
And I fill in "Notes" with "hey guys its been a while 🙃"
And I press "Post"
When I view the work "got notes?"
And I follow "HTML"
Then I should see "Notes"
And I should see "READ THE TAGS FIRST"
And I should not see "See the end of the work for "
And I should not see "End Notes"
And I should see "Chapter Notes"
And I should see "hey guys its been a while 🙃"
And I should not see "See the end of the chapter for "
And I should not see "Chapter End Notes"
Scenario: Work and chapter with no notes and no end notes show without the link to end notes or empty sections.
Given I am logged in
And I set up the draft "got notes?"
And I fill in "content" with "Could be downloaded"
And I press "Post"
And I follow "Add Chapter"
And I fill in "content" with "Remember, remember the 5th of November"
And I press "Post"
When I view the work "got notes?"
And I follow "HTML"
Then I should not see "Notes"
And I should not see "See the end of the work for "
And I should not see "End Notes"
And I should not see "Chapter Notes"
And I should not see "See the end of the chapter for "
And I should not see "Chapter End Notes"
Scenario: Download option is unavailable if work is unrevealed.
Given there is a work "Blabla" in an unrevealed collection "Unrevealed"
And I am logged in as the author of "Blabla"
Then I should not see "Download"
Scenario: Download option is unavailable if work is unposted.
Given I am logged in
And the draft "Unposted Work"
When I view the work "Unposted Work"
Then I should not see "Download"
Scenario: Download option is unavailable if work is hidden by admin.
Given I am logged in
And I post the work "TOS Violation"
When I am logged in as a "policy_and_abuse" admin
And I hide the work "TOS Violation"
Then I should not see "Download"
Scenario: Downloads of related work update when parent work's anonymity changes.
Given a hidden collection "Hidden"
And I have related works setup
And I post a related work as remixer
And I post a translation as translator
And I log out
When I view the work "Followup"
And I follow "HTML"
Then I should see "Worldbuilding by inspiration"
When I view the work "Worldbuilding Translated"
And I follow "HTML"
Then I should see "Worldbuilding by inspiration"
# Going from revealed to unrevealed
When I am logged in as "inspiration"
And I edit the work "Worldbuilding" to be in the collection "Hidden"
And I log out
And I view the work "Followup"
And I follow "HTML"
Then I should not see "inspiration"
And I should see "Inspired by a work in an unrevealed collection"
When I view the work "Worldbuilding Translated"
And I follow "HTML"
Then I should not see "inspiration"
And I should see "A translation of a work in an unrevealed collection"
# Going from unrevealed to revealed
When I reveal works for "Hidden"
And I log out
And I view the work "Followup"
And I follow "HTML"
Then I should see "Worldbuilding by inspiration"
When I view the work "Worldbuilding Translated"
And I follow "HTML"
Then I should see "Worldbuilding by inspiration"
Scenario: Downloads of related work update when child work's anonymity changes.
Given a hidden collection "Hidden"
And I have related works setup
And a related work has been posted and approved
When I view the work "Worldbuilding"
And I follow "HTML"
Then I should see "Followup by remixer"
And I should not see "A work in an unrevealed collection"
# Going from revealed to unrevealed
When I am logged in as "remixer"
And I edit the work "Followup" to be in the collection "Hidden"
And I view the work "Worldbuilding"
And I follow "HTML"
Then I should not see "Followup by remixer"
And I should see "A work in an unrevealed collection"
# Going from unrevealed to revealed
When I reveal works for "Hidden"
And I log out
And I view the work "Worldbuilding"
And I follow "HTML"
Then I should see "Followup by remixer"
And I should not see "A work in an unrevealed collection"
Scenario: Downloads hide titles of restricted related works
Given I have related works setup
And a related work has been posted and approved
And I am logged in as "remixer"
And I lock the work "Followup"
When I am logged out
And I view the work "Worldbuilding"
And I follow "HTML"
Then I should see "[Restricted Work] by remixer"
When I am logged in as "inspiration"
And I lock the work "Worldbuilding"
And I am logged in as "remixer"
And I unlock the work "Followup"
And I am logged out
And I view the work "Followup"
And I follow "HTML"
Then I should see "Inspired by [Restricted Work] by inspiration"
Scenario: Downloads of translated work update when translation's revealed status changes.
Given a hidden collection "Hidden"
And I have related works setup
And a translation has been posted and approved
And I log out
When I view the work "Worldbuilding"
And I follow "HTML"
Then I should see "Worldbuilding Translated by translator"
# Going from revealed to unrevealed
When I am logged in as "translator"
And I edit the work "Worldbuilding Translated" to be in the collection "Hidden"
And I log out
And I view the work "Worldbuilding"
And I follow "HTML"
Then I should not see "Worldbuilding Translated by translator"
And I should see "A work in an unrevealed collection"
# Going from unrevealed to revealed
When I reveal works for "Hidden"
And I log out
And I view the work "Worldbuilding"
And I follow "HTML"
Then I should see "Worldbuilding Translated by translator"
Scenario: Downloads hide titles of restricted work translations
Given I have related works setup
And a translation has been posted and approved
And I am logged in as "translator"
And I lock the work "Worldbuilding Translated"
When I am logged out
And I view the work "Worldbuilding"
And I follow "HTML"
Then I should see "[Restricted Work] by translator"