422 lines
16 KiB
Gherkin
422 lines
16 KiB
Gherkin
@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 curly’d quotes"
|
||
Then I should be able to download all versions of "Hàs curly’d 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"
|