summaryrefslogtreecommitdiff
path: root/qa/qa/specs/features/browser_ui/1_manage
diff options
context:
space:
mode:
authorRémy Coutable <remy@rymai.me>2018-08-07 17:06:31 +0200
committerRémy Coutable <remy@rymai.me>2018-08-28 16:33:14 +0200
commited9bb8afa9687f48e03123f795aab047e667c062 (patch)
tree6d7e5f419744167c78570a627899655076a9ae49 /qa/qa/specs/features/browser_ui/1_manage
parent7cd3fbb66f5b289f16cb6ba619fe6372285d316e (diff)
downloadgitlab-ce-ed9bb8afa9687f48e03123f795aab047e667c062.tar.gz
Improve QA scenarios contexts & descriptions consistency
Signed-off-by: Rémy Coutable <remy@rymai.me>
Diffstat (limited to 'qa/qa/specs/features/browser_ui/1_manage')
-rw-r--r--qa/qa/specs/features/browser_ui/1_manage/login/log_into_gitlab_via_ldap_spec.rb28
-rw-r--r--qa/qa/specs/features/browser_ui/1_manage/login/log_into_mattermost_via_gitlab_spec.rb20
-rw-r--r--qa/qa/specs/features/browser_ui/1_manage/project/create_project_spec.rb32
-rw-r--r--qa/qa/specs/features/browser_ui/1_manage/project/import_github_repo_spec.rb154
-rw-r--r--qa/qa/specs/features/browser_ui/1_manage/project/view_project_activity_spec.rb28
5 files changed, 141 insertions, 121 deletions
diff --git a/qa/qa/specs/features/browser_ui/1_manage/login/log_into_gitlab_via_ldap_spec.rb b/qa/qa/specs/features/browser_ui/1_manage/login/log_into_gitlab_via_ldap_spec.rb
index de6111eea64..c9958917be9 100644
--- a/qa/qa/specs/features/browser_ui/1_manage/login/log_into_gitlab_via_ldap_spec.rb
+++ b/qa/qa/specs/features/browser_ui/1_manage/login/log_into_gitlab_via_ldap_spec.rb
@@ -1,18 +1,22 @@
+# frozen_string_literal: true
+
module QA
- describe 'LDAP user login', :orchestrated, :ldap do
- before do
- Runtime::Env.user_type = 'ldap'
- end
+ context :manage, :orchestrated, :ldap do
+ describe 'LDAP login' do
+ before do
+ Runtime::Env.user_type = 'ldap'
+ end
- it 'user logs in using LDAP credentials' do
- Runtime::Browser.visit(:gitlab, Page::Main::Login)
- Page::Main::Login.act { sign_in_using_credentials }
+ it 'user logs into GitLab using LDAP credentials' do
+ Runtime::Browser.visit(:gitlab, Page::Main::Login)
+ Page::Main::Login.act { sign_in_using_credentials }
- # TODO, since `Signed in successfully` message was removed
- # this is the only way to tell if user is signed in correctly.
- #
- Page::Menu::Main.perform do |menu|
- expect(menu).to have_personal_area
+ # TODO, since `Signed in successfully` message was removed
+ # this is the only way to tell if user is signed in correctly.
+ #
+ Page::Menu::Main.perform do |menu|
+ expect(menu).to have_personal_area
+ end
end
end
end
diff --git a/qa/qa/specs/features/browser_ui/1_manage/login/log_into_mattermost_via_gitlab_spec.rb b/qa/qa/specs/features/browser_ui/1_manage/login/log_into_mattermost_via_gitlab_spec.rb
index 27f7d4c245f..6eda2c750d4 100644
--- a/qa/qa/specs/features/browser_ui/1_manage/login/log_into_mattermost_via_gitlab_spec.rb
+++ b/qa/qa/specs/features/browser_ui/1_manage/login/log_into_mattermost_via_gitlab_spec.rb
@@ -1,14 +1,18 @@
+# frozen_string_literal: true
+
module QA
- describe 'logging in to Mattermost', :orchestrated, :mattermost do
- it 'can use gitlab oauth' do
- Runtime::Browser.visit(:gitlab, Page::Main::Login) do
- Page::Main::Login.act { sign_in_using_credentials }
+ context :manage, :orchestrated, :mattermost do
+ describe 'Mattermost login' do
+ it 'user logs into Mattermost using GitLab OAuth' do
+ Runtime::Browser.visit(:gitlab, Page::Main::Login) do
+ Page::Main::Login.act { sign_in_using_credentials }
- Runtime::Browser.visit(:mattermost, Page::Mattermost::Login) do
- Page::Mattermost::Login.act { sign_in_using_oauth }
+ Runtime::Browser.visit(:mattermost, Page::Mattermost::Login) do
+ Page::Mattermost::Login.act { sign_in_using_oauth }
- Page::Mattermost::Main.perform do |page|
- expect(page).to have_content(/(Welcome to: Mattermost|Logout GitLab Mattermost)/)
+ Page::Mattermost::Main.perform do |page|
+ expect(page).to have_content(/(Welcome to: Mattermost|Logout GitLab Mattermost)/)
+ end
end
end
end
diff --git a/qa/qa/specs/features/browser_ui/1_manage/project/create_project_spec.rb b/qa/qa/specs/features/browser_ui/1_manage/project/create_project_spec.rb
index 5e19e490778..bb1f3ab26d1 100644
--- a/qa/qa/specs/features/browser_ui/1_manage/project/create_project_spec.rb
+++ b/qa/qa/specs/features/browser_ui/1_manage/project/create_project_spec.rb
@@ -1,22 +1,26 @@
+# frozen_string_literal: true
+
module QA
- describe 'create a new project', :smoke do
- it 'user creates a new project' do
- Runtime::Browser.visit(:gitlab, Page::Main::Login)
- Page::Main::Login.act { sign_in_using_credentials }
+ context :manage, :smoke do
+ describe 'Project creation' do
+ it 'user creates a new project' do
+ Runtime::Browser.visit(:gitlab, Page::Main::Login)
+ Page::Main::Login.act { sign_in_using_credentials }
- created_project = Factory::Resource::Project.fabricate! do |project|
- project.name = 'awesome-project'
- project.description = 'create awesome project test'
- end
+ created_project = Factory::Resource::Project.fabricate! do |project|
+ project.name = 'awesome-project'
+ project.description = 'create awesome project test'
+ end
- expect(created_project.name).to match /^awesome-project-\h{16}$/
+ expect(created_project.name).to match /^awesome-project-\h{16}$/
- expect(page).to have_content(
- /Project \S?awesome-project\S+ was successfully created/
- )
+ expect(page).to have_content(
+ /Project \S?awesome-project\S+ was successfully created/
+ )
- expect(page).to have_content('create awesome project test')
- expect(page).to have_content('The repository for this project is empty')
+ expect(page).to have_content('create awesome project test')
+ expect(page).to have_content('The repository for this project is empty')
+ end
end
end
end
diff --git a/qa/qa/specs/features/browser_ui/1_manage/project/import_github_repo_spec.rb b/qa/qa/specs/features/browser_ui/1_manage/project/import_github_repo_spec.rb
index 57695d2c726..2ef8de61441 100644
--- a/qa/qa/specs/features/browser_ui/1_manage/project/import_github_repo_spec.rb
+++ b/qa/qa/specs/features/browser_ui/1_manage/project/import_github_repo_spec.rb
@@ -1,106 +1,110 @@
+# frozen_string_literal: true
+
module QA
- describe 'user imports a GitHub repo', :orchestrated, :github do
- let(:imported_project) do
- Factory::Resource::ProjectImportedFromGithub.fabricate! do |project|
- project.name = 'imported-project'
- project.personal_access_token = Runtime::Env.github_access_token
- project.github_repository_path = 'gitlab-qa/test-project'
+ context :manage, :orchestrated, :github do
+ describe 'Project import from GitHub' do
+ let(:imported_project) do
+ Factory::Resource::ProjectImportedFromGithub.fabricate! do |project|
+ project.name = 'imported-project'
+ project.personal_access_token = Runtime::Env.github_access_token
+ project.github_repository_path = 'gitlab-qa/test-project'
+ end
end
- end
- after do
- # We need to delete the imported project because it's impossible to import
- # the same GitHub project twice for a given user.
- api_client = Runtime::API::Client.new(:gitlab)
- delete_project_request = Runtime::API::Request.new(api_client, "/projects/#{CGI.escape("#{Runtime::Namespace.path}/#{imported_project.name}")}")
- delete delete_project_request.url
+ after do
+ # We need to delete the imported project because it's impossible to import
+ # the same GitHub project twice for a given user.
+ api_client = Runtime::API::Client.new(:gitlab)
+ delete_project_request = Runtime::API::Request.new(api_client, "/projects/#{CGI.escape("#{Runtime::Namespace.path}/#{imported_project.name}")}")
+ delete delete_project_request.url
- expect_status(202)
- end
+ expect_status(202)
+ end
- it 'user imports a GitHub repo' do
- Runtime::Browser.visit(:gitlab, Page::Main::Login)
- Page::Main::Login.act { sign_in_using_credentials }
+ it 'user imports a GitHub repo' do
+ Runtime::Browser.visit(:gitlab, Page::Main::Login)
+ Page::Main::Login.act { sign_in_using_credentials }
- imported_project # import the project
+ imported_project # import the project
- Page::Menu::Main.act { go_to_projects }
- Page::Dashboard::Projects.perform do |dashboard|
- dashboard.go_to_project(imported_project.name)
- end
+ Page::Menu::Main.act { go_to_projects }
+ Page::Dashboard::Projects.perform do |dashboard|
+ dashboard.go_to_project(imported_project.name)
+ end
- Page::Project::Show.act { wait_for_import }
+ Page::Project::Show.act { wait_for_import }
- verify_repository_import
- verify_issues_import
- verify_merge_requests_import
- verify_labels_import
- verify_milestones_import
- verify_wiki_import
- end
+ verify_repository_import
+ verify_issues_import
+ verify_merge_requests_import
+ verify_labels_import
+ verify_milestones_import
+ verify_wiki_import
+ end
- def verify_repository_import
- expect(page).to have_content('This test project is used for automated GitHub import by GitLab QA.')
- expect(page).to have_content(imported_project.name)
- end
+ def verify_repository_import
+ expect(page).to have_content('This test project is used for automated GitHub import by GitLab QA.')
+ expect(page).to have_content(imported_project.name)
+ end
- def verify_issues_import
- Page::Menu::Side.act { click_issues }
- expect(page).to have_content('This is a sample issue')
+ def verify_issues_import
+ Page::Menu::Side.act { click_issues }
+ expect(page).to have_content('This is a sample issue')
- click_link 'This is a sample issue'
+ click_link 'This is a sample issue'
- expect(page).to have_content('We should populate this project with issues, pull requests and wiki pages.')
+ expect(page).to have_content('We should populate this project with issues, pull requests and wiki pages.')
- # Comments
- expect(page).to have_content('This is a comment from @rymai.')
+ # Comments
+ expect(page).to have_content('This is a comment from @rymai.')
- Page::Issuable::Sidebar.perform do |issuable|
- expect(issuable).to have_label('enhancement')
- expect(issuable).to have_label('help wanted')
- expect(issuable).to have_label('good first issue')
+ Page::Issuable::Sidebar.perform do |issuable|
+ expect(issuable).to have_label('enhancement')
+ expect(issuable).to have_label('help wanted')
+ expect(issuable).to have_label('good first issue')
+ end
end
- end
- def verify_merge_requests_import
- Page::Menu::Side.act { click_merge_requests }
- expect(page).to have_content('Improve README.md')
+ def verify_merge_requests_import
+ Page::Menu::Side.act { click_merge_requests }
+ expect(page).to have_content('Improve README.md')
- click_link 'Improve README.md'
+ click_link 'Improve README.md'
- expect(page).to have_content('This improves the README file a bit.')
+ expect(page).to have_content('This improves the README file a bit.')
- # Review comment are not supported yet
- expect(page).not_to have_content('Really nice change.')
+ # Review comment are not supported yet
+ expect(page).not_to have_content('Really nice change.')
- # Comments
- expect(page).to have_content('Nice work! This is a comment from @rymai.')
+ # Comments
+ expect(page).to have_content('Nice work! This is a comment from @rymai.')
- # Diff comments
- expect(page).to have_content('[Review comment] I like that!')
- expect(page).to have_content('[Review comment] Nice blank line.')
- expect(page).to have_content('[Single diff comment] Much better without this line!')
+ # Diff comments
+ expect(page).to have_content('[Review comment] I like that!')
+ expect(page).to have_content('[Review comment] Nice blank line.')
+ expect(page).to have_content('[Single diff comment] Much better without this line!')
- Page::Issuable::Sidebar.perform do |issuable|
- expect(issuable).to have_label('bug')
- expect(issuable).to have_label('enhancement')
+ Page::Issuable::Sidebar.perform do |issuable|
+ expect(issuable).to have_label('bug')
+ expect(issuable).to have_label('enhancement')
+ end
end
- end
- def verify_labels_import
- # TODO: Waiting on https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/19228
- # to build upon it.
- end
+ def verify_labels_import
+ # TODO: Waiting on https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/19228
+ # to build upon it.
+ end
- def verify_milestones_import
- # TODO: Waiting on https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/18727
- # to build upon it.
- end
+ def verify_milestones_import
+ # TODO: Waiting on https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/18727
+ # to build upon it.
+ end
- def verify_wiki_import
- Page::Menu::Side.act { click_wiki }
+ def verify_wiki_import
+ Page::Menu::Side.act { click_wiki }
- expect(page).to have_content('Welcome to the test-project wiki!')
+ expect(page).to have_content('Welcome to the test-project wiki!')
+ end
end
end
end
diff --git a/qa/qa/specs/features/browser_ui/1_manage/project/view_project_activity_spec.rb b/qa/qa/specs/features/browser_ui/1_manage/project/view_project_activity_spec.rb
index c7ce8dfdcc6..34bb6f1c197 100644
--- a/qa/qa/specs/features/browser_ui/1_manage/project/view_project_activity_spec.rb
+++ b/qa/qa/specs/features/browser_ui/1_manage/project/view_project_activity_spec.rb
@@ -1,20 +1,24 @@
+# frozen_string_literal: true
+
module QA
- describe 'activity page' do
- it 'push creates an event in the activity page' do
- Runtime::Browser.visit(:gitlab, Page::Main::Login)
- Page::Main::Login.act { sign_in_using_credentials }
+ context :manage do
+ describe 'Project activity' do
+ it 'user creates an event in the activity page upon Git push' do
+ Runtime::Browser.visit(:gitlab, Page::Main::Login)
+ Page::Main::Login.act { sign_in_using_credentials }
- Factory::Repository::ProjectPush.fabricate! do |push|
- push.file_name = 'README.md'
- push.file_content = '# This is a test project'
- push.commit_message = 'Add README.md'
- end
+ Factory::Repository::ProjectPush.fabricate! do |push|
+ push.file_name = 'README.md'
+ push.file_content = '# This is a test project'
+ push.commit_message = 'Add README.md'
+ end
- Page::Menu::Side.act { go_to_activity }
+ Page::Menu::Side.act { go_to_activity }
- Page::Project::Activity.act { go_to_push_events }
+ Page::Project::Activity.act { go_to_push_events }
- expect(page).to have_content('pushed new branch master')
+ expect(page).to have_content('pushed new branch master')
+ end
end
end
end