otwarchive-symphonyarchive/features/step_definitions/gift_steps.rb

44 lines
1.5 KiB
Ruby
Raw Permalink Normal View History

2026-03-11 22:22:11 +00:00
### NOTE: many of these steps rely on the background in gift.feature
Then /^"(.+)" should be notified by email about their gift "(.+)"$/ do |recipient, title|
step %{1 email should be delivered to "#{recipient}"}
step %{the email should contain "A gift work has been posted for you"}
step %{the email should link to the "#{title}" work page}
end
When /^I have given the work to "(.*?)"/ do |recipient|
step %{I give the work to "#{recipient}"}
step %{I post the work without preview}
end
Given(/^I have refused the work/) do
step %{I have given the work to "giftee1"}
# Delay to force the cache to expire when the gift is refused:
step "it is currently 1 second from now"
step %{I am logged in as "giftee1" with password "something"}
step %{I go to giftee1's gifts page}
step %{I follow "Refuse Gift"}
end
When /^I have removed the recipients/ do
fill_in("work_recipients", with: "")
step %{I post the work without preview}
end
Then /^"(.*?)" should be listed as a recipient in the form/ do |recipient|
recipients = page.find("input#work_recipients")['value']
assert recipients =~ /#{recipient}/
end
Then /^"(.*?)" should not be listed as a recipient in the form/ do |recipient|
recipients = page.find("input#work_recipients")['value']
assert recipients !~ /#{recipient}/
end
Then(/^the gift for "(.*?)" should still exist on "(.*?)"$/) do |recipient, work|
w = Work.find_by(title: work)
assert w.gifts.map(&:recipient).include?(recipient)
end