From 1e79ebf044c26e363587ae5c78999a324da6d8f6 Mon Sep 17 00:00:00 2001 From: Lin Jen-Shin Date: Tue, 2 Jan 2018 22:09:43 +0800 Subject: Put all menus under menu module --- qa/qa.rb | 4 +- qa/qa/factory/resource/sandbox.rb | 2 +- qa/qa/factory/settings/hashed_storage.rb | 6 +-- qa/qa/page/admin/menu.rb | 15 ------- qa/qa/page/main/menu.rb | 50 ---------------------- qa/qa/page/menu/admin.rb | 15 +++++++ qa/qa/page/menu/main.rb | 50 ++++++++++++++++++++++ qa/qa/specs/features/login/standard_spec.rb | 2 +- .../specs/features/mattermost/group_create_spec.rb | 2 +- 9 files changed, 73 insertions(+), 73 deletions(-) delete mode 100644 qa/qa/page/admin/menu.rb delete mode 100644 qa/qa/page/main/menu.rb create mode 100644 qa/qa/page/menu/admin.rb create mode 100644 qa/qa/page/menu/main.rb (limited to 'qa') diff --git a/qa/qa.rb b/qa/qa.rb index 4fc656253af..453e4e9e164 100644 --- a/qa/qa.rb +++ b/qa/qa.rb @@ -70,12 +70,13 @@ module QA module Main autoload :Login, 'qa/page/main/login' - autoload :Menu, 'qa/page/main/menu' autoload :OAuth, 'qa/page/main/oauth' end module Menu + autoload :Main, 'qa/page/menu/main' autoload :Side, 'qa/page/menu/side' + autoload :Admin, 'qa/page/menu/admin' end module Dashboard @@ -100,7 +101,6 @@ module QA end module Admin - autoload :Menu, 'qa/page/admin/menu' autoload :Settings, 'qa/page/admin/settings' end diff --git a/qa/qa/factory/resource/sandbox.rb b/qa/qa/factory/resource/sandbox.rb index 558da1c973b..ad376988e82 100644 --- a/qa/qa/factory/resource/sandbox.rb +++ b/qa/qa/factory/resource/sandbox.rb @@ -11,7 +11,7 @@ module QA end def fabricate! - Page::Main::Menu.act { go_to_groups } + Page::Menu::Main.act { go_to_groups } Page::Dashboard::Groups.perform do |page| if page.has_group?(@name) diff --git a/qa/qa/factory/settings/hashed_storage.rb b/qa/qa/factory/settings/hashed_storage.rb index eb3b28f2613..13ce2435fe4 100644 --- a/qa/qa/factory/settings/hashed_storage.rb +++ b/qa/qa/factory/settings/hashed_storage.rb @@ -6,15 +6,15 @@ module QA raise ArgumentError unless traits.include?(:enabled) Page::Main::Login.act { sign_in_using_credentials } - Page::Main::Menu.act { go_to_admin_area } - Page::Admin::Menu.act { go_to_settings } + Page::Menu::Main.act { go_to_admin_area } + Page::Menu::Admin.act { go_to_settings } Page::Admin::Settings.act do enable_hashed_storage save_settings end - QA::Page::Main::Menu.act { sign_out } + QA::Page::Menu::Main.act { sign_out } end end end diff --git a/qa/qa/page/admin/menu.rb b/qa/qa/page/admin/menu.rb deleted file mode 100644 index dd289ffe269..00000000000 --- a/qa/qa/page/admin/menu.rb +++ /dev/null @@ -1,15 +0,0 @@ -module QA - module Page - module Admin - class Menu < Page::Base - def go_to_license - click_link 'License' - end - - def go_to_settings - click_link 'Settings' - end - end - end - end -end diff --git a/qa/qa/page/main/menu.rb b/qa/qa/page/main/menu.rb deleted file mode 100644 index bc9c4ec1215..00000000000 --- a/qa/qa/page/main/menu.rb +++ /dev/null @@ -1,50 +0,0 @@ -module QA - module Page - module Main - class Menu < Page::Base - def go_to_groups - within_top_menu { click_link 'Groups' } - end - - def go_to_projects - within_top_menu do - click_link 'Projects' - click_link 'Your projects' - end - end - - def go_to_admin_area - within_top_menu { find('.admin-icon').click } - end - - def sign_out - within_user_menu do - click_link('Sign out') - end - end - - def has_personal_area? - page.has_selector?('.header-user-dropdown-toggle') - end - - private - - def within_top_menu - page.within('.navbar') do - yield - end - end - - def within_user_menu - within_top_menu do - find('.header-user-dropdown-toggle').click - - page.within('.dropdown-menu-nav') do - yield - end - end - end - end - end - end -end diff --git a/qa/qa/page/menu/admin.rb b/qa/qa/page/menu/admin.rb new file mode 100644 index 00000000000..07fe40fda3a --- /dev/null +++ b/qa/qa/page/menu/admin.rb @@ -0,0 +1,15 @@ +module QA + module Page + module Menu + class Admin < Page::Base + def go_to_license + click_link 'License' + end + + def go_to_settings + click_link 'Settings' + end + end + end + end +end diff --git a/qa/qa/page/menu/main.rb b/qa/qa/page/menu/main.rb new file mode 100644 index 00000000000..b94c2c6c23d --- /dev/null +++ b/qa/qa/page/menu/main.rb @@ -0,0 +1,50 @@ +module QA + module Page + module Menu + class Main < Page::Base + def go_to_groups + within_top_menu { click_link 'Groups' } + end + + def go_to_projects + within_top_menu do + click_link 'Projects' + click_link 'Your projects' + end + end + + def go_to_admin_area + within_top_menu { find('.admin-icon').click } + end + + def sign_out + within_user_menu do + click_link('Sign out') + end + end + + def has_personal_area? + page.has_selector?('.header-user-dropdown-toggle') + end + + private + + def within_top_menu + page.within('.navbar') do + yield + end + end + + def within_user_menu + within_top_menu do + find('.header-user-dropdown-toggle').click + + page.within('.dropdown-menu-nav') do + yield + end + end + end + end + end + end +end diff --git a/qa/qa/specs/features/login/standard_spec.rb b/qa/qa/specs/features/login/standard_spec.rb index 9eaa2b772e6..141ffa3cfb7 100644 --- a/qa/qa/specs/features/login/standard_spec.rb +++ b/qa/qa/specs/features/login/standard_spec.rb @@ -7,7 +7,7 @@ module QA # TODO, since `Signed in successfully` message was removed # this is the only way to tell if user is signed in correctly. # - Page::Main::Menu.perform do |menu| + Page::Menu::Main.perform do |menu| expect(menu).to have_personal_area end end diff --git a/qa/qa/specs/features/mattermost/group_create_spec.rb b/qa/qa/specs/features/mattermost/group_create_spec.rb index b3dbe44bf6e..2e27a285223 100644 --- a/qa/qa/specs/features/mattermost/group_create_spec.rb +++ b/qa/qa/specs/features/mattermost/group_create_spec.rb @@ -3,7 +3,7 @@ module QA scenario 'creating a group with a mattermost team' do Runtime::Browser.visit(:gitlab, Page::Main::Login) Page::Main::Login.act { sign_in_using_credentials } - Page::Main::Menu.act { go_to_groups } + Page::Menu::Main.act { go_to_groups } Page::Dashboard::Groups.perform do |page| page.go_to_new_group -- cgit v1.2.1