104 lines
3.9 KiB
Ruby
104 lines
3.9 KiB
Ruby
|
|
### GIVEN
|
||
|
|
|
||
|
|
Given /^I have an archivist "([^\"]*)"$/ do |name|
|
||
|
|
step(%{the user "#{name}" exists and has the role "archivist"})
|
||
|
|
end
|
||
|
|
|
||
|
|
Given /^I have pre-archivist setup for "([^\"]*)"$/ do |name|
|
||
|
|
step(%{I am logged in as "#{name}"})
|
||
|
|
step(%{the role "archivist"})
|
||
|
|
end
|
||
|
|
|
||
|
|
Given /^I have an Open Doors committee member "([^\"]*)"$/ do |name|
|
||
|
|
step(%{I have pre-archivist setup for "#{name}"})
|
||
|
|
step(%{I make "#{name}" an Open Doors committee member})
|
||
|
|
end
|
||
|
|
|
||
|
|
### WHEN
|
||
|
|
|
||
|
|
When /^I make "([^\"]*)" an archivist$/ do |name|
|
||
|
|
step(%{I go to the manage users page})
|
||
|
|
step(%{I fill in "Name" with "#{name}"})
|
||
|
|
step(%{I press "Find"})
|
||
|
|
step(%{I check the "archivist" role checkbox})
|
||
|
|
step(%{I press "Update"})
|
||
|
|
end
|
||
|
|
|
||
|
|
When /^I make "([^\"]*)" an Open Doors committee member$/ do |name|
|
||
|
|
@user = User.find_by(login: name)
|
||
|
|
@role = Role.find_or_create_by(name: "opendoors")
|
||
|
|
@user.roles = [@role]
|
||
|
|
end
|
||
|
|
|
||
|
|
When /^(?:|I )fill in "([^"]*)" with the path to (.+)$/ do |field, page_name|
|
||
|
|
fill_in(field, with: path_to(page_name))
|
||
|
|
end
|
||
|
|
|
||
|
|
When /^I start to import the work "([^\"]*)"(?: by "([^\"]*)" with email "([^\"]*)")?$/ do |url, external_author_name, external_author_email|
|
||
|
|
step(%{I go to the import page})
|
||
|
|
step(%{I check "Import for others ONLY with permission"})
|
||
|
|
step(%{I fill in "urls" with "#{url}"})
|
||
|
|
step %{I select "English" from "Choose a language"}
|
||
|
|
if external_author_name.present?
|
||
|
|
step(%{I fill in "external_author_name" with "#{external_author_name}"})
|
||
|
|
step(%{I fill in "external_author_email" with "#{external_author_email}"})
|
||
|
|
end
|
||
|
|
end
|
||
|
|
|
||
|
|
When /^I import the work "(.*?)"(?: by "(.*?)" with email "(.*?)")?(?: and by "(.*?)" with email "(.*?)")?$/ do
|
||
|
|
|url, creator_name, creator_email, cocreator_name, cocreator_email|
|
||
|
|
step(%{I go to the import page})
|
||
|
|
step(%{I check "Import for others ONLY with permission"})
|
||
|
|
step(%{I fill in "urls" with "#{url}"})
|
||
|
|
step %{I select "English" from "Choose a language"}
|
||
|
|
if creator_name.present?
|
||
|
|
step(%{I fill in "external_author_name" with "#{creator_name}"})
|
||
|
|
step(%{I fill in "external_author_email" with "#{creator_email}"})
|
||
|
|
end
|
||
|
|
if cocreator_name.present?
|
||
|
|
step(%{I fill in "external_coauthor_name" with "#{cocreator_name}"})
|
||
|
|
step(%{I fill in "external_coauthor_email" with "#{cocreator_email}"})
|
||
|
|
end
|
||
|
|
step(%{I check "Post without previewing"})
|
||
|
|
step(%{I press "Import"})
|
||
|
|
end
|
||
|
|
|
||
|
|
When /^I import the works "([^\"]*)"$/ do |urls|
|
||
|
|
urls = urls.split(/, ?/).join("\n")
|
||
|
|
step(%{I go to the import page})
|
||
|
|
step(%{I check "Import for others ONLY with permission"})
|
||
|
|
step(%{I fill in "urls" with "#{urls}"})
|
||
|
|
step %{I select "English" from "Choose a language"}
|
||
|
|
step(%{I check "Post without previewing"})
|
||
|
|
step(%{I press "Import"})
|
||
|
|
end
|
||
|
|
|
||
|
|
### THEN
|
||
|
|
|
||
|
|
Then /^I should not see multi-story import messages$/ do
|
||
|
|
step %{I should not see "Importing completed successfully for the following works! (But please check the results over carefully!)"}
|
||
|
|
step %{I should not see "Imported Works"}
|
||
|
|
step %{I should not see "We were able to successfully upload the following works."}
|
||
|
|
end
|
||
|
|
|
||
|
|
Then /^I should see multi-story import messages$/ do
|
||
|
|
step %{I should see "Importing completed successfully for the following works! (But please check the results over carefully!)"}
|
||
|
|
step %{I should see "Imported Works"}
|
||
|
|
step %{I should see "We were able to successfully upload the following works."}
|
||
|
|
end
|
||
|
|
|
||
|
|
Then /^I should see import confirmation$/ do
|
||
|
|
step %{I should see "We have notified the author(s) you imported works for. If any were missed, you can also add co-authors manually."}
|
||
|
|
end
|
||
|
|
|
||
|
|
Then /^the email should contain invitation warnings from "([^\"]*)" for work "([^\"]*)" in fandom "([^\"]*)"$/ do |name, work, fandom|
|
||
|
|
step %{the email should contain "has recently been imported"}
|
||
|
|
step %{the email should contain "Open Doors"}
|
||
|
|
step %{the email should contain "#{work}"}
|
||
|
|
step %{the email should contain "#{fandom}"}
|
||
|
|
end
|
||
|
|
|
||
|
|
Then /^the email should contain claim information$/ do
|
||
|
|
step %{the email should contain "automatically added to your AO3 account"}
|
||
|
|
end
|