2024-10-21 18:11:43 +08:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
|
|
|
module PageObjects
|
|
|
|
module Modals
|
|
|
|
class CreateInvite < PageObjects::Modals::Base
|
|
|
|
def modal
|
|
|
|
find(".create-invite-modal")
|
|
|
|
end
|
|
|
|
|
|
|
|
def edit_options_link
|
|
|
|
within(modal) { find(".edit-link-options") }
|
|
|
|
end
|
|
|
|
|
|
|
|
def save_button
|
|
|
|
within(modal) { find(".save-invite") }
|
|
|
|
end
|
|
|
|
|
2024-11-08 12:59:24 +08:00
|
|
|
def save_and_email_button
|
|
|
|
within(modal) { find(".save-invite-and-send-email") }
|
|
|
|
end
|
|
|
|
|
2024-10-21 18:11:43 +08:00
|
|
|
def copy_button
|
|
|
|
within(modal) { find(".copy-button") }
|
|
|
|
end
|
|
|
|
|
|
|
|
def has_copy_button?
|
|
|
|
within(modal) { has_css?(".copy-button") }
|
|
|
|
end
|
|
|
|
|
2024-11-08 12:59:24 +08:00
|
|
|
def has_alert_message?(message)
|
|
|
|
within(modal) { has_css?("#modal-alert .invite-link", text: message) }
|
|
|
|
end
|
|
|
|
|
2024-10-21 18:11:43 +08:00
|
|
|
def has_invite_link_input?
|
|
|
|
within(modal) { has_css?("input.invite-link") }
|
|
|
|
end
|
|
|
|
|
|
|
|
def invite_link_input
|
|
|
|
within(modal) { find("input.invite-link") }
|
|
|
|
end
|
|
|
|
|
|
|
|
def link_limits_info_paragraph
|
|
|
|
within(modal) { find("p.link-limits-info") }
|
|
|
|
end
|
|
|
|
|
|
|
|
def form
|
|
|
|
PageObjects::Components::FormKit.new(".create-invite-modal .form-kit")
|
|
|
|
end
|
|
|
|
|
|
|
|
def choose_topic(topic)
|
|
|
|
topic_picker = PageObjects::Components::SelectKit.new(".topic-chooser")
|
|
|
|
topic_picker.expand
|
|
|
|
topic_picker.search(topic.id)
|
|
|
|
topic_picker.select_row_by_index(0)
|
|
|
|
end
|
|
|
|
|
|
|
|
def choose_groups(groups)
|
|
|
|
group_picker = PageObjects::Components::SelectKit.new(".group-chooser")
|
|
|
|
group_picker.expand
|
|
|
|
groups.each { |group| group_picker.select_row_by_value(group.id) }
|
|
|
|
group_picker.collapse
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|