otwarchive-symphonyarchive/features/works/work_download.feature
2026-03-11 22:22:11 +00:00

422 lines
16 KiB
Gherkin
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

@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"