kanbanworkflowstimelinescrumrubyroadmapproject-planningproject-managementopenprojectangularissue-trackerifcgantt-chartganttbug-trackerboardsbcf
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
60 lines
1.2 KiB
60 lines
1.2 KiB
6 years ago
|
module Components
|
||
|
class GlobalSearch
|
||
|
include Capybara::DSL
|
||
|
include RSpec::Matchers
|
||
|
|
||
|
def initialize; end
|
||
|
|
||
|
def container
|
||
|
page.find('.top-menu-search--input')
|
||
|
end
|
||
|
|
||
|
def selector
|
||
|
'.top-menu-search--input'
|
||
|
end
|
||
|
|
||
|
def input
|
||
|
container.find 'input'
|
||
|
end
|
||
|
|
||
|
def search(query, submit_with_enter: false)
|
||
|
input.set ''
|
||
|
input.hover
|
||
|
input.click
|
||
|
input.set query
|
||
|
|
||
|
if submit_with_enter
|
||
|
input.send_keys :enter
|
||
|
end
|
||
|
end
|
||
|
|
||
|
def expect_open
|
||
|
expect(page).to have_selector(container)
|
||
|
end
|
||
|
|
||
|
def submit_in_project_and_subproject_scope
|
||
|
page.find('.global-search--project-scope[title="current_project_and_all_descendants"]', wait: 10).click
|
||
|
end
|
||
|
|
||
|
def submit_in_current_project
|
||
|
page.find('.global-search--project-scope[title="current_project"]', wait: 10).click
|
||
|
end
|
||
|
|
||
|
def submit_in_global_scope
|
||
|
page.find('.global-search--project-scope[title="all_projects"]', wait: 10).click
|
||
|
end
|
||
|
|
||
|
def find_work_package(wp)
|
||
|
find_option "##{wp.id} #{wp.subject}"
|
||
|
end
|
||
|
|
||
|
def find_option(text)
|
||
|
page.find('.global-search--option', text: text, wait: 10)
|
||
|
end
|
||
|
|
||
|
def cancel
|
||
|
input.send_keys :escape
|
||
|
end
|
||
|
end
|
||
|
end
|