# frozen_string_literal: true module PageObjects module Components class DMenu < PageObjects::Components::Base attr_reader :component def initialize(input) if input.is_a?(Capybara::Node::Element) @component = input else @component = find(input) end end def expand raise "DMenu is already expanded" if is_expanded? component.click end def collapse raise "DMenu is already collapsed" if is_collapsed? component.click end def is_expanded? component["aria-expanded"] == "true" end def is_collapsed? !is_expanded? end def option(selector) within("#d-menu-portals") { find(selector) } end end end end