Files
grecia/spec/support/common_actions.rb
taitus addda0c773 Unify duplicated methods in common_actions folder
Replaced the user with a level_two one in the "Default whole city" test to
bypass the full name requirement, which only applies to unverified users.
2025-06-06 17:07:50 +02:00

102 lines
2.6 KiB
Ruby

Dir["./spec/support/common_actions/*.rb"].each { |f| require f }
Dir["./spec/support/common_actions/custom/*.rb"].each { |f| require f }
module CommonActions
include Attachables
include Budgets
include Comments
include Cookies
include Debates
include Emails
include GraphQLAPI
include Maps
include Notifications
include Polls
include Proposals
include RemoteCensusMock
include Secrets
include Tags
include Translations
include Users
include Verifications
def app_host
"#{Capybara.app_host}:#{app_port}"
end
def app_port
Capybara::Server.ports.values.last
end
def fill_in_signup_form(email = "manuela@consul.dev", password = "judgementday")
fill_in "user_username", with: "Manuela Carmena #{rand(99999)}"
fill_in "user_email", with: email
fill_in "user_password", with: password
fill_in "user_password_confirmation", with: password
check "user_terms_of_service"
end
def validate_officer
allow_any_instance_of(Officing::BaseController)
.to receive(:verify_officer_assignment).and_return(true)
end
def fill_in_proposal
fill_in_new_proposal_title with: "Proposal title"
fill_in "Proposal summary", with: "Proposal summary"
check :proposal_terms_of_service
end
def fill_in_budget
fill_in "Name", with: "Budget name"
end
def fill_in_dashboard_action
fill_in :dashboard_action_title, with: "Dashboard title"
fill_in_ckeditor "Description", with: "Dashboard description"
end
def fill_in_budget_investment
fill_in_new_investment_title with: "Budget investment title"
fill_in_ckeditor "Description", with: "Budget investment description"
check :budget_investment_terms_of_service
end
def fill_in_new_proposal_title(with:)
fill_in "Proposal title", with: with
expect(page).to have_css ".suggest-success"
end
def fill_in_new_debate_title(with:)
fill_in "Debate title", with: with
expect(page).to have_css ".suggest-success"
end
def fill_in_new_investment_title(with:)
fill_in "Title", with: with
expect(page).to have_css ".suggest-success"
end
def set_officing_booth(booth = nil)
booth = create(:poll_booth) if booth.blank?
allow_any_instance_of(Officing::BaseController)
.to receive(:current_booth).and_return(booth)
end
def click_sdg_goal(code)
within(".sdg-related-list-selector .goals") do
find("[data-code='#{code}'] + label").click
end
end
def remove_sdg_goal_or_target_tag(code)
within "span[data-val='#{code}']" do
click_button "Remove"
end
end
end