otwarchive-symphonyarchive/features/step_definitions/kudos_steps.rb

49 lines
1.4 KiB
Ruby
Raw Normal View History

2026-03-11 22:22:11 +00:00
### GIVEN
Given "a work {string} with {int} kudo(s)" do |title, count|
step "basic tags"
work = FactoryBot.create(:work, title: title)
count.times do |i|
user = User.find_by(login: "fan#{i + 1}") ||
FactoryBot.create(:user, login: "fan#{i + 1}")
work.kudos.create(user: user)
end
end
Given "the maximum number of kudos to show is {int}" do |count|
allow(ArchiveConfig).to receive(:MAX_KUDOS_TO_SHOW).and_return(count)
end
### WHEN
When /^I leave kudos on "([^\"]*)"$/ do |work_title|
step %{I view the work "#{work_title}"}
click_button("kudo_submit")
end
When "the kudos cache has expired" do
step "it is currently #{ArchiveConfig.MINUTES_UNTIL_COMMENTABLE_KUDOS_LISTS_EXPIRE} minutes from now"
end
### THEN
Then /^I should see kudos on every chapter$/ do
step %{I should see "myname3 left kudos on this work!"}
step %{I follow "Next Chapter"}
step %{I should see "myname3 left kudos on this work!"}
step %{I follow "Entire Work"}
step %{I should see "myname3 left kudos on this work!"}
end
Then /^I should see kudos on every chapter but the draft$/ do
step %{I should see "myname3 left kudos on this work!"}
step %{I follow "Next Chapter"}
step %{I should see "myname3 left kudos on this work!"}
step %{I follow "Next Chapter"}
step %{I should not see "myname3 left kudos on this work!"}
step %{I follow "Entire Work"}
step %{I should see "myname3 left kudos on this work!"}
end