discourse/spec/system/page_objects/modals/base.rb
2024-10-24 13:05:41 -03:00

62 lines
1.0 KiB
Ruby

# frozen_string_literal: true
module PageObjects
module Modals
class Base
include Capybara::DSL
include RSpec::Matchers
include SystemHelpers
BODY_SELECTOR = ""
def header
find(".d-modal__header")
end
def body
find(".d-modal__body#{BODY_SELECTOR}")
end
def footer
find(".d-modal__footer")
end
def has_footer?
has_css?(".d-modal__footer")
end
def has_no_footer?
has_no_css?(".d-modal__footer")
end
def close
find(".modal-close").click
end
def cancel
find(".d-modal-cancel").click
end
def click_outside
find(".d-modal").click(x: 0, y: 0)
end
def click_primary_button
footer.find(".btn-primary").click
end
def has_content?(content)
body.has_content?(content)
end
def open?
has_css?(".modal.d-modal")
end
def closed?
has_no_css?(".modal.d-modal")
end
end
end
end