diff options
author | Sanad Liaquat <sliaquat@gitlab.com> | 2019-09-05 20:49:32 +0500 |
---|---|---|
committer | Sanad Liaquat <sliaquat@gitlab.com> | 2019-09-05 20:49:32 +0500 |
commit | 9e8b1006c74a65d57bb1b3591f68fc14138418d1 (patch) | |
tree | d23a9264670b52d3a10208a4ae0f354d4880a42e | |
parent | 4e4fcf79c57f9c6f62b7a1cfbb6a83ee154f05fa (diff) | |
download | gitlab-ce-qa-testcases-195-audit-logs-ce.tar.gz |
EE to CE backport for audit logs e2e test changesqa-testcases-195-audit-logs-ce
Add qa selectors and refactor existing menu page objects
-rw-r--r-- | app/assets/javascripts/pages/projects/shared/permissions/components/settings_panel.vue | 1 | ||||
-rw-r--r-- | app/views/projects/_export.html.haml | 4 | ||||
-rw-r--r-- | app/views/projects/buttons/_download.html.haml | 2 | ||||
-rw-r--r-- | app/views/projects/edit.html.haml | 8 | ||||
-rw-r--r-- | qa/qa.rb | 1 | ||||
-rw-r--r-- | qa/qa/page/project/menu.rb | 2 | ||||
-rw-r--r-- | qa/qa/page/project/settings/advanced.rb | 27 | ||||
-rw-r--r-- | qa/qa/page/project/settings/main.rb | 10 | ||||
-rw-r--r-- | qa/qa/page/project/settings/visibility_features_permissions.rb | 26 | ||||
-rw-r--r-- | qa/qa/page/project/show.rb | 4 |
10 files changed, 77 insertions, 8 deletions
diff --git a/app/assets/javascripts/pages/projects/shared/permissions/components/settings_panel.vue b/app/assets/javascripts/pages/projects/shared/permissions/components/settings_panel.vue index ea867d30ce8..89cac42abae 100644 --- a/app/assets/javascripts/pages/projects/shared/permissions/components/settings_panel.vue +++ b/app/assets/javascripts/pages/projects/shared/permissions/components/settings_panel.vue @@ -215,6 +215,7 @@ export default { :disabled="!canChangeVisibilityLevel" name="project[visibility_level]" class="form-control select-control" + data-qa-selector="project_visibility_dropdown" > <option :value="visibilityOptions.PRIVATE" diff --git a/app/views/projects/_export.html.haml b/app/views/projects/_export.html.haml index e42772c2dd9..f564ed41760 100644 --- a/app/views/projects/_export.html.haml +++ b/app/views/projects/_export.html.haml @@ -26,9 +26,9 @@ %p= _('Once the exported file is ready, you will receive a notification email with a download link, or you can download it from this page.') - if project.export_status == :finished = link_to _('Download export'), download_export_project_path(project), - rel: 'nofollow', download: '', method: :get, class: "btn btn-default" + rel: 'nofollow', download: '', method: :get, class: "btn btn-default", data: { qa_selector: 'download_export_link' } = link_to _('Generate new export'), generate_new_export_project_path(project), method: :post, class: "btn btn-default" - else = link_to _('Export project'), export_project_path(project), - method: :post, class: "btn btn-default" + method: :post, class: "btn btn-default", data: { qa_selector: 'export_project_link' } diff --git a/app/views/projects/buttons/_download.html.haml b/app/views/projects/buttons/_download.html.haml index 4762045ee96..96df3cd18fe 100644 --- a/app/views/projects/buttons/_download.html.haml +++ b/app/views/projects/buttons/_download.html.haml @@ -3,7 +3,7 @@ - if !project.empty_repo? && can?(current_user, :download_code, project) - archive_prefix = "#{project.path}-#{ref.tr('/', '-')}" .project-action-button.dropdown.inline> - %button.btn.has-tooltip{ title: s_('DownloadSource|Download'), 'data-toggle' => 'dropdown', 'aria-label' => s_('DownloadSource|Download'), 'data-display' => 'static' } + %button.btn.has-tooltip{ title: s_('DownloadSource|Download'), 'data-toggle' => 'dropdown', 'aria-label' => s_('DownloadSource|Download'), 'data-display' => 'static', data: { qa_selector: 'download_source_code_button' } } = sprite_icon('download') %span.sr-only= _('Select Archive Format') = sprite_icon("arrow-down") diff --git a/app/views/projects/edit.html.haml b/app/views/projects/edit.html.haml index 763cc764144..b5e24cbbffb 100644 --- a/app/views/projects/edit.html.haml +++ b/app/views/projects/edit.html.haml @@ -10,7 +10,7 @@ %p= _('Update your project name, topics, description and avatar.') .settings-content= render 'projects/settings/general' -%section.settings.sharing-permissions.no-animate#js-shared-permissions{ class: ('expanded' if expanded) } +%section.settings.sharing-permissions.no-animate#js-shared-permissions{ class: ('expanded' if expanded), data: { qa_selector: 'visibility_features_permissions_content' } } .settings-header %h4.settings-title.js-settings-toggle.js-settings-toggle-trigger-only= _('Visibility, project features, permissions') %button.btn.btn-default.js-settings-toggle{ type: 'button' }= expanded ? _('Collapse') : _('Expand') @@ -21,7 +21,7 @@ %input{ name: 'update_section', type: 'hidden', value: 'js-shared-permissions' } %template.js-project-permissions-form-data{ type: "application/json" }= project_permissions_panel_data_json(@project) .js-project-permissions-form - = f.submit _('Save changes'), class: "btn btn-success" + = f.submit _('Save changes'), class: "btn btn-success", data: { qa_selector: 'visibility_features_permissions_save_button' } %section.qa-merge-request-settings.rspec-merge-request-settings.settings.merge-requests-feature.no-animate#js-merge-request-settings{ class: [('expanded' if expanded), ('hidden' if @project.project_feature.send(:merge_requests_access_level) == 0)] } .settings-header @@ -81,12 +81,12 @@ - if @project.archived? %p= _("Unarchiving the project will restore people's ability to make changes to it. The repository can be committed to, and issues, comments and other entities can be created. <strong>Once active this project shows up in the search and on the dashboard.</strong>").html_safe = link_to _('Unarchive project'), unarchive_project_path(@project), - data: { confirm: _("Are you sure that you want to unarchive this project?") }, + data: { confirm: _("Are you sure that you want to unarchive this project?"), qa_selector: 'unarchive_project_link' }, method: :post, class: "btn btn-success" - else %p= _("Archiving the project will make it entirely read-only. It is hidden from the dashboard and doesn't show up in searches. <strong>The repository cannot be committed to, and no issues, comments or other entities can be created.</strong>").html_safe = link_to _('Archive project'), archive_project_path(@project), - data: { confirm: _("Are you sure that you want to archive this project?") }, + data: { confirm: _("Are you sure that you want to archive this project?"), qa_selector: 'archive_project_link' }, method: :post, class: "btn btn-warning" .sub-section.rename-repository %h4.warning-title= _('Change path') @@ -221,6 +221,7 @@ module QA autoload :MergeRequest, 'qa/page/project/settings/merge_request' autoload :Members, 'qa/page/project/settings/members' autoload :MirroringRepositories, 'qa/page/project/settings/mirroring_repositories' + autoload :VisibilityFeaturesPermissions, 'qa/page/project/settings/visibility_features_permissions' end module SubMenus diff --git a/qa/qa/page/project/menu.rb b/qa/qa/page/project/menu.rb index a9226927741..5967213a52b 100644 --- a/qa/qa/page/project/menu.rb +++ b/qa/qa/page/project/menu.rb @@ -40,4 +40,4 @@ module QA end end -QA::Page::Project::Menu.prepend_if_ee('QA::EE::Page::Project::SubMenus::SecurityCompliance') +QA::Page::Project::Menu.prepend_if_ee('QA::EE::Page::Project::Menu') diff --git a/qa/qa/page/project/settings/advanced.rb b/qa/qa/page/project/settings/advanced.rb index ab4e3d757b6..3a5067a9541 100644 --- a/qa/qa/page/project/settings/advanced.rb +++ b/qa/qa/page/project/settings/advanced.rb @@ -12,6 +12,13 @@ module QA element :project_path_field element :change_path_button element :transfer_button + element :archive_project_link + element :unarchive_project_link + end + + view 'app/views/projects/_export.html.haml' do + element :export_project_link + element :download_export_link end def update_project_path_to(path) @@ -38,6 +45,26 @@ module QA fill_confirmation_text(project_name) click_confirm_button end + + def click_export_project_link + click_element :export_project_link + end + + def click_download_export_link + click_element :download_export_link + end + + def archive_project + page.accept_alert("Are you sure that you want to archive this project?") do + click_element :archive_project_link + end + end + + def unarchive_project + page.accept_alert("Are you sure that you want to unarchive this project?") do + click_element :unarchive_project_link + end + end end end end diff --git a/qa/qa/page/project/settings/main.rb b/qa/qa/page/project/settings/main.rb index a196fc0123a..6b26c82a46f 100644 --- a/qa/qa/page/project/settings/main.rb +++ b/qa/qa/page/project/settings/main.rb @@ -18,6 +18,10 @@ module QA element :save_naming_topics_avatar_button end + view 'app/views/projects/edit.html.haml' do + element :visibility_features_permissions_content + end + def rename_project_to(name) fill_project_name(name) click_save_changes @@ -36,6 +40,12 @@ module QA Advanced.perform(&block) end end + + def expand_visibility_project_features_permissions(&block) + expand_section(:visibility_features_permissions_content) do + VisibilityFeaturesPermissions.perform(&block) + end + end end end end diff --git a/qa/qa/page/project/settings/visibility_features_permissions.rb b/qa/qa/page/project/settings/visibility_features_permissions.rb new file mode 100644 index 00000000000..1d6686ae360 --- /dev/null +++ b/qa/qa/page/project/settings/visibility_features_permissions.rb @@ -0,0 +1,26 @@ +# frozen_string_literal: true + +module QA + module Page + module Project + module Settings + class VisibilityFeaturesPermissions < Page::Base + include QA::Page::Component::Select2 + + view 'app/views/projects/edit.html.haml' do + element :visibility_features_permissions_save_button + end + + view 'app/assets/javascripts/pages/projects/shared/permissions/components/settings_panel.vue' do + element :project_visibility_dropdown + end + + def set_project_visibility(visibility) + select_element(:project_visibility_dropdown, visibility) + click_element :visibility_features_permissions_save_button + end + end + end + end + end +end diff --git a/qa/qa/page/project/show.rb b/qa/qa/page/project/show.rb index 549992f271b..102b6144a1e 100644 --- a/qa/qa/page/project/show.rb +++ b/qa/qa/page/project/show.rb @@ -56,6 +56,10 @@ module QA element :spinner end + view 'app/views/projects/buttons/_download.html.haml' do + element :download_source_code_button + end + def wait_for_viewers_to_load wait(reload: false) do has_no_element?(:spinner) |