Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
G
gitlab-ce
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Jérome Perrin
gitlab-ce
Commits
2338785e
Commit
2338785e
authored
May 17, 2017
by
Oswaldo Ferreira
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Use wait_for_requests to wait all JS request
parent
7f31768a
Changes
123
Show whitespace changes
Inline
Side-by-side
Showing
123 changed files
with
471 additions
and
524 deletions
+471
-524
app/assets/javascripts/vue_shared/vue_resource_interceptor.js
...assets/javascripts/vue_shared/vue_resource_interceptor.js
+1
-1
changelogs/unreleased/wait-for-ajax-handling-all-js-requests.yml
...ogs/unreleased/wait-for-ajax-handling-all-js-requests.yml
+4
-0
features/steps/dashboard/event_filters.rb
features/steps/dashboard/event_filters.rb
+7
-7
features/steps/dashboard/todos.rb
features/steps/dashboard/todos.rb
+2
-2
features/steps/group/members.rb
features/steps/group/members.rb
+2
-2
features/steps/group/milestones.rb
features/steps/group/milestones.rb
+2
-2
features/steps/project/builds/artifacts.rb
features/steps/project/builds/artifacts.rb
+2
-2
features/steps/project/forked_merge_requests.rb
features/steps/project/forked_merge_requests.rb
+3
-4
features/steps/project/merge_requests.rb
features/steps/project/merge_requests.rb
+22
-23
features/steps/project/merge_requests/acceptance.rb
features/steps/project/merge_requests/acceptance.rb
+3
-3
features/steps/project/merge_requests/revert.rb
features/steps/project/merge_requests/revert.rb
+2
-2
features/steps/project/project.rb
features/steps/project/project.rb
+2
-2
features/steps/project/project_milestone.rb
features/steps/project/project_milestone.rb
+2
-2
features/steps/project/snippets.rb
features/steps/project/snippets.rb
+3
-3
features/steps/project/source/browse_files.rb
features/steps/project/source/browse_files.rb
+3
-3
features/steps/project/source/markdown_render.rb
features/steps/project/source/markdown_render.rb
+11
-11
features/steps/shared/active_tab.rb
features/steps/shared/active_tab.rb
+2
-2
features/steps/shared/diff_note.rb
features/steps/shared/diff_note.rb
+2
-2
features/steps/shared/note.rb
features/steps/shared/note.rb
+5
-5
features/steps/shared/paths.rb
features/steps/shared/paths.rb
+6
-6
features/steps/snippets/snippets.rb
features/steps/snippets/snippets.rb
+2
-2
features/support/env.rb
features/support/env.rb
+2
-2
spec/features/admin/admin_labels_spec.rb
spec/features/admin/admin_labels_spec.rb
+2
-2
spec/features/admin/admin_users_spec.rb
spec/features/admin/admin_users_spec.rb
+1
-1
spec/features/auto_deploy_spec.rb
spec/features/auto_deploy_spec.rb
+1
-1
spec/features/boards/add_issues_modal_spec.rb
spec/features/boards/add_issues_modal_spec.rb
+6
-8
spec/features/boards/boards_spec.rb
spec/features/boards/boards_spec.rb
+38
-39
spec/features/boards/issue_ordering_spec.rb
spec/features/boards/issue_ordering_spec.rb
+13
-14
spec/features/boards/keyboard_shortcut_spec.rb
spec/features/boards/keyboard_shortcut_spec.rb
+1
-3
spec/features/boards/modal_filter_spec.rb
spec/features/boards/modal_filter_spec.rb
+13
-15
spec/features/boards/new_issue_spec.rb
spec/features/boards/new_issue_spec.rb
+4
-6
spec/features/boards/sidebar_spec.rb
spec/features/boards/sidebar_spec.rb
+22
-24
spec/features/boards/sub_group_project_spec.rb
spec/features/boards/sub_group_project_spec.rb
+2
-4
spec/features/calendar_spec.rb
spec/features/calendar_spec.rb
+5
-5
spec/features/copy_as_gfm_spec.rb
spec/features/copy_as_gfm_spec.rb
+2
-2
spec/features/cycle_analytics_spec.rb
spec/features/cycle_analytics_spec.rb
+4
-4
spec/features/dashboard/datetime_on_tooltips_spec.rb
spec/features/dashboard/datetime_on_tooltips_spec.rb
+2
-2
spec/features/dashboard/groups_list_spec.rb
spec/features/dashboard/groups_list_spec.rb
+3
-3
spec/features/dashboard/milestone_filter_spec.rb
spec/features/dashboard/milestone_filter_spec.rb
+4
-6
spec/features/dashboard/project_member_activity_index_spec.rb
.../features/dashboard/project_member_activity_index_spec.rb
+1
-1
spec/features/expand_collapse_diffs_spec.rb
spec/features/expand_collapse_diffs_spec.rb
+8
-8
spec/features/explore/groups_list_spec.rb
spec/features/explore/groups_list_spec.rb
+3
-3
spec/features/gitlab_flavored_markdown_spec.rb
spec/features/gitlab_flavored_markdown_spec.rb
+0
-2
spec/features/groups/issues_spec.rb
spec/features/groups/issues_spec.rb
+1
-1
spec/features/issues/award_emoji_spec.rb
spec/features/issues/award_emoji_spec.rb
+7
-9
spec/features/issues/award_spec.rb
spec/features/issues/award_spec.rb
+2
-6
spec/features/issues/bulk_assignment_labels_spec.rb
spec/features/issues/bulk_assignment_labels_spec.rb
+4
-4
spec/features/issues/create_branch_merge_request_spec.rb
spec/features/issues/create_branch_merge_request_spec.rb
+2
-2
spec/features/issues/filtered_search/dropdown_author_spec.rb
spec/features/issues/filtered_search/dropdown_author_spec.rb
+1
-1
spec/features/issues/filtered_search/filter_issues_spec.rb
spec/features/issues/filtered_search/filter_issues_spec.rb
+5
-5
spec/features/issues/form_spec.rb
spec/features/issues/form_spec.rb
+3
-4
spec/features/issues/gfm_autocomplete_spec.rb
spec/features/issues/gfm_autocomplete_spec.rb
+5
-5
spec/features/issues/issue_sidebar_spec.rb
spec/features/issues/issue_sidebar_spec.rb
+3
-3
spec/features/issues/notes_on_issues_spec.rb
spec/features/issues/notes_on_issues_spec.rb
+1
-1
spec/features/issues/update_issues_spec.rb
spec/features/issues/update_issues_spec.rb
+2
-2
spec/features/issues/user_uses_slash_commands_spec.rb
spec/features/issues/user_uses_slash_commands_spec.rb
+1
-1
spec/features/issues_spec.rb
spec/features/issues_spec.rb
+5
-7
spec/features/merge_requests/closes_issues_spec.rb
spec/features/merge_requests/closes_issues_spec.rb
+1
-3
spec/features/merge_requests/conflicts_spec.rb
spec/features/merge_requests/conflicts_spec.rb
+11
-11
spec/features/merge_requests/create_new_mr_spec.rb
spec/features/merge_requests/create_new_mr_spec.rb
+1
-3
spec/features/merge_requests/deleted_source_branch_spec.rb
spec/features/merge_requests/deleted_source_branch_spec.rb
+1
-1
spec/features/merge_requests/diff_notes_avatars_spec.rb
spec/features/merge_requests/diff_notes_avatars_spec.rb
+6
-6
spec/features/merge_requests/filter_merge_requests_spec.rb
spec/features/merge_requests/filter_merge_requests_spec.rb
+1
-1
spec/features/merge_requests/merge_immediately_with_pipeline_spec.rb
...es/merge_requests/merge_immediately_with_pipeline_spec.rb
+1
-1
spec/features/merge_requests/mini_pipeline_graph_spec.rb
spec/features/merge_requests/mini_pipeline_graph_spec.rb
+1
-1
spec/features/merge_requests/only_allow_merge_if_build_succeeds_spec.rb
...merge_requests/only_allow_merge_if_build_succeeds_spec.rb
+9
-11
spec/features/merge_requests/pipelines_spec.rb
spec/features/merge_requests/pipelines_spec.rb
+1
-1
spec/features/merge_requests/update_merge_requests_spec.rb
spec/features/merge_requests/update_merge_requests_spec.rb
+2
-2
spec/features/merge_requests/user_posts_diff_notes_spec.rb
spec/features/merge_requests/user_posts_diff_notes_spec.rb
+3
-3
spec/features/merge_requests/user_posts_notes_spec.rb
spec/features/merge_requests/user_posts_notes_spec.rb
+2
-2
spec/features/merge_requests/user_uses_slash_commands_spec.rb
.../features/merge_requests/user_uses_slash_commands_spec.rb
+2
-2
spec/features/merge_requests/versions_spec.rb
spec/features/merge_requests/versions_spec.rb
+3
-3
spec/features/merge_requests/widget_deployments_spec.rb
spec/features/merge_requests/widget_deployments_spec.rb
+2
-2
spec/features/merge_requests/widget_spec.rb
spec/features/merge_requests/widget_spec.rb
+8
-8
spec/features/milestones/milestones_spec.rb
spec/features/milestones/milestones_spec.rb
+3
-3
spec/features/projects/artifacts/file_spec.rb
spec/features/projects/artifacts/file_spec.rb
+2
-2
spec/features/projects/blobs/blob_show_spec.rb
spec/features/projects/blobs/blob_show_spec.rb
+4
-4
spec/features/projects/blobs/edit_spec.rb
spec/features/projects/blobs/edit_spec.rb
+1
-1
spec/features/projects/blobs/user_create_spec.rb
spec/features/projects/blobs/user_create_spec.rb
+1
-1
spec/features/projects/commit/cherry_pick_spec.rb
spec/features/projects/commit/cherry_pick_spec.rb
+2
-2
spec/features/projects/commit/mini_pipeline_graph_spec.rb
spec/features/projects/commit/mini_pipeline_graph_spec.rb
+1
-1
spec/features/projects/compare_spec.rb
spec/features/projects/compare_spec.rb
+1
-1
spec/features/projects/features_visibility_spec.rb
spec/features/projects/features_visibility_spec.rb
+6
-6
spec/features/projects/files/browse_files_spec.rb
spec/features/projects/files/browse_files_spec.rb
+2
-2
spec/features/projects/files/dockerfile_dropdown_spec.rb
spec/features/projects/files/dockerfile_dropdown_spec.rb
+2
-2
spec/features/projects/files/find_file_keyboard_spec.rb
spec/features/projects/files/find_file_keyboard_spec.rb
+1
-1
spec/features/projects/files/gitignore_dropdown_spec.rb
spec/features/projects/files/gitignore_dropdown_spec.rb
+2
-2
spec/features/projects/files/gitlab_ci_yml_dropdown_spec.rb
spec/features/projects/files/gitlab_ci_yml_dropdown_spec.rb
+2
-2
spec/features/projects/files/project_owner_creates_license_file_spec.rb
...projects/files/project_owner_creates_license_file_spec.rb
+1
-1
spec/features/projects/files/project_owner_sees_link_to_create_license_file_in_empty_project_spec.rb
...sees_link_to_create_license_file_in_empty_project_spec.rb
+1
-1
spec/features/projects/files/undo_template_spec.rb
spec/features/projects/files/undo_template_spec.rb
+1
-1
spec/features/projects/issuable_templates_spec.rb
spec/features/projects/issuable_templates_spec.rb
+7
-7
spec/features/projects/labels/update_prioritization_spec.rb
spec/features/projects/labels/update_prioritization_spec.rb
+5
-5
spec/features/projects/members/group_links_spec.rb
spec/features/projects/members/group_links_spec.rb
+3
-3
spec/features/projects/members/master_adds_member_with_expiration_date_spec.rb
...s/members/master_adds_member_with_expiration_date_spec.rb
+1
-1
spec/features/projects/pipeline_schedules_spec.rb
spec/features/projects/pipeline_schedules_spec.rb
+0
-1
spec/features/projects/pipelines/pipelines_spec.rb
spec/features/projects/pipelines/pipelines_spec.rb
+7
-9
spec/features/projects/ref_switcher_spec.rb
spec/features/projects/ref_switcher_spec.rb
+3
-3
spec/features/projects/snippets/show_spec.rb
spec/features/projects/snippets/show_spec.rb
+5
-5
spec/features/projects/view_on_env_spec.rb
spec/features/projects/view_on_env_spec.rb
+6
-6
spec/features/search_spec.rb
spec/features/search_spec.rb
+4
-4
spec/features/snippets/create_snippet_spec.rb
spec/features/snippets/create_snippet_spec.rb
+2
-2
spec/features/snippets/notes_on_personal_snippets_spec.rb
spec/features/snippets/notes_on_personal_snippets_spec.rb
+1
-1
spec/features/snippets/public_snippets_spec.rb
spec/features/snippets/public_snippets_spec.rb
+1
-1
spec/features/snippets/show_spec.rb
spec/features/snippets/show_spec.rb
+5
-5
spec/features/task_lists_spec.rb
spec/features/task_lists_spec.rb
+6
-11
spec/features/todos/todos_filtering_spec.rb
spec/features/todos/todos_filtering_spec.rb
+4
-4
spec/features/todos/todos_spec.rb
spec/features/todos/todos_spec.rb
+3
-3
spec/features/u2f_spec.rb
spec/features/u2f_spec.rb
+1
-1
spec/features/uploads/user_uploads_file_to_note_spec.rb
spec/features/uploads/user_uploads_file_to_note_spec.rb
+2
-2
spec/features/users/projects_spec.rb
spec/features/users/projects_spec.rb
+1
-1
spec/features/users/snippets_spec.rb
spec/features/users/snippets_spec.rb
+3
-3
spec/features/users_spec.rb
spec/features/users_spec.rb
+4
-4
spec/spec_helper.rb
spec/spec_helper.rb
+0
-1
spec/support/features/issuable_slash_commands_shared_examples.rb
...pport/features/issuable_slash_commands_shared_examples.rb
+2
-2
spec/support/protected_branches/access_control_ce_shared_examples.rb
...t/protected_branches/access_control_ce_shared_examples.rb
+2
-2
spec/support/protected_tags/access_control_ce_shared_examples.rb
...pport/protected_tags/access_control_ce_shared_examples.rb
+1
-1
spec/support/snippets_shared_examples.rb
spec/support/snippets_shared_examples.rb
+1
-1
spec/support/target_branch_helpers.rb
spec/support/target_branch_helpers.rb
+1
-1
spec/support/time_tracking_shared_examples.rb
spec/support/time_tracking_shared_examples.rb
+4
-4
spec/support/wait_for_ajax.rb
spec/support/wait_for_ajax.rb
+0
-18
spec/support/wait_for_requests.rb
spec/support/wait_for_requests.rb
+31
-7
spec/support/wait_for_vue_resource.rb
spec/support/wait_for_vue_resource.rb
+0
-19
No files found.
app/assets/javascripts/vue_shared/vue_resource_interceptor.js
View file @
2338785e
...
@@ -4,7 +4,7 @@ import VueResource from 'vue-resource';
...
@@ -4,7 +4,7 @@ import VueResource from 'vue-resource';
Vue
.
use
(
VueResource
);
Vue
.
use
(
VueResource
);
// Maintain a global counter for active requests
// Maintain a global counter for active requests
// see: spec/support/wait_for_
vue_resource
.rb
// see: spec/support/wait_for_
requests
.rb
Vue
.
http
.
interceptors
.
push
((
request
,
next
)
=>
{
Vue
.
http
.
interceptors
.
push
((
request
,
next
)
=>
{
window
.
activeVueResources
=
window
.
activeVueResources
||
0
;
window
.
activeVueResources
=
window
.
activeVueResources
||
0
;
window
.
activeVueResources
+=
1
;
window
.
activeVueResources
+=
1
;
...
...
changelogs/unreleased/wait-for-ajax-handling-all-js-requests.yml
0 → 100644
View file @
2338785e
---
title
:
Use wait_for_requests for both ajax and Vue requests
merge_request
:
author
:
features/steps/dashboard/event_filters.rb
View file @
2338785e
class
Spinach::Features::EventFilters
<
Spinach
::
FeatureSteps
class
Spinach::Features::EventFilters
<
Spinach
::
FeatureSteps
include
WaitFor
Ajax
include
WaitFor
Requests
include
SharedAuthentication
include
SharedAuthentication
include
SharedPaths
include
SharedPaths
include
SharedProject
include
SharedProject
...
@@ -73,20 +73,20 @@ class Spinach::Features::EventFilters < Spinach::FeatureSteps
...
@@ -73,20 +73,20 @@ class Spinach::Features::EventFilters < Spinach::FeatureSteps
end
end
When
'I click "push" event filter'
do
When
'I click "push" event filter'
do
wait_for_
ajax
wait_for_
requests
click_link
(
"Push events"
)
click_link
(
"Push events"
)
wait_for_
ajax
wait_for_
requests
end
end
When
'I click "team" event filter'
do
When
'I click "team" event filter'
do
wait_for_
ajax
wait_for_
requests
click_link
(
"Team"
)
click_link
(
"Team"
)
wait_for_
ajax
wait_for_
requests
end
end
When
'I click "merge" event filter'
do
When
'I click "merge" event filter'
do
wait_for_
ajax
wait_for_
requests
click_link
(
"Merge events"
)
click_link
(
"Merge events"
)
wait_for_
ajax
wait_for_
requests
end
end
end
end
features/steps/dashboard/todos.rb
View file @
2338785e
...
@@ -3,7 +3,7 @@ class Spinach::Features::DashboardTodos < Spinach::FeatureSteps
...
@@ -3,7 +3,7 @@ class Spinach::Features::DashboardTodos < Spinach::FeatureSteps
include
SharedPaths
include
SharedPaths
include
SharedProject
include
SharedProject
include
SharedUser
include
SharedUser
include
WaitFor
Ajax
include
WaitFor
Requests
step
'"John Doe" is a developer of project "Shop"'
do
step
'"John Doe" is a developer of project "Shop"'
do
project
.
team
<<
[
john_doe
,
:developer
]
project
.
team
<<
[
john_doe
,
:developer
]
...
@@ -140,7 +140,7 @@ class Spinach::Features::DashboardTodos < Spinach::FeatureSteps
...
@@ -140,7 +140,7 @@ class Spinach::Features::DashboardTodos < Spinach::FeatureSteps
step
'I should be directed to the corresponding page'
do
step
'I should be directed to the corresponding page'
do
page
.
should
have_css
(
'.identifier'
,
text:
'Merge Request !1'
)
page
.
should
have_css
(
'.identifier'
,
text:
'Merge Request !1'
)
# Merge request page loads and issues a number of Ajax requests
# Merge request page loads and issues a number of Ajax requests
wait_for_
ajax
wait_for_
requests
end
end
def
should_see_todo
(
position
,
title
,
body
,
state: :pending
)
def
should_see_todo
(
position
,
title
,
body
,
state: :pending
)
...
...
features/steps/group/members.rb
View file @
2338785e
class
Spinach::Features::GroupMembers
<
Spinach
::
FeatureSteps
class
Spinach::Features::GroupMembers
<
Spinach
::
FeatureSteps
include
WaitFor
Ajax
include
WaitFor
Requests
include
SharedAuthentication
include
SharedAuthentication
include
SharedPaths
include
SharedPaths
include
SharedGroup
include
SharedGroup
...
@@ -58,7 +58,7 @@ class Spinach::Features::GroupMembers < Spinach::FeatureSteps
...
@@ -58,7 +58,7 @@ class Spinach::Features::GroupMembers < Spinach::FeatureSteps
click_link
'Developer'
click_link
'Developer'
end
end
wait_for_
ajax
wait_for_
requests
end
end
end
end
...
...
features/steps/group/milestones.rb
View file @
2338785e
class
Spinach::Features::GroupMilestones
<
Spinach
::
FeatureSteps
class
Spinach::Features::GroupMilestones
<
Spinach
::
FeatureSteps
include
WaitFor
Ajax
include
WaitFor
Requests
include
SharedAuthentication
include
SharedAuthentication
include
SharedPaths
include
SharedPaths
include
SharedGroup
include
SharedGroup
...
@@ -91,7 +91,7 @@ class Spinach::Features::GroupMilestones < Spinach::FeatureSteps
...
@@ -91,7 +91,7 @@ class Spinach::Features::GroupMilestones < Spinach::FeatureSteps
end
end
step
'I should see the list of labels'
do
step
'I should see the list of labels'
do
wait_for_
ajax
wait_for_
requests
page
.
within
(
'#tab-labels'
)
do
page
.
within
(
'#tab-labels'
)
do
expect
(
page
).
to
have_content
'bug'
expect
(
page
).
to
have_content
'bug'
...
...
features/steps/project/builds/artifacts.rb
View file @
2338785e
...
@@ -3,7 +3,7 @@ class Spinach::Features::ProjectBuildsArtifacts < Spinach::FeatureSteps
...
@@ -3,7 +3,7 @@ class Spinach::Features::ProjectBuildsArtifacts < Spinach::FeatureSteps
include
SharedProject
include
SharedProject
include
SharedBuilds
include
SharedBuilds
include
RepoHelpers
include
RepoHelpers
include
WaitFor
Ajax
include
WaitFor
Requests
step
'I click artifacts download button'
do
step
'I click artifacts download button'
do
click_link
'Download'
click_link
'Download'
...
@@ -79,7 +79,7 @@ class Spinach::Features::ProjectBuildsArtifacts < Spinach::FeatureSteps
...
@@ -79,7 +79,7 @@ class Spinach::Features::ProjectBuildsArtifacts < Spinach::FeatureSteps
step
'I click a link to file within build artifacts'
do
step
'I click a link to file within build artifacts'
do
page
.
within
(
'.tree-table'
)
{
find_link
(
'ci_artifacts.txt'
).
click
}
page
.
within
(
'.tree-table'
)
{
find_link
(
'ci_artifacts.txt'
).
click
}
wait_for_
ajax
wait_for_
requests
end
end
step
'I see a download link'
do
step
'I see a download link'
do
...
...
features/steps/project/forked_merge_requests.rb
View file @
2338785e
...
@@ -4,8 +4,7 @@ class Spinach::Features::ProjectForkedMergeRequests < Spinach::FeatureSteps
...
@@ -4,8 +4,7 @@ class Spinach::Features::ProjectForkedMergeRequests < Spinach::FeatureSteps
include
SharedNote
include
SharedNote
include
SharedPaths
include
SharedPaths
include
Select2Helper
include
Select2Helper
include
WaitForVueResource
include
WaitForRequests
include
WaitForAjax
step
'I am a member of project "Shop"'
do
step
'I am a member of project "Shop"'
do
@project
=
::
Project
.
find_by
(
name:
"Shop"
)
@project
=
::
Project
.
find_by
(
name:
"Shop"
)
...
@@ -34,7 +33,7 @@ class Spinach::Features::ProjectForkedMergeRequests < Spinach::FeatureSteps
...
@@ -34,7 +33,7 @@ class Spinach::Features::ProjectForkedMergeRequests < Spinach::FeatureSteps
expect
(
page
).
to
have_content
@merge_request
.
source_branch
expect
(
page
).
to
have_content
@merge_request
.
source_branch
expect
(
page
).
to
have_content
@merge_request
.
target_branch
expect
(
page
).
to
have_content
@merge_request
.
target_branch
wait_for_
vue_resource
wait_for_
requests
end
end
step
'I fill out a "Merge Request On Forked Project" merge request'
do
step
'I fill out a "Merge Request On Forked Project" merge request'
do
...
@@ -48,7 +47,7 @@ class Spinach::Features::ProjectForkedMergeRequests < Spinach::FeatureSteps
...
@@ -48,7 +47,7 @@ class Spinach::Features::ProjectForkedMergeRequests < Spinach::FeatureSteps
first
(
'.dropdown-target-project a'
,
text:
@project
.
path_with_namespace
)
first
(
'.dropdown-target-project a'
,
text:
@project
.
path_with_namespace
)
first
(
'.js-source-branch'
).
click
first
(
'.js-source-branch'
).
click
wait_for_
ajax
wait_for_
requests
first
(
'.dropdown-source-branch .dropdown-content a'
,
text:
'fix'
).
click
first
(
'.dropdown-source-branch .dropdown-content a'
,
text:
'fix'
).
click
click_button
"Compare branches and continue"
click_button
"Compare branches and continue"
...
...
features/steps/project/merge_requests.rb
View file @
2338785e
...
@@ -7,11 +7,10 @@ class Spinach::Features::ProjectMergeRequests < Spinach::FeatureSteps
...
@@ -7,11 +7,10 @@ class Spinach::Features::ProjectMergeRequests < Spinach::FeatureSteps
include
SharedMarkdown
include
SharedMarkdown
include
SharedDiffNote
include
SharedDiffNote
include
SharedUser
include
SharedUser
include
WaitForAjax
include
WaitForRequests
include
WaitForVueResource
after
do
after
do
wait_for_
ajax
if
javascript_test?
wait_for_
requests
if
javascript_test?
end
end
step
'I click link "New Merge Request"'
do
step
'I click link "New Merge Request"'
do
...
@@ -46,23 +45,23 @@ class Spinach::Features::ProjectMergeRequests < Spinach::FeatureSteps
...
@@ -46,23 +45,23 @@ class Spinach::Features::ProjectMergeRequests < Spinach::FeatureSteps
page
.
within
'.merge-request'
do
page
.
within
'.merge-request'
do
expect
(
page
).
to
have_content
"Wiki Feature"
expect
(
page
).
to
have_content
"Wiki Feature"
end
end
wait_for_
vue_resource
wait_for_
requests
end
end
step
'I should see closed merge request "Bug NS-04"'
do
step
'I should see closed merge request "Bug NS-04"'
do
expect
(
page
).
to
have_content
"Bug NS-04"
expect
(
page
).
to
have_content
"Bug NS-04"
expect
(
page
).
to
have_content
"Closed by"
expect
(
page
).
to
have_content
"Closed by"
wait_for_
vue_resource
wait_for_
requests
end
end
step
'I should see merge request "Bug NS-04"'
do
step
'I should see merge request "Bug NS-04"'
do
expect
(
page
).
to
have_content
"Bug NS-04"
expect
(
page
).
to
have_content
"Bug NS-04"
wait_for_
vue_resource
wait_for_
requests
end
end
step
'I should see merge request "Feature NS-05"'
do
step
'I should see merge request "Feature NS-05"'
do
expect
(
page
).
to
have_content
"Feature NS-05"
expect
(
page
).
to
have_content
"Feature NS-05"
wait_for_
vue_resource
wait_for_
requests
end
end
step
'I should not see "master" branch'
do
step
'I should not see "master" branch'
do
...
@@ -99,7 +98,7 @@ class Spinach::Features::ProjectMergeRequests < Spinach::FeatureSteps
...
@@ -99,7 +98,7 @@ class Spinach::Features::ProjectMergeRequests < Spinach::FeatureSteps
step
'I click button "Unsubscribe"'
do
step
'I click button "Unsubscribe"'
do
click_on
"Unsubscribe"
click_on
"Unsubscribe"
wait_for_
ajax
wait_for_
requests
end
end
step
'I click link "Close"'
do
step
'I click link "Close"'
do
...
@@ -353,7 +352,7 @@ class Spinach::Features::ProjectMergeRequests < Spinach::FeatureSteps
...
@@ -353,7 +352,7 @@ class Spinach::Features::ProjectMergeRequests < Spinach::FeatureSteps
step
'I should see a discussion by user "John Doe" has started on diff'
do
step
'I should see a discussion by user "John Doe" has started on diff'
do
# Trigger a refresh of notes
# Trigger a refresh of notes
execute_script
(
"$(document).trigger('visibilitychange');"
)
execute_script
(
"$(document).trigger('visibilitychange');"
)
wait_for_
ajax
wait_for_
requests
page
.
within
(
".notes .discussion"
)
do
page
.
within
(
".notes .discussion"
)
do
page
.
should
have_content
"
#{
user_exists
(
"John Doe"
).
name
}
#{
user_exists
(
"John Doe"
).
to_reference
}
started a discussion"
page
.
should
have_content
"
#{
user_exists
(
"John Doe"
).
name
}
#{
user_exists
(
"John Doe"
).
to_reference
}
started a discussion"
page
.
should
have_content
sample_commit
.
line_code_path
page
.
should
have_content
sample_commit
.
line_code_path
...
@@ -363,12 +362,12 @@ class Spinach::Features::ProjectMergeRequests < Spinach::FeatureSteps
...
@@ -363,12 +362,12 @@ class Spinach::Features::ProjectMergeRequests < Spinach::FeatureSteps
step
'I should see a badge of "1" next to the discussion link'
do
step
'I should see a badge of "1" next to the discussion link'
do
expect_discussion_badge_to_have_counter
(
"1"
)
expect_discussion_badge_to_have_counter
(
"1"
)
wait_for_
vue_resource
wait_for_
requests
end
end
step
'I should see a badge of "0" next to the discussion link'
do
step
'I should see a badge of "0" next to the discussion link'
do
expect_discussion_badge_to_have_counter
(
"0"
)
expect_discussion_badge_to_have_counter
(
"0"
)
wait_for_
vue_resource
wait_for_
requests
end
end
step
'I should see a discussion has started on commit diff'
do
step
'I should see a discussion has started on commit diff'
do
...
@@ -376,7 +375,7 @@ class Spinach::Features::ProjectMergeRequests < Spinach::FeatureSteps
...
@@ -376,7 +375,7 @@ class Spinach::Features::ProjectMergeRequests < Spinach::FeatureSteps
page
.
should
have_content
"
#{
current_user
.
name
}
#{
current_user
.
to_reference
}
started a discussion on commit"
page
.
should
have_content
"
#{
current_user
.
name
}
#{
current_user
.
to_reference
}
started a discussion on commit"
page
.
should
have_content
sample_commit
.
line_code_path
page
.
should
have_content
sample_commit
.
line_code_path
page
.
should
have_content
"Line is wrong"
page
.
should
have_content
"Line is wrong"
wait_for_
vue_resource
wait_for_
requests
end
end
end
end
...
@@ -384,7 +383,7 @@ class Spinach::Features::ProjectMergeRequests < Spinach::FeatureSteps
...
@@ -384,7 +383,7 @@ class Spinach::Features::ProjectMergeRequests < Spinach::FeatureSteps
page
.
within
(
".notes .discussion"
)
do
page
.
within
(
".notes .discussion"
)
do
page
.
should
have_content
"
#{
current_user
.
name
}
#{
current_user
.
to_reference
}
started a discussion on commit"
page
.
should
have_content
"
#{
current_user
.
name
}
#{
current_user
.
to_reference
}
started a discussion on commit"
page
.
should
have_content
"One comment to rule them all"
page
.
should
have_content
"One comment to rule them all"
wait_for_
vue_resource
wait_for_
requests
end
end
end
end
...
@@ -410,7 +409,7 @@ class Spinach::Features::ProjectMergeRequests < Spinach::FeatureSteps
...
@@ -410,7 +409,7 @@ class Spinach::Features::ProjectMergeRequests < Spinach::FeatureSteps
step
'I should see merged request'
do
step
'I should see merged request'
do
page
.
within
'.status-box'
do
page
.
within
'.status-box'
do
expect
(
page
).
to
have_content
"Merged"
expect
(
page
).
to
have_content
"Merged"
wait_for_
vue_resource
wait_for_
requests
end
end
end
end
...
@@ -422,7 +421,7 @@ class Spinach::Features::ProjectMergeRequests < Spinach::FeatureSteps
...
@@ -422,7 +421,7 @@ class Spinach::Features::ProjectMergeRequests < Spinach::FeatureSteps
page
.
within
'.status-box'
do
page
.
within
'.status-box'
do
expect
(
page
).
to
have_content
"Open"
expect
(
page
).
to
have_content
"Open"
end
end
wait_for_
vue_resource
wait_for_
requests
end
end
step
'I click link "Hide inline discussion" of the third file'
do
step
'I click link "Hide inline discussion" of the third file'
do
...
@@ -446,7 +445,7 @@ class Spinach::Features::ProjectMergeRequests < Spinach::FeatureSteps
...
@@ -446,7 +445,7 @@ class Spinach::Features::ProjectMergeRequests < Spinach::FeatureSteps
step
'I should see a comment like "Line is wrong" in the third file'
do
step
'I should see a comment like "Line is wrong" in the third file'
do
page
.
within
'.files>div:nth-child(3) .note-body > .note-text'
do
page
.
within
'.files>div:nth-child(3) .note-body > .note-text'
do
expect
(
page
).
to
have_visible_content
"Line is wrong"
expect
(
page
).
to
have_visible_content
"Line is wrong"
wait_for_
vue_resource
wait_for_
requests
end
end
end
end
...
@@ -470,7 +469,7 @@ class Spinach::Features::ProjectMergeRequests < Spinach::FeatureSteps
...
@@ -470,7 +469,7 @@ class Spinach::Features::ProjectMergeRequests < Spinach::FeatureSteps
click_button
"Comment"
click_button
"Comment"
end
end
wait_for_
ajax
wait_for_
requests
page
.
within
".files>div:nth-child(2) .note-body > .note-text"
do
page
.
within
".files>div:nth-child(2) .note-body > .note-text"
do
expect
(
page
).
to
have_content
"Line is correct"
expect
(
page
).
to
have_content
"Line is correct"
...
@@ -485,7 +484,7 @@ class Spinach::Features::ProjectMergeRequests < Spinach::FeatureSteps
...
@@ -485,7 +484,7 @@ class Spinach::Features::ProjectMergeRequests < Spinach::FeatureSteps
click_button
"Comment"
click_button
"Comment"
end
end
wait_for_
ajax
wait_for_
requests
end
end
step
'I should still see a comment like "Line is correct" in the second file'
do
step
'I should still see a comment like "Line is correct" in the second file'
do
...
@@ -514,7 +513,7 @@ class Spinach::Features::ProjectMergeRequests < Spinach::FeatureSteps
...
@@ -514,7 +513,7 @@ class Spinach::Features::ProjectMergeRequests < Spinach::FeatureSteps
step
'I should see comments on the side-by-side diff page'
do
step
'I should see comments on the side-by-side diff page'
do
page
.
within
'.files>div:nth-child(2) .parallel .note-body > .note-text'
do
page
.
within
'.files>div:nth-child(2) .parallel .note-body > .note-text'
do
expect
(
page
).
to
have_visible_content
"Line is correct"
expect
(
page
).
to
have_visible_content
"Line is correct"
wait_for_
vue_resource
wait_for_
requests
end
end
end
end
...
@@ -538,7 +537,7 @@ class Spinach::Features::ProjectMergeRequests < Spinach::FeatureSteps
...
@@ -538,7 +537,7 @@ class Spinach::Features::ProjectMergeRequests < Spinach::FeatureSteps
step
'I should see new target branch changes'
do
step
'I should see new target branch changes'
do
expect
(
page
).
to
have_content
'Request to merge fix into feature'
expect
(
page
).
to
have_content
'Request to merge fix into feature'
expect
(
page
).
to
have_content
'changed target branch from merge-test to feature'
expect
(
page
).
to
have_content
'changed target branch from merge-test to feature'
wait_for_
ajax
wait_for_
requests
end
end
step
'I click on "Email Patches"'
do
step
'I click on "Email Patches"'
do
...
@@ -572,7 +571,7 @@ class Spinach::Features::ProjectMergeRequests < Spinach::FeatureSteps
...
@@ -572,7 +571,7 @@ class Spinach::Features::ProjectMergeRequests < Spinach::FeatureSteps
expect
(
page
).
to
have_content
/([0-9]+ commits behind)/
expect
(
page
).
to
have_content
/([0-9]+ commits behind)/
end
end
wait_for_
vue_resource
wait_for_
requests
end
end
step
'I should not see the diverged commits count'
do
step
'I should not see the diverged commits count'
do
...
@@ -580,7 +579,7 @@ class Spinach::Features::ProjectMergeRequests < Spinach::FeatureSteps
...
@@ -580,7 +579,7 @@ class Spinach::Features::ProjectMergeRequests < Spinach::FeatureSteps
expect
(
page
).
not_to
have_content
/([0-9]+ commit[s]? behind)/
expect
(
page
).
not_to
have_content
/([0-9]+ commit[s]? behind)/
end
end
wait_for_
vue_resource
wait_for_
requests
end
end
def
merge_request
def
merge_request
...
@@ -597,7 +596,7 @@ class Spinach::Features::ProjectMergeRequests < Spinach::FeatureSteps
...
@@ -597,7 +596,7 @@ class Spinach::Features::ProjectMergeRequests < Spinach::FeatureSteps
click_button
"Comment"
click_button
"Comment"
end
end
wait_for_
ajax
wait_for_
requests
page
.
within
(
".notes_holder"
,
visible:
true
)
do
page
.
within
(
".notes_holder"
,
visible:
true
)
do
expect
(
page
).
to
have_content
message
expect
(
page
).
to
have_content
message
...
...
features/steps/project/merge_requests/acceptance.rb
View file @
2338785e
class
Spinach::Features::ProjectMergeRequestsAcceptance
<
Spinach
::
FeatureSteps
class
Spinach::Features::ProjectMergeRequestsAcceptance
<
Spinach
::
FeatureSteps
include
LoginHelpers
include
LoginHelpers
include
GitlabRoutingHelper
include
GitlabRoutingHelper
include
WaitFor
VueResource
include
WaitFor
Requests
step
'I am on the Merge Request detail page'
do
step
'I am on the Merge Request detail page'
do
visit
merge_request_path
(
@merge_request
)
visit
merge_request_path
(
@merge_request
)
...
@@ -24,7 +24,7 @@ class Spinach::Features::ProjectMergeRequestsAcceptance < Spinach::FeatureSteps
...
@@ -24,7 +24,7 @@ class Spinach::Features::ProjectMergeRequestsAcceptance < Spinach::FeatureSteps
# Wait for View Resource requests to complete so they don't blow up if they are
# Wait for View Resource requests to complete so they don't blow up if they are
# only handled after `DatabaseCleaner` has already run
# only handled after `DatabaseCleaner` has already run
wait_for_
vue_resource
wait_for_
requests
end
end
step
'I should not see the Remove Source Branch button'
do
step
'I should not see the Remove Source Branch button'
do
...
@@ -32,7 +32,7 @@ class Spinach::Features::ProjectMergeRequestsAcceptance < Spinach::FeatureSteps
...
@@ -32,7 +32,7 @@ class Spinach::Features::ProjectMergeRequestsAcceptance < Spinach::FeatureSteps
# Wait for View Resource requests to complete so they don't blow up if they are
# Wait for View Resource requests to complete so they don't blow up if they are
# only handled after `DatabaseCleaner` has already run
# only handled after `DatabaseCleaner` has already run
wait_for_
vue_resource
wait_for_
requests
end
end
step
'There is an open Merge Request'
do
step
'There is an open Merge Request'
do
...
...
features/steps/project/merge_requests/revert.rb
View file @
2338785e
class
Spinach::Features::RevertMergeRequests
<
Spinach
::
FeatureSteps
class
Spinach::Features::RevertMergeRequests
<
Spinach
::
FeatureSteps
include
LoginHelpers
include
LoginHelpers
include
GitlabRoutingHelper
include
GitlabRoutingHelper
include
WaitFor
VueResource
include
WaitFor
Requests
step
'I click on the revert button'
do
step
'I click on the revert button'
do
find
(
"a[href='#modal-revert-commit']"
).
click
find
(
"a[href='#modal-revert-commit']"
).
click
...
@@ -16,7 +16,7 @@ class Spinach::Features::RevertMergeRequests < Spinach::FeatureSteps
...
@@ -16,7 +16,7 @@ class Spinach::Features::RevertMergeRequests < Spinach::FeatureSteps
step
'I should see the revert merge request notice'
do
step
'I should see the revert merge request notice'
do
page
.
should
have_content
(
'The merge request has been successfully reverted.'
)
page
.
should
have_content
(
'The merge request has been successfully reverted.'
)
wait_for_
vue_resource
wait_for_
requests
end
end
step
'I should not see the revert button'
do
step
'I should not see the revert button'
do
...
...
features/steps/project/project.rb
View file @
2338785e
...
@@ -2,7 +2,7 @@ class Spinach::Features::Project < Spinach::FeatureSteps
...
@@ -2,7 +2,7 @@ class Spinach::Features::Project < Spinach::FeatureSteps
include
SharedAuthentication
include
SharedAuthentication
include
SharedProject
include
SharedProject
include
SharedPaths
include
SharedPaths
include
WaitFor
Ajax
include
WaitFor
Requests
step
'change project settings'
do
step
'change project settings'
do
fill_in
'project_name_edit'
,
with:
'NewName'
fill_in
'project_name_edit'
,
with:
'NewName'
...
@@ -87,7 +87,7 @@ class Spinach::Features::Project < Spinach::FeatureSteps
...
@@ -87,7 +87,7 @@ class Spinach::Features::Project < Spinach::FeatureSteps
end
end
step
'I should see project "Shop" README'
do
step
'I should see project "Shop" README'
do
wait_for_
ajax
wait_for_
requests
page
.
within
(
'.readme-holder'
)
do
page
.
within
(
'.readme-holder'
)
do
expect
(
page
).
to
have_content
'testme'
expect
(
page
).
to
have_content
'testme'
end
end
...
...
features/steps/project/project_milestone.rb
View file @
2338785e
...
@@ -2,7 +2,7 @@ class Spinach::Features::ProjectMilestone < Spinach::FeatureSteps
...
@@ -2,7 +2,7 @@ class Spinach::Features::ProjectMilestone < Spinach::FeatureSteps
include
SharedAuthentication
include
SharedAuthentication
include
SharedProject
include
SharedProject
include
SharedPaths
include
SharedPaths
include
WaitFor
Ajax
include
WaitFor
Requests
step
'milestone has issue "Bugfix1" with labels: "bug", "feature"'
do
step
'milestone has issue "Bugfix1" with labels: "bug", "feature"'
do
project
=
Project
.
find_by
(
name:
"Shop"
)
project
=
Project
.
find_by
(
name:
"Shop"
)
...
@@ -35,7 +35,7 @@ class Spinach::Features::ProjectMilestone < Spinach::FeatureSteps
...
@@ -35,7 +35,7 @@ class Spinach::Features::ProjectMilestone < Spinach::FeatureSteps
end
end
step
'I should see the labels "bug", "enhancement" and "feature"'
do
step
'I should see the labels "bug", "enhancement" and "feature"'
do
wait_for_
ajax
wait_for_
requests
page
.
within
(
'#tab-issues'
)
do
page
.
within
(
'#tab-issues'
)
do
expect
(
page
).
to
have_content
'bug'
expect
(
page
).
to
have_content
'bug'
...
...
features/steps/project/snippets.rb
View file @
2338785e
...
@@ -3,7 +3,7 @@ class Spinach::Features::ProjectSnippets < Spinach::FeatureSteps
...
@@ -3,7 +3,7 @@ class Spinach::Features::ProjectSnippets < Spinach::FeatureSteps
include
SharedProject
include
SharedProject
include
SharedNote
include
SharedNote
include
SharedPaths
include
SharedPaths
include
WaitFor
Ajax
include
WaitFor
Requests
step
'project "Shop" have "Snippet one" snippet'
do
step
'project "Shop" have "Snippet one" snippet'
do
create
(
:project_snippet
,
create
(
:project_snippet
,
...
@@ -59,7 +59,7 @@ class Spinach::Features::ProjectSnippets < Spinach::FeatureSteps
...
@@ -59,7 +59,7 @@ class Spinach::Features::ProjectSnippets < Spinach::FeatureSteps
find
(
'.ace_editor'
).
native
.
send_keys
'Content of snippet three'
find
(
'.ace_editor'
).
native
.
send_keys
'Content of snippet three'
end
end
click_button
"Create snippet"
click_button
"Create snippet"
wait_for_
ajax
wait_for_
requests
end
end
step
'I should see snippet "Snippet three"'
do
step
'I should see snippet "Snippet three"'
do
...
@@ -81,7 +81,7 @@ class Spinach::Features::ProjectSnippets < Spinach::FeatureSteps
...
@@ -81,7 +81,7 @@ class Spinach::Features::ProjectSnippets < Spinach::FeatureSteps
fill_in
"note_note"
,
with:
"Good snippet!"
fill_in
"note_note"
,
with:
"Good snippet!"
click_button
"Comment"
click_button
"Comment"
end
end
wait_for_
ajax
wait_for_
requests
end
end
step
'I should see comment "Good snippet!"'
do
step
'I should see comment "Good snippet!"'
do
...
...
features/steps/project/source/browse_files.rb
View file @
2338785e
...
@@ -4,7 +4,7 @@ class Spinach::Features::ProjectSourceBrowseFiles < Spinach::FeatureSteps
...
@@ -4,7 +4,7 @@ class Spinach::Features::ProjectSourceBrowseFiles < Spinach::FeatureSteps
include
SharedProject
include
SharedProject
include
SharedPaths
include
SharedPaths
include
RepoHelpers
include
RepoHelpers
include
WaitFor
Ajax
include
WaitFor
Requests
step
"I don't have write access"
do
step
"I don't have write access"
do
@project
=
create
(
:project
,
:repository
,
name:
"Other Project"
,
path:
"other-project"
)
@project
=
create
(
:project
,
:repository
,
name:
"Other Project"
,
path:
"other-project"
)
...
@@ -37,12 +37,12 @@ class Spinach::Features::ProjectSourceBrowseFiles < Spinach::FeatureSteps
...
@@ -37,12 +37,12 @@ class Spinach::Features::ProjectSourceBrowseFiles < Spinach::FeatureSteps
end
end
step
'I should see its content'
do
step
'I should see its content'
do
wait_for_
ajax
wait_for_
requests
expect
(
page
).
to
have_content
old_gitignore_content
expect
(
page
).
to
have_content
old_gitignore_content
end
end
step
'I should see its new content'
do
step
'I should see its new content'
do
wait_for_
ajax
wait_for_
requests
expect
(
page
).
to
have_content
new_gitignore_content
expect
(
page
).
to
have_content
new_gitignore_content
end
end
...
...
features/steps/project/source/markdown_render.rb
View file @
2338785e
...
@@ -5,7 +5,7 @@ class Spinach::Features::ProjectSourceMarkdownRender < Spinach::FeatureSteps
...
@@ -5,7 +5,7 @@ class Spinach::Features::ProjectSourceMarkdownRender < Spinach::FeatureSteps
include
SharedAuthentication
include
SharedAuthentication
include
SharedPaths
include
SharedPaths
include
SharedMarkdown
include
SharedMarkdown
include
WaitFor
Ajax
include
WaitFor
Requests
step
'I own project "Delta"'
do
step
'I own project "Delta"'
do
@project
=
::
Project
.
find_by
(
name:
"Delta"
)
@project
=
::
Project
.
find_by
(
name:
"Delta"
)
...
@@ -35,7 +35,7 @@ class Spinach::Features::ProjectSourceMarkdownRender < Spinach::FeatureSteps
...
@@ -35,7 +35,7 @@ class Spinach::Features::ProjectSourceMarkdownRender < Spinach::FeatureSteps
step
'I should see correct document rendered'
do
step
'I should see correct document rendered'
do
expect
(
current_path
).
to
eq
namespace_project_blob_path
(
@project
.
namespace
,
@project
,
"markdown/doc/api/README.md"
)
expect
(
current_path
).
to
eq
namespace_project_blob_path
(
@project
.
namespace
,
@project
,
"markdown/doc/api/README.md"
)
wait_for_
ajax
wait_for_
requests
expect
(
page
).
to
have_content
"All API requests require authentication"
expect
(
page
).
to
have_content
"All API requests require authentication"
end
end
...
@@ -65,7 +65,7 @@ class Spinach::Features::ProjectSourceMarkdownRender < Spinach::FeatureSteps
...
@@ -65,7 +65,7 @@ class Spinach::Features::ProjectSourceMarkdownRender < Spinach::FeatureSteps
step
'I should see correct maintenance file rendered'
do
step
'I should see correct maintenance file rendered'
do
expect
(
current_path
).
to
eq
namespace_project_blob_path
(
@project
.
namespace
,
@project
,
"markdown/doc/raketasks/maintenance.md"
)
expect
(
current_path
).
to
eq
namespace_project_blob_path
(
@project
.
namespace
,
@project
,
"markdown/doc/raketasks/maintenance.md"
)
wait_for_
ajax
wait_for_
requests
expect
(
page
).
to
have_content
"bundle exec rake gitlab:env:info RAILS_ENV=production"
expect
(
page
).
to
have_content
"bundle exec rake gitlab:env:info RAILS_ENV=production"
end
end
...
@@ -97,7 +97,7 @@ class Spinach::Features::ProjectSourceMarkdownRender < Spinach::FeatureSteps
...
@@ -97,7 +97,7 @@ class Spinach::Features::ProjectSourceMarkdownRender < Spinach::FeatureSteps
step
'I see correct file rendered'
do
step
'I see correct file rendered'
do
expect
(
current_path
).
to
eq
namespace_project_blob_path
(
@project
.
namespace
,
@project
,
"markdown/doc/api/README.md"
)
expect
(
current_path
).
to
eq
namespace_project_blob_path
(
@project
.
namespace
,
@project
,
"markdown/doc/api/README.md"
)
wait_for_
ajax
wait_for_
requests
expect
(
page
).
to
have_content
"Contents"
expect
(
page
).
to
have_content
"Contents"
expect
(
page
).
to
have_link
"Users"
expect
(
page
).
to
have_link
"Users"
expect
(
page
).
to
have_link
"Rake tasks"
expect
(
page
).
to
have_link
"Rake tasks"
...
@@ -120,7 +120,7 @@ class Spinach::Features::ProjectSourceMarkdownRender < Spinach::FeatureSteps
...
@@ -120,7 +120,7 @@ class Spinach::Features::ProjectSourceMarkdownRender < Spinach::FeatureSteps
When
'I visit markdown branch'
do
When
'I visit markdown branch'
do
visit
namespace_project_tree_path
(
@project
.
namespace
,
@project
,
"markdown"
)
visit
namespace_project_tree_path
(
@project
.
namespace
,
@project
,
"markdown"
)
wait_for_
ajax
wait_for_
requests
end
end
When
'I visit markdown branch "README.md" blob'
do
When
'I visit markdown branch "README.md" blob'
do
...
@@ -143,7 +143,7 @@ class Spinach::Features::ProjectSourceMarkdownRender < Spinach::FeatureSteps
...
@@ -143,7 +143,7 @@ class Spinach::Features::ProjectSourceMarkdownRender < Spinach::FeatureSteps
step
'I see correct file rendered in markdown branch'
do
step
'I see correct file rendered in markdown branch'
do
expect
(
current_path
).
to
eq
namespace_project_blob_path
(
@project
.
namespace
,
@project
,
"markdown/doc/api/README.md"
)
expect
(
current_path
).
to
eq
namespace_project_blob_path
(
@project
.
namespace
,
@project
,
"markdown/doc/api/README.md"
)
wait_for_
ajax
wait_for_
requests
expect
(
page
).
to
have_content
"Contents"
expect
(
page
).
to
have_content
"Contents"
expect
(
page
).
to
have_link
"Users"
expect
(
page
).
to
have_link
"Users"
expect
(
page
).
to
have_link
"Rake tasks"
expect
(
page
).
to
have_link
"Rake tasks"
...
@@ -151,7 +151,7 @@ class Spinach::Features::ProjectSourceMarkdownRender < Spinach::FeatureSteps
...
@@ -151,7 +151,7 @@ class Spinach::Features::ProjectSourceMarkdownRender < Spinach::FeatureSteps
step
'I should see correct document rendered for markdown branch'
do
step
'I should see correct document rendered for markdown branch'
do
expect
(
current_path
).
to
eq
namespace_project_blob_path
(
@project
.
namespace
,
@project
,
"markdown/doc/api/README.md"
)
expect
(
current_path
).
to
eq
namespace_project_blob_path
(
@project
.
namespace
,
@project
,
"markdown/doc/api/README.md"
)
wait_for_
ajax
wait_for_
requests
expect
(
page
).
to
have_content
"All API requests require authentication"
expect
(
page
).
to
have_content
"All API requests require authentication"
end
end
...
@@ -169,7 +169,7 @@ class Spinach::Features::ProjectSourceMarkdownRender < Spinach::FeatureSteps
...
@@ -169,7 +169,7 @@ class Spinach::Features::ProjectSourceMarkdownRender < Spinach::FeatureSteps
# Expected link contents
# Expected link contents
step
'The link with text "empty" should have url "tree/markdown"'
do
step
'The link with text "empty" should have url "tree/markdown"'
do
wait_for_
ajax
wait_for_
requests
find
(
'a'
,
text:
/^empty$/
)[
'href'
]
==
current_host
+
namespace_project_tree_path
(
@project
.
namespace
,
@project
,
"markdown"
)
find
(
'a'
,
text:
/^empty$/
)[
'href'
]
==
current_host
+
namespace_project_tree_path
(
@project
.
namespace
,
@project
,
"markdown"
)
end
end
...
@@ -205,7 +205,7 @@ class Spinach::Features::ProjectSourceMarkdownRender < Spinach::FeatureSteps
...
@@ -205,7 +205,7 @@ class Spinach::Features::ProjectSourceMarkdownRender < Spinach::FeatureSteps
end
end
step
'The link with text "ID" should have url "blob/markdown/README.mdID"'
do
step
'The link with text "ID" should have url "blob/markdown/README.mdID"'
do
wait_for_
ajax
wait_for_
requests
find
(
'a'
,
text:
/^#id$/
)[
'href'
]
==
current_host
+
namespace_project_blob_path
(
@project
.
namespace
,
@project
,
"markdown/README.md"
)
+
'#id'
find
(
'a'
,
text:
/^#id$/
)[
'href'
]
==
current_host
+
namespace_project_blob_path
(
@project
.
namespace
,
@project
,
"markdown/README.md"
)
+
'#id'
end
end
...
@@ -300,12 +300,12 @@ class Spinach::Features::ProjectSourceMarkdownRender < Spinach::FeatureSteps
...
@@ -300,12 +300,12 @@ class Spinach::Features::ProjectSourceMarkdownRender < Spinach::FeatureSteps
step
'I should see the correct markdown'
do
step
'I should see the correct markdown'
do
expect
(
current_path
).
to
eq
namespace_project_blob_path
(
@project
.
namespace
,
@project
,
"markdown/doc/api/users.md"
)
expect
(
current_path
).
to
eq
namespace_project_blob_path
(
@project
.
namespace
,
@project
,
"markdown/doc/api/users.md"
)
wait_for_
ajax
wait_for_
requests
expect
(
page
).
to
have_content
"List users"
expect
(
page
).
to
have_content
"List users"
end
end
step
'Header "Application details" should have correct id and link'
do
step
'Header "Application details" should have correct id and link'
do
wait_for_
ajax
wait_for_
requests
header_should_have_correct_id_and_link
(
2
,
'Application details'
,
'application-details'
)
header_should_have_correct_id_and_link
(
2
,
'Application details'
,
'application-details'
)
end
end
...
...
features/steps/shared/active_tab.rb
View file @
2338785e
module
SharedActiveTab
module
SharedActiveTab
include
Spinach
::
DSL
include
Spinach
::
DSL
include
WaitFor
Ajax
include
WaitFor
Requests
after
do
after
do
wait_for_
ajax
if
javascript_test?
wait_for_
requests
if
javascript_test?
end
end
def
ensure_active_main_tab
(
content
)
def
ensure_active_main_tab
(
content
)
...
...
features/steps/shared/diff_note.rb
View file @
2338785e
module
SharedDiffNote
module
SharedDiffNote
include
Spinach
::
DSL
include
Spinach
::
DSL
include
RepoHelpers
include
RepoHelpers
include
WaitFor
Ajax
include
WaitFor
Requests
after
do
after
do
wait_for_
ajax
if
javascript_test?
wait_for_
requests
if
javascript_test?
end
end
step
'I cancel the diff comment'
do
step
'I cancel the diff comment'
do
...
...
features/steps/shared/note.rb
View file @
2338785e
module
SharedNote
module
SharedNote
include
Spinach
::
DSL
include
Spinach
::
DSL
include
WaitFor
Ajax
include
WaitFor
Requests
after
do
after
do
wait_for_
ajax
if
javascript_test?
wait_for_
requests
if
javascript_test?
end
end
step
'I delete a comment'
do
step
'I delete a comment'
do
...
@@ -25,7 +25,7 @@ module SharedNote
...
@@ -25,7 +25,7 @@ module SharedNote
click_button
"Comment"
click_button
"Comment"
end
end
wait_for_
ajax
wait_for_
requests
end
end
step
'I preview a comment text like "Bug fixed :smile:"'
do
step
'I preview a comment text like "Bug fixed :smile:"'
do
...
@@ -40,7 +40,7 @@ module SharedNote
...
@@ -40,7 +40,7 @@ module SharedNote
click_button
"Comment"
click_button
"Comment"
end
end
wait_for_
ajax
wait_for_
requests
end
end
step
'I write a comment like ":+1: Nice"'
do
step
'I write a comment like ":+1: Nice"'
do
...
@@ -127,7 +127,7 @@ module SharedNote
...
@@ -127,7 +127,7 @@ module SharedNote
click_button
"Comment"
click_button
"Comment"
end
end
wait_for_
ajax
wait_for_
requests
end
end
step
'The comment with the header should not have an ID'
do
step
'The comment with the header should not have an ID'
do
...
...
features/steps/shared/paths.rb
View file @
2338785e
...
@@ -2,7 +2,7 @@ module SharedPaths
...
@@ -2,7 +2,7 @@ module SharedPaths
include
Spinach
::
DSL
include
Spinach
::
DSL
include
RepoHelpers
include
RepoHelpers
include
DashboardHelper
include
DashboardHelper
include
WaitFor
VueResource
include
WaitFor
Requests
step
'I visit new project page'
do
step
'I visit new project page'
do
visit
new_project_path
visit
new_project_path
...
@@ -378,28 +378,28 @@ module SharedPaths
...
@@ -378,28 +378,28 @@ module SharedPaths
step
'I visit merge request page "Bug NS-04"'
do
step
'I visit merge request page "Bug NS-04"'
do
visit
merge_request_path
(
"Bug NS-04"
)
visit
merge_request_path
(
"Bug NS-04"
)
wait_for_
vue_resource
wait_for_
requests
end
end
step
'I visit merge request page "Bug NS-05"'
do
step
'I visit merge request page "Bug NS-05"'
do
visit
merge_request_path
(
"Bug NS-05"
)
visit
merge_request_path
(
"Bug NS-05"
)
wait_for_
vue_resource
wait_for_
requests
end
end
step
'I visit merge request page "Bug NS-07"'
do
step
'I visit merge request page "Bug NS-07"'
do
visit
merge_request_path
(
"Bug NS-07"
)
visit
merge_request_path
(
"Bug NS-07"
)
wait_for_
vue_resource
wait_for_
requests
end
end
step
'I visit merge request page "Bug NS-08"'
do
step
'I visit merge request page "Bug NS-08"'
do
visit
merge_request_path
(
"Bug NS-08"
)
visit
merge_request_path
(
"Bug NS-08"
)
wait_for_
vue_resource
wait_for_
requests
end
end
step
'I visit merge request page "Bug CO-01"'
do
step
'I visit merge request page "Bug CO-01"'
do
mr
=
MergeRequest
.
find_by
(
title:
"Bug CO-01"
)
mr
=
MergeRequest
.
find_by
(
title:
"Bug CO-01"
)
visit
namespace_project_merge_request_path
(
mr
.
target_project
.
namespace
,
mr
.
target_project
,
mr
)
visit
namespace_project_merge_request_path
(
mr
.
target_project
.
namespace
,
mr
.
target_project
,
mr
)
wait_for_
vue_resource
wait_for_
requests
end
end
step
'I visit project "Shop" merge requests page'
do
step
'I visit project "Shop" merge requests page'
do
...
...
features/steps/snippets/snippets.rb
View file @
2338785e
...
@@ -3,7 +3,7 @@ class Spinach::Features::Snippets < Spinach::FeatureSteps
...
@@ -3,7 +3,7 @@ class Spinach::Features::Snippets < Spinach::FeatureSteps
include
SharedPaths
include
SharedPaths
include
SharedProject
include
SharedProject
include
SharedSnippet
include
SharedSnippet
include
WaitFor
Ajax
include
WaitFor
Requests
step
'I click link "Personal snippet one"'
do
step
'I click link "Personal snippet one"'
do
click_link
"Personal snippet one"
click_link
"Personal snippet one"
...
@@ -30,7 +30,7 @@ class Spinach::Features::Snippets < Spinach::FeatureSteps
...
@@ -30,7 +30,7 @@ class Spinach::Features::Snippets < Spinach::FeatureSteps
find
(
'.ace_editor'
).
native
.
send_keys
'Content of snippet three'
find
(
'.ace_editor'
).
native
.
send_keys
'Content of snippet three'
end
end
click_button
"Create snippet"
click_button
"Create snippet"
wait_for_
ajax
wait_for_
requests
end
end
step
'I submit new internal snippet'
do
step
'I submit new internal snippet'
do
...
...
features/support/env.rb
View file @
2338785e
...
@@ -10,7 +10,7 @@ if ENV['CI']
...
@@ -10,7 +10,7 @@ if ENV['CI']
Knapsack
::
Adapters
::
SpinachAdapter
.
bind
Knapsack
::
Adapters
::
SpinachAdapter
.
bind
end
end
%w(select2_helper test_env repo_helpers wait_for_
ajax wait_for_requests sidekiq wait_for_vue_resource
)
.
each
do
|
f
|
%w(select2_helper test_env repo_helpers wait_for_
requests sidekiq
)
.
each
do
|
f
|
require
Rails
.
root
.
join
(
'spec'
,
'support'
,
f
)
require
Rails
.
root
.
join
(
'spec'
,
'support'
,
f
)
end
end
...
@@ -33,7 +33,7 @@ end
...
@@ -33,7 +33,7 @@ end
Spinach
.
hooks
.
after_scenario
do
|
scenario_data
,
step_definitions
|
Spinach
.
hooks
.
after_scenario
do
|
scenario_data
,
step_definitions
|
if
scenario_data
.
tags
.
include?
(
'javascript'
)
if
scenario_data
.
tags
.
include?
(
'javascript'
)
include
WaitForRequests
include
WaitForRequests
wait_for_requests_complete
block_and_
wait_for_requests_complete
end
end
end
end
...
...
spec/features/admin/admin_labels_spec.rb
View file @
2338785e
...
@@ -34,11 +34,11 @@ RSpec.describe 'admin issues labels' do
...
@@ -34,11 +34,11 @@ RSpec.describe 'admin issues labels' do
page
.
within
'.labels'
do
page
.
within
'.labels'
do
page
.
all
(
'.btn-remove'
).
each
do
|
remove
|
page
.
all
(
'.btn-remove'
).
each
do
|
remove
|
remove
.
click
remove
.
click
wait_for_
ajax
wait_for_
requests
end
end
end
end
wait_for_
ajax
wait_for_
requests
expect
(
page
).
to
have_content
(
"There are no labels yet"
)
expect
(
page
).
to
have_content
(
"There are no labels yet"
)
expect
(
page
).
not_to
have_content
(
'bug'
)
expect
(
page
).
not_to
have_content
(
'bug'
)
...
...
spec/features/admin/admin_users_spec.rb
View file @
2338785e
...
@@ -277,7 +277,7 @@ describe "Admin::Users", feature: true do
...
@@ -277,7 +277,7 @@ describe "Admin::Users", feature: true do
page
.
within
(
first
(
'.group_member'
))
do
page
.
within
(
first
(
'.group_member'
))
do
find
(
'.btn-remove'
).
click
find
(
'.btn-remove'
).
click
end
end
wait_for_
ajax
wait_for_
requests
expect
(
page
).
not_to
have_selector
(
'.group_member'
)
expect
(
page
).
not_to
have_selector
(
'.group_member'
)
end
end
...
...
spec/features/auto_deploy_spec.rb
View file @
2338785e
...
@@ -46,7 +46,7 @@ describe 'Auto deploy' do
...
@@ -46,7 +46,7 @@ describe 'Auto deploy' do
within
'.gitlab-ci-yml-selector'
do
within
'.gitlab-ci-yml-selector'
do
click_on
'OpenShift'
click_on
'OpenShift'
end
end
wait_for_
ajax
wait_for_
requests
click_button
'Commit changes'
click_button
'Commit changes'
expect
(
page
).
to
have_content
(
'New Merge Request From auto-deploy into master'
)
expect
(
page
).
to
have_content
(
'New Merge Request From auto-deploy into master'
)
...
...
spec/features/boards/add_issues_modal_spec.rb
View file @
2338785e
require
'rails_helper'
require
'rails_helper'
describe
'Issue Boards add issue modal'
,
:feature
,
:js
do
describe
'Issue Boards add issue modal'
,
:feature
,
:js
do
include
WaitForVueResource
let
(
:project
)
{
create
(
:empty_project
,
:public
)
}
let
(
:project
)
{
create
(
:empty_project
,
:public
)
}
let
(
:board
)
{
create
(
:board
,
project:
project
)
}
let
(
:board
)
{
create
(
:board
,
project:
project
)
}
let
(
:user
)
{
create
(
:user
)
}
let
(
:user
)
{
create
(
:user
)
}
...
@@ -19,13 +17,13 @@ describe 'Issue Boards add issue modal', :feature, :js do
...
@@ -19,13 +17,13 @@ describe 'Issue Boards add issue modal', :feature, :js do
login_as
(
user
)
login_as
(
user
)
visit
namespace_project_board_path
(
project
.
namespace
,
project
,
board
)
visit
namespace_project_board_path
(
project
.
namespace
,
project
,
board
)
wait_for_
vue_resource
wait_for_
requests
end
end
it
'resets filtered search state'
do
it
'resets filtered search state'
do
visit
namespace_project_board_path
(
project
.
namespace
,
project
,
board
,
search:
'testing'
)
visit
namespace_project_board_path
(
project
.
namespace
,
project
,
board
,
search:
'testing'
)
wait_for_
vue_resource
wait_for_
requests
click_button
(
'Add issues'
)
click_button
(
'Add issues'
)
...
@@ -74,7 +72,7 @@ describe 'Issue Boards add issue modal', :feature, :js do
...
@@ -74,7 +72,7 @@ describe 'Issue Boards add issue modal', :feature, :js do
before
do
before
do
click_button
(
'Add issues'
)
click_button
(
'Add issues'
)
wait_for_
vue_resource
wait_for_
requests
end
end
it
'loads issues'
do
it
'loads issues'
do
...
@@ -107,7 +105,7 @@ describe 'Issue Boards add issue modal', :feature, :js do
...
@@ -107,7 +105,7 @@ describe 'Issue Boards add issue modal', :feature, :js do
click_button
(
'Add issues'
)
click_button
(
'Add issues'
)
wait_for_
vue_resource
wait_for_
requests
page
.
within
(
'.add-issues-modal'
)
do
page
.
within
(
'.add-issues-modal'
)
do
expect
(
find
(
'.add-issues-footer'
)).
not_to
have_button
(
planning
.
title
)
expect
(
find
(
'.add-issues-footer'
)).
not_to
have_button
(
planning
.
title
)
...
@@ -122,7 +120,7 @@ describe 'Issue Boards add issue modal', :feature, :js do
...
@@ -122,7 +120,7 @@ describe 'Issue Boards add issue modal', :feature, :js do
find
(
'.form-control'
).
native
.
send_keys
(
issue
.
title
)
find
(
'.form-control'
).
native
.
send_keys
(
issue
.
title
)
find
(
'.form-control'
).
native
.
send_keys
(
:enter
)
find
(
'.form-control'
).
native
.
send_keys
(
:enter
)
wait_for_
vue_resource
wait_for_
requests
expect
(
page
).
to
have_selector
(
'.card'
,
count:
1
)
expect
(
page
).
to
have_selector
(
'.card'
,
count:
1
)
end
end
...
@@ -133,7 +131,7 @@ describe 'Issue Boards add issue modal', :feature, :js do
...
@@ -133,7 +131,7 @@ describe 'Issue Boards add issue modal', :feature, :js do
find
(
'.form-control'
).
native
.
send_keys
(
'testing search'
)
find
(
'.form-control'
).
native
.
send_keys
(
'testing search'
)
find
(
'.form-control'
).
native
.
send_keys
(
:enter
)
find
(
'.form-control'
).
native
.
send_keys
(
:enter
)
wait_for_
vue_resource
wait_for_
requests
expect
(
page
).
not_to
have_selector
(
'.card'
)
expect
(
page
).
not_to
have_selector
(
'.card'
)
expect
(
page
).
not_to
have_content
(
"You haven't added any issues to your project yet"
)
expect
(
page
).
not_to
have_content
(
"You haven't added any issues to your project yet"
)
...
...
spec/features/boards/boards_spec.rb
View file @
2338785e
require
'rails_helper'
require
'rails_helper'
describe
'Issue Boards'
,
feature:
true
,
js:
true
do
describe
'Issue Boards'
,
feature:
true
,
js:
true
do
include
WaitForVueResource
include
DragTo
include
DragTo
let
(
:project
)
{
create
(
:empty_project
,
:public
)
}
let
(
:project
)
{
create
(
:empty_project
,
:public
)
}
...
@@ -19,7 +18,7 @@ describe 'Issue Boards', feature: true, js: true do
...
@@ -19,7 +18,7 @@ describe 'Issue Boards', feature: true, js: true do
context
'no lists'
do
context
'no lists'
do
before
do
before
do
visit
namespace_project_board_path
(
project
.
namespace
,
project
,
board
)
visit
namespace_project_board_path
(
project
.
namespace
,
project
,
board
)
wait_for_
vue_resource
wait_for_
requests
expect
(
page
).
to
have_selector
(
'.board'
,
count:
2
)
expect
(
page
).
to
have_selector
(
'.board'
,
count:
2
)
end
end
...
@@ -46,7 +45,7 @@ describe 'Issue Boards', feature: true, js: true do
...
@@ -46,7 +45,7 @@ describe 'Issue Boards', feature: true, js: true do
page
.
within
(
find
(
'.board-blank-state'
))
do
page
.
within
(
find
(
'.board-blank-state'
))
do
click_button
(
'Add default lists'
)
click_button
(
'Add default lists'
)
end
end
wait_for_
vue_resource
wait_for_
requests
expect
(
page
).
to
have_selector
(
'.board'
,
count:
3
)
expect
(
page
).
to
have_selector
(
'.board'
,
count:
3
)
...
@@ -84,7 +83,7 @@ describe 'Issue Boards', feature: true, js: true do
...
@@ -84,7 +83,7 @@ describe 'Issue Boards', feature: true, js: true do
before
do
before
do
visit
namespace_project_board_path
(
project
.
namespace
,
project
,
board
)
visit
namespace_project_board_path
(
project
.
namespace
,
project
,
board
)
wait_for_
vue_resource
wait_for_
requests
expect
(
page
).
to
have_selector
(
'.board'
,
count:
3
)
expect
(
page
).
to
have_selector
(
'.board'
,
count:
3
)
expect
(
find
(
'.board:nth-child(1)'
)).
to
have_selector
(
'.card'
)
expect
(
find
(
'.board:nth-child(1)'
)).
to
have_selector
(
'.card'
)
...
@@ -117,7 +116,7 @@ describe 'Issue Boards', feature: true, js: true do
...
@@ -117,7 +116,7 @@ describe 'Issue Boards', feature: true, js: true do
find
(
'.filtered-search'
).
set
(
issue8
.
title
)
find
(
'.filtered-search'
).
set
(
issue8
.
title
)
find
(
'.filtered-search'
).
native
.
send_keys
(
:enter
)
find
(
'.filtered-search'
).
native
.
send_keys
(
:enter
)
wait_for_
vue_resource
wait_for_
requests
expect
(
find
(
'.board:nth-child(1)'
)).
to
have_selector
(
'.card'
,
count:
0
)
expect
(
find
(
'.board:nth-child(1)'
)).
to
have_selector
(
'.card'
,
count:
0
)
expect
(
find
(
'.board:nth-child(2)'
)).
to
have_selector
(
'.card'
,
count:
0
)
expect
(
find
(
'.board:nth-child(2)'
)).
to
have_selector
(
'.card'
,
count:
0
)
...
@@ -128,7 +127,7 @@ describe 'Issue Boards', feature: true, js: true do
...
@@ -128,7 +127,7 @@ describe 'Issue Boards', feature: true, js: true do
find
(
'.filtered-search'
).
set
(
issue5
.
title
)
find
(
'.filtered-search'
).
set
(
issue5
.
title
)
find
(
'.filtered-search'
).
native
.
send_keys
(
:enter
)
find
(
'.filtered-search'
).
native
.
send_keys
(
:enter
)
wait_for_
vue_resource
wait_for_
requests
expect
(
find
(
'.board:nth-child(1)'
)).
to
have_selector
(
'.card'
,
count:
1
)
expect
(
find
(
'.board:nth-child(1)'
)).
to
have_selector
(
'.card'
,
count:
1
)
expect
(
find
(
'.board:nth-child(2)'
)).
to
have_selector
(
'.card'
,
count:
0
)
expect
(
find
(
'.board:nth-child(2)'
)).
to
have_selector
(
'.card'
,
count:
0
)
...
@@ -140,20 +139,20 @@ describe 'Issue Boards', feature: true, js: true do
...
@@ -140,20 +139,20 @@ describe 'Issue Boards', feature: true, js: true do
find
(
'.board-delete'
).
click
find
(
'.board-delete'
).
click
end
end
wait_for_
vue_resource
wait_for_
requests
expect
(
page
).
to
have_selector
(
'.board'
,
count:
2
)
expect
(
page
).
to
have_selector
(
'.board'
,
count:
2
)
end
end
it
'removes checkmark in new list dropdown after deleting'
do
it
'removes checkmark in new list dropdown after deleting'
do
click_button
'Add list'
click_button
'Add list'
wait_for_
ajax
wait_for_
requests
page
.
within
(
find
(
'.board:nth-child(1)'
))
do
page
.
within
(
find
(
'.board:nth-child(1)'
))
do
find
(
'.board-delete'
).
click
find
(
'.board-delete'
).
click
end
end
wait_for_
vue_resource
wait_for_
requests
expect
(
page
).
to
have_selector
(
'.board'
,
count:
2
)
expect
(
page
).
to
have_selector
(
'.board'
,
count:
2
)
end
end
...
@@ -164,7 +163,7 @@ describe 'Issue Boards', feature: true, js: true do
...
@@ -164,7 +163,7 @@ describe 'Issue Boards', feature: true, js: true do
end
end
visit
namespace_project_board_path
(
project
.
namespace
,
project
,
board
)
visit
namespace_project_board_path
(
project
.
namespace
,
project
,
board
)
wait_for_
vue_resource
wait_for_
requests
page
.
within
(
find
(
'.board'
,
match: :first
))
do
page
.
within
(
find
(
'.board'
,
match: :first
))
do
expect
(
page
.
find
(
'.board-header'
)).
to
have_content
(
'58'
)
expect
(
page
.
find
(
'.board-header'
)).
to
have_content
(
'58'
)
...
@@ -172,13 +171,13 @@ describe 'Issue Boards', feature: true, js: true do
...
@@ -172,13 +171,13 @@ describe 'Issue Boards', feature: true, js: true do
expect
(
page
).
to
have_content
(
'Showing 20 of 58 issues'
)
expect
(
page
).
to
have_content
(
'Showing 20 of 58 issues'
)
evaluate_script
(
"document.querySelectorAll('.board .board-list')[0].scrollTop = document.querySelectorAll('.board .board-list')[0].scrollHeight"
)
evaluate_script
(
"document.querySelectorAll('.board .board-list')[0].scrollTop = document.querySelectorAll('.board .board-list')[0].scrollHeight"
)
wait_for_
vue_resource
wait_for_
requests
expect
(
page
).
to
have_selector
(
'.card'
,
count:
40
)
expect
(
page
).
to
have_selector
(
'.card'
,
count:
40
)
expect
(
page
).
to
have_content
(
'Showing 40 of 58 issues'
)
expect
(
page
).
to
have_content
(
'Showing 40 of 58 issues'
)
evaluate_script
(
"document.querySelectorAll('.board .board-list')[0].scrollTop = document.querySelectorAll('.board .board-list')[0].scrollHeight"
)
evaluate_script
(
"document.querySelectorAll('.board .board-list')[0].scrollTop = document.querySelectorAll('.board .board-list')[0].scrollHeight"
)
wait_for_
vue_resource
wait_for_
requests
expect
(
page
).
to
have_selector
(
'.card'
,
count:
58
)
expect
(
page
).
to
have_selector
(
'.card'
,
count:
58
)
expect
(
page
).
to
have_content
(
'Showing all issues'
)
expect
(
page
).
to
have_content
(
'Showing all issues'
)
...
@@ -188,7 +187,7 @@ describe 'Issue Boards', feature: true, js: true do
...
@@ -188,7 +187,7 @@ describe 'Issue Boards', feature: true, js: true do
context
'closed'
do
context
'closed'
do
it
'shows list of closed issues'
do
it
'shows list of closed issues'
do
wait_for_board_cards
(
3
,
1
)
wait_for_board_cards
(
3
,
1
)
wait_for_
ajax
wait_for_
requests
end
end
it
'moves issue to closed'
do
it
'moves issue to closed'
do
...
@@ -272,7 +271,7 @@ describe 'Issue Boards', feature: true, js: true do
...
@@ -272,7 +271,7 @@ describe 'Issue Boards', feature: true, js: true do
context
'new list'
do
context
'new list'
do
it
'shows all labels in new list dropdown'
do
it
'shows all labels in new list dropdown'
do
click_button
'Add list'
click_button
'Add list'
wait_for_
ajax
wait_for_
requests
page
.
within
(
'.dropdown-menu-issues-board-new'
)
do
page
.
within
(
'.dropdown-menu-issues-board-new'
)
do
expect
(
page
).
to
have_content
(
planning
.
title
)
expect
(
page
).
to
have_content
(
planning
.
title
)
...
@@ -283,52 +282,52 @@ describe 'Issue Boards', feature: true, js: true do
...
@@ -283,52 +282,52 @@ describe 'Issue Boards', feature: true, js: true do
it
'creates new list for label'
do
it
'creates new list for label'
do
click_button
'Add list'
click_button
'Add list'
wait_for_
ajax
wait_for_
requests
page
.
within
(
'.dropdown-menu-issues-board-new'
)
do
page
.
within
(
'.dropdown-menu-issues-board-new'
)
do
click_link
testing
.
title
click_link
testing
.
title
end
end
wait_for_
vue_resource
wait_for_
requests
expect
(
page
).
to
have_selector
(
'.board'
,
count:
4
)
expect
(
page
).
to
have_selector
(
'.board'
,
count:
4
)
end
end
it
'creates new list for Backlog label'
do
it
'creates new list for Backlog label'
do
click_button
'Add list'
click_button
'Add list'
wait_for_
ajax
wait_for_
requests
page
.
within
(
'.dropdown-menu-issues-board-new'
)
do
page
.
within
(
'.dropdown-menu-issues-board-new'
)
do
click_link
backlog
.
title
click_link
backlog
.
title
end
end
wait_for_
vue_resource
wait_for_
requests
expect
(
page
).
to
have_selector
(
'.board'
,
count:
4
)
expect
(
page
).
to
have_selector
(
'.board'
,
count:
4
)
end
end
it
'creates new list for Closed label'
do
it
'creates new list for Closed label'
do
click_button
'Add list'
click_button
'Add list'
wait_for_
ajax
wait_for_
requests
page
.
within
(
'.dropdown-menu-issues-board-new'
)
do
page
.
within
(
'.dropdown-menu-issues-board-new'
)
do
click_link
closed
.
title
click_link
closed
.
title
end
end
wait_for_
vue_resource
wait_for_
requests
expect
(
page
).
to
have_selector
(
'.board'
,
count:
4
)
expect
(
page
).
to
have_selector
(
'.board'
,
count:
4
)
end
end
it
'keeps dropdown open after adding new list'
do
it
'keeps dropdown open after adding new list'
do
click_button
'Add list'
click_button
'Add list'
wait_for_
ajax
wait_for_
requests
page
.
within
(
'.dropdown-menu-issues-board-new'
)
do
page
.
within
(
'.dropdown-menu-issues-board-new'
)
do
click_link
closed
.
title
click_link
closed
.
title
end
end
wait_for_
vue_resource
wait_for_
requests
expect
(
page
).
to
have_css
(
'#js-add-list.open'
)
expect
(
page
).
to
have_css
(
'#js-add-list.open'
)
end
end
...
@@ -336,7 +335,7 @@ describe 'Issue Boards', feature: true, js: true do
...
@@ -336,7 +335,7 @@ describe 'Issue Boards', feature: true, js: true do
it
'creates new list from a new label'
do
it
'creates new list from a new label'
do
click_button
'Add list'
click_button
'Add list'
wait_for_
ajax
wait_for_
requests
click_link
'Create new label'
click_link
'Create new label'
...
@@ -346,8 +345,8 @@ describe 'Issue Boards', feature: true, js: true do
...
@@ -346,8 +345,8 @@ describe 'Issue Boards', feature: true, js: true do
click_button
'Create'
click_button
'Create'
wait_for_
ajax
wait_for_
requests
wait_for_
vue_resource
wait_for_
requests
expect
(
page
).
to
have_selector
(
'.board'
,
count:
4
)
expect
(
page
).
to
have_selector
(
'.board'
,
count:
4
)
end
end
...
@@ -360,7 +359,7 @@ describe 'Issue Boards', feature: true, js: true do
...
@@ -360,7 +359,7 @@ describe 'Issue Boards', feature: true, js: true do
click_filter_link
(
user2
.
username
)
click_filter_link
(
user2
.
username
)
submit_filter
submit_filter
wait_for_
vue_resource
wait_for_
requests
wait_for_board_cards
(
1
,
1
)
wait_for_board_cards
(
1
,
1
)
wait_for_empty_boards
((
2
..
3
))
wait_for_empty_boards
((
2
..
3
))
end
end
...
@@ -370,7 +369,7 @@ describe 'Issue Boards', feature: true, js: true do
...
@@ -370,7 +369,7 @@ describe 'Issue Boards', feature: true, js: true do
click_filter_link
(
user
.
username
)
click_filter_link
(
user
.
username
)
submit_filter
submit_filter
wait_for_
vue_resource
wait_for_
requests
wait_for_board_cards
(
1
,
1
)
wait_for_board_cards
(
1
,
1
)
wait_for_empty_boards
((
2
..
3
))
wait_for_empty_boards
((
2
..
3
))
...
@@ -381,7 +380,7 @@ describe 'Issue Boards', feature: true, js: true do
...
@@ -381,7 +380,7 @@ describe 'Issue Boards', feature: true, js: true do
click_filter_link
(
milestone
.
title
)
click_filter_link
(
milestone
.
title
)
submit_filter
submit_filter
wait_for_
vue_resource
wait_for_
requests
wait_for_board_cards
(
1
,
1
)
wait_for_board_cards
(
1
,
1
)
wait_for_board_cards
(
2
,
0
)
wait_for_board_cards
(
2
,
0
)
wait_for_board_cards
(
3
,
0
)
wait_for_board_cards
(
3
,
0
)
...
@@ -392,7 +391,7 @@ describe 'Issue Boards', feature: true, js: true do
...
@@ -392,7 +391,7 @@ describe 'Issue Boards', feature: true, js: true do
click_filter_link
(
testing
.
title
)
click_filter_link
(
testing
.
title
)
submit_filter
submit_filter
wait_for_
vue_resource
wait_for_
requests
wait_for_board_cards
(
1
,
1
)
wait_for_board_cards
(
1
,
1
)
wait_for_empty_boards
((
2
..
3
))
wait_for_empty_boards
((
2
..
3
))
end
end
...
@@ -407,7 +406,7 @@ describe 'Issue Boards', feature: true, js: true do
...
@@ -407,7 +406,7 @@ describe 'Issue Boards', feature: true, js: true do
wait_for_board_cards
(
1
,
1
)
wait_for_board_cards
(
1
,
1
)
wait_for_empty_boards
((
2
..
3
))
wait_for_empty_boards
((
2
..
3
))
wait_for_
vue_resource
wait_for_
requests
page
.
within
(
find
(
'.board'
,
match: :first
))
do
page
.
within
(
find
(
'.board'
,
match: :first
))
do
expect
(
page
.
find
(
'.board-header'
)).
to
have_content
(
'1'
)
expect
(
page
.
find
(
'.board-header'
)).
to
have_content
(
'1'
)
...
@@ -442,7 +441,7 @@ describe 'Issue Boards', feature: true, js: true do
...
@@ -442,7 +441,7 @@ describe 'Issue Boards', feature: true, js: true do
click_filter_link
(
testing
.
title
)
click_filter_link
(
testing
.
title
)
submit_filter
submit_filter
wait_for_
vue_resource
wait_for_
requests
page
.
within
(
find
(
'.board'
,
match: :first
))
do
page
.
within
(
find
(
'.board'
,
match: :first
))
do
expect
(
page
.
find
(
'.board-header'
)).
to
have_content
(
'51'
)
expect
(
page
.
find
(
'.board-header'
)).
to
have_content
(
'51'
)
...
@@ -470,7 +469,7 @@ describe 'Issue Boards', feature: true, js: true do
...
@@ -470,7 +469,7 @@ describe 'Issue Boards', feature: true, js: true do
submit_filter
submit_filter
wait_for_
vue_resource
wait_for_
requests
wait_for_board_cards
(
1
,
1
)
wait_for_board_cards
(
1
,
1
)
wait_for_empty_boards
((
2
..
3
))
wait_for_empty_boards
((
2
..
3
))
...
@@ -481,14 +480,14 @@ describe 'Issue Boards', feature: true, js: true do
...
@@ -481,14 +480,14 @@ describe 'Issue Boards', feature: true, js: true do
expect
(
page
).
to
have_selector
(
'.card'
,
count:
8
)
expect
(
page
).
to
have_selector
(
'.card'
,
count:
8
)
expect
(
find
(
'.card'
,
match: :first
)).
to
have_content
(
bug
.
title
)
expect
(
find
(
'.card'
,
match: :first
)).
to
have_content
(
bug
.
title
)
click_button
(
bug
.
title
)
click_button
(
bug
.
title
)
wait_for_
vue_resource
wait_for_
requests
end
end
page
.
within
(
'.tokens-container'
)
do
page
.
within
(
'.tokens-container'
)
do
expect
(
page
).
to
have_content
(
bug
.
title
)
expect
(
page
).
to
have_content
(
bug
.
title
)
end
end
wait_for_
vue_resource
wait_for_
requests
wait_for_board_cards
(
1
,
1
)
wait_for_board_cards
(
1
,
1
)
wait_for_empty_boards
((
2
..
3
))
wait_for_empty_boards
((
2
..
3
))
...
@@ -500,12 +499,12 @@ describe 'Issue Boards', feature: true, js: true do
...
@@ -500,12 +499,12 @@ describe 'Issue Boards', feature: true, js: true do
click_button
(
bug
.
title
)
click_button
(
bug
.
title
)
end
end
wait_for_
vue_resource
wait_for_
requests
expect
(
page
).
to
have_selector
(
'.card'
,
count:
1
)
expect
(
page
).
to
have_selector
(
'.card'
,
count:
1
)
end
end
wait_for_
vue_resource
wait_for_
requests
end
end
end
end
end
end
...
@@ -513,7 +512,7 @@ describe 'Issue Boards', feature: true, js: true do
...
@@ -513,7 +512,7 @@ describe 'Issue Boards', feature: true, js: true do
context
'keyboard shortcuts'
do
context
'keyboard shortcuts'
do
before
do
before
do
visit
namespace_project_board_path
(
project
.
namespace
,
project
,
board
)
visit
namespace_project_board_path
(
project
.
namespace
,
project
,
board
)
wait_for_
vue_resource
wait_for_
requests
end
end
it
'allows user to use keyboard shortcuts'
do
it
'allows user to use keyboard shortcuts'
do
...
@@ -526,7 +525,7 @@ describe 'Issue Boards', feature: true, js: true do
...
@@ -526,7 +525,7 @@ describe 'Issue Boards', feature: true, js: true do
before
do
before
do
logout
logout
visit
namespace_project_board_path
(
project
.
namespace
,
project
,
board
)
visit
namespace_project_board_path
(
project
.
namespace
,
project
,
board
)
wait_for_
vue_resource
wait_for_
requests
end
end
it
'displays lists'
do
it
'displays lists'
do
...
@@ -550,7 +549,7 @@ describe 'Issue Boards', feature: true, js: true do
...
@@ -550,7 +549,7 @@ describe 'Issue Boards', feature: true, js: true do
logout
logout
login_as
(
user_guest
)
login_as
(
user_guest
)
visit
namespace_project_board_path
(
project
.
namespace
,
project
,
board
)
visit
namespace_project_board_path
(
project
.
namespace
,
project
,
board
)
wait_for_
vue_resource
wait_for_
requests
end
end
it
'does not show create new list'
do
it
'does not show create new list'
do
...
...
spec/features/boards/issue_ordering_spec.rb
View file @
2338785e
require
'rails_helper'
require
'rails_helper'
describe
'Issue Boards'
,
:feature
,
:js
do
describe
'Issue Boards'
,
:feature
,
:js
do
include
WaitForVueResource
include
DragTo
include
DragTo
let
(
:project
)
{
create
(
:empty_project
,
:public
)
}
let
(
:project
)
{
create
(
:empty_project
,
:public
)
}
...
@@ -24,7 +23,7 @@ describe 'Issue Boards', :feature, :js do
...
@@ -24,7 +23,7 @@ describe 'Issue Boards', :feature, :js do
before
do
before
do
visit
namespace_project_board_path
(
project
.
namespace
,
project
,
board
)
visit
namespace_project_board_path
(
project
.
namespace
,
project
,
board
)
wait_for_
vue_resource
wait_for_
requests
expect
(
page
).
to
have_selector
(
'.board'
,
count:
2
)
expect
(
page
).
to
have_selector
(
'.board'
,
count:
2
)
end
end
...
@@ -38,7 +37,7 @@ describe 'Issue Boards', :feature, :js do
...
@@ -38,7 +37,7 @@ describe 'Issue Boards', :feature, :js do
it
'moves un-ordered issue to top of list'
do
it
'moves un-ordered issue to top of list'
do
drag
(
from_index:
3
,
to_index:
0
)
drag
(
from_index:
3
,
to_index:
0
)
wait_for_
vue_resource
wait_for_
requests
page
.
within
(
first
(
'.board'
))
do
page
.
within
(
first
(
'.board'
))
do
expect
(
first
(
'.card'
)).
to
have_content
(
issue4
.
title
)
expect
(
first
(
'.card'
)).
to
have_content
(
issue4
.
title
)
...
@@ -49,7 +48,7 @@ describe 'Issue Boards', :feature, :js do
...
@@ -49,7 +48,7 @@ describe 'Issue Boards', :feature, :js do
context
'ordering in list'
do
context
'ordering in list'
do
before
do
before
do
visit
namespace_project_board_path
(
project
.
namespace
,
project
,
board
)
visit
namespace_project_board_path
(
project
.
namespace
,
project
,
board
)
wait_for_
vue_resource
wait_for_
requests
expect
(
page
).
to
have_selector
(
'.board'
,
count:
2
)
expect
(
page
).
to
have_selector
(
'.board'
,
count:
2
)
end
end
...
@@ -57,7 +56,7 @@ describe 'Issue Boards', :feature, :js do
...
@@ -57,7 +56,7 @@ describe 'Issue Boards', :feature, :js do
it
'moves from middle to top'
do
it
'moves from middle to top'
do
drag
(
from_index:
1
,
to_index:
0
)
drag
(
from_index:
1
,
to_index:
0
)
wait_for_
vue_resource
wait_for_
requests
expect
(
first
(
'.card'
)).
to
have_content
(
issue2
.
title
)
expect
(
first
(
'.card'
)).
to
have_content
(
issue2
.
title
)
end
end
...
@@ -65,7 +64,7 @@ describe 'Issue Boards', :feature, :js do
...
@@ -65,7 +64,7 @@ describe 'Issue Boards', :feature, :js do
it
'moves from middle to bottom'
do
it
'moves from middle to bottom'
do
drag
(
from_index:
1
,
to_index:
2
)
drag
(
from_index:
1
,
to_index:
2
)
wait_for_
vue_resource
wait_for_
requests
expect
(
all
(
'.card'
).
last
).
to
have_content
(
issue2
.
title
)
expect
(
all
(
'.card'
).
last
).
to
have_content
(
issue2
.
title
)
end
end
...
@@ -73,7 +72,7 @@ describe 'Issue Boards', :feature, :js do
...
@@ -73,7 +72,7 @@ describe 'Issue Boards', :feature, :js do
it
'moves from top to bottom'
do
it
'moves from top to bottom'
do
drag
(
from_index:
0
,
to_index:
2
)
drag
(
from_index:
0
,
to_index:
2
)
wait_for_
vue_resource
wait_for_
requests
expect
(
all
(
'.card'
).
last
).
to
have_content
(
issue3
.
title
)
expect
(
all
(
'.card'
).
last
).
to
have_content
(
issue3
.
title
)
end
end
...
@@ -81,7 +80,7 @@ describe 'Issue Boards', :feature, :js do
...
@@ -81,7 +80,7 @@ describe 'Issue Boards', :feature, :js do
it
'moves from bottom to top'
do
it
'moves from bottom to top'
do
drag
(
from_index:
2
,
to_index:
0
)
drag
(
from_index:
2
,
to_index:
0
)
wait_for_
vue_resource
wait_for_
requests
expect
(
first
(
'.card'
)).
to
have_content
(
issue1
.
title
)
expect
(
first
(
'.card'
)).
to
have_content
(
issue1
.
title
)
end
end
...
@@ -89,7 +88,7 @@ describe 'Issue Boards', :feature, :js do
...
@@ -89,7 +88,7 @@ describe 'Issue Boards', :feature, :js do
it
'moves from top to middle'
do
it
'moves from top to middle'
do
drag
(
from_index:
0
,
to_index:
1
)
drag
(
from_index:
0
,
to_index:
1
)
wait_for_
vue_resource
wait_for_
requests
expect
(
first
(
'.card'
)).
to
have_content
(
issue2
.
title
)
expect
(
first
(
'.card'
)).
to
have_content
(
issue2
.
title
)
end
end
...
@@ -97,7 +96,7 @@ describe 'Issue Boards', :feature, :js do
...
@@ -97,7 +96,7 @@ describe 'Issue Boards', :feature, :js do
it
'moves from bottom to middle'
do
it
'moves from bottom to middle'
do
drag
(
from_index:
2
,
to_index:
1
)
drag
(
from_index:
2
,
to_index:
1
)
wait_for_
vue_resource
wait_for_
requests
expect
(
all
(
'.card'
).
last
).
to
have_content
(
issue2
.
title
)
expect
(
all
(
'.card'
).
last
).
to
have_content
(
issue2
.
title
)
end
end
...
@@ -112,7 +111,7 @@ describe 'Issue Boards', :feature, :js do
...
@@ -112,7 +111,7 @@ describe 'Issue Boards', :feature, :js do
before
do
before
do
visit
namespace_project_board_path
(
project
.
namespace
,
project
,
board
)
visit
namespace_project_board_path
(
project
.
namespace
,
project
,
board
)
wait_for_
vue_resource
wait_for_
requests
expect
(
page
).
to
have_selector
(
'.board'
,
count:
3
)
expect
(
page
).
to
have_selector
(
'.board'
,
count:
3
)
end
end
...
@@ -120,7 +119,7 @@ describe 'Issue Boards', :feature, :js do
...
@@ -120,7 +119,7 @@ describe 'Issue Boards', :feature, :js do
it
'moves to top of another list'
do
it
'moves to top of another list'
do
drag
(
list_from_index:
0
,
list_to_index:
1
)
drag
(
list_from_index:
0
,
list_to_index:
1
)
wait_for_
vue_resource
wait_for_
requests
expect
(
first
(
'.board'
)).
to
have_selector
(
'.card'
,
count:
2
)
expect
(
first
(
'.board'
)).
to
have_selector
(
'.card'
,
count:
2
)
expect
(
all
(
'.board'
)[
1
]).
to
have_selector
(
'.card'
,
count:
4
)
expect
(
all
(
'.board'
)[
1
]).
to
have_selector
(
'.card'
,
count:
4
)
...
@@ -133,7 +132,7 @@ describe 'Issue Boards', :feature, :js do
...
@@ -133,7 +132,7 @@ describe 'Issue Boards', :feature, :js do
it
'moves to bottom of another list'
do
it
'moves to bottom of another list'
do
drag
(
list_from_index:
0
,
list_to_index:
1
,
to_index:
2
)
drag
(
list_from_index:
0
,
list_to_index:
1
,
to_index:
2
)
wait_for_
vue_resource
wait_for_
requests
expect
(
first
(
'.board'
)).
to
have_selector
(
'.card'
,
count:
2
)
expect
(
first
(
'.board'
)).
to
have_selector
(
'.card'
,
count:
2
)
expect
(
all
(
'.board'
)[
1
]).
to
have_selector
(
'.card'
,
count:
4
)
expect
(
all
(
'.board'
)[
1
]).
to
have_selector
(
'.card'
,
count:
4
)
...
@@ -146,7 +145,7 @@ describe 'Issue Boards', :feature, :js do
...
@@ -146,7 +145,7 @@ describe 'Issue Boards', :feature, :js do
it
'moves to index of another list'
do
it
'moves to index of another list'
do
drag
(
list_from_index:
0
,
list_to_index:
1
,
to_index:
1
)
drag
(
list_from_index:
0
,
list_to_index:
1
,
to_index:
1
)
wait_for_
vue_resource
wait_for_
requests
expect
(
first
(
'.board'
)).
to
have_selector
(
'.card'
,
count:
2
)
expect
(
first
(
'.board'
)).
to
have_selector
(
'.card'
,
count:
2
)
expect
(
all
(
'.board'
)[
1
]).
to
have_selector
(
'.card'
,
count:
4
)
expect
(
all
(
'.board'
)[
1
]).
to
have_selector
(
'.card'
,
count:
4
)
...
...
spec/features/boards/keyboard_shortcut_spec.rb
View file @
2338785e
require
'rails_helper'
require
'rails_helper'
describe
'Issue Boards shortcut'
,
feature:
true
,
js:
true
do
describe
'Issue Boards shortcut'
,
feature:
true
,
js:
true
do
include
WaitForVueResource
let
(
:project
)
{
create
(
:empty_project
)
}
let
(
:project
)
{
create
(
:empty_project
)
}
before
do
before
do
...
@@ -17,6 +15,6 @@ describe 'Issue Boards shortcut', feature: true, js: true do
...
@@ -17,6 +15,6 @@ describe 'Issue Boards shortcut', feature: true, js: true do
find
(
'body'
).
native
.
send_keys
(
'gb'
)
find
(
'body'
).
native
.
send_keys
(
'gb'
)
expect
(
page
).
to
have_selector
(
'.boards-list'
)
expect
(
page
).
to
have_selector
(
'.boards-list'
)
wait_for_
vue_resource
wait_for_
requests
end
end
end
end
spec/features/boards/modal_filter_spec.rb
View file @
2338785e
require
'rails_helper'
require
'rails_helper'
describe
'Issue Boards add issue modal filtering'
,
:feature
,
:js
do
describe
'Issue Boards add issue modal filtering'
,
:feature
,
:js
do
include
WaitForVueResource
let
(
:project
)
{
create
(
:empty_project
,
:public
)
}
let
(
:project
)
{
create
(
:empty_project
,
:public
)
}
let
(
:board
)
{
create
(
:board
,
project:
project
)
}
let
(
:board
)
{
create
(
:board
,
project:
project
)
}
let
(
:planning
)
{
create
(
:label
,
project:
project
,
name:
'Planning'
)
}
let
(
:planning
)
{
create
(
:label
,
project:
project
,
name:
'Planning'
)
}
...
@@ -24,7 +22,7 @@ describe 'Issue Boards add issue modal filtering', :feature, :js do
...
@@ -24,7 +22,7 @@ describe 'Issue Boards add issue modal filtering', :feature, :js do
find
(
'.form-control'
).
native
.
send_keys
(
'testing empty state'
)
find
(
'.form-control'
).
native
.
send_keys
(
'testing empty state'
)
find
(
'.form-control'
).
native
.
send_keys
(
:enter
)
find
(
'.form-control'
).
native
.
send_keys
(
:enter
)
wait_for_
vue_resource
wait_for_
requests
expect
(
page
).
to
have_content
(
'There are no issues to show.'
)
expect
(
page
).
to
have_content
(
'There are no issues to show.'
)
end
end
...
@@ -38,7 +36,7 @@ describe 'Issue Boards add issue modal filtering', :feature, :js do
...
@@ -38,7 +36,7 @@ describe 'Issue Boards add issue modal filtering', :feature, :js do
submit_filter
submit_filter
page
.
within
(
'.add-issues-modal'
)
do
page
.
within
(
'.add-issues-modal'
)
do
wait_for_
vue_resource
wait_for_
requests
expect
(
page
).
to
have_selector
(
'.card'
,
count:
0
)
expect
(
page
).
to
have_selector
(
'.card'
,
count:
0
)
...
@@ -48,7 +46,7 @@ describe 'Issue Boards add issue modal filtering', :feature, :js do
...
@@ -48,7 +46,7 @@ describe 'Issue Boards add issue modal filtering', :feature, :js do
click_button
(
'Add issues'
)
click_button
(
'Add issues'
)
page
.
within
(
'.add-issues-modal'
)
do
page
.
within
(
'.add-issues-modal'
)
do
wait_for_
vue_resource
wait_for_
requests
expect
(
page
).
to
have_selector
(
'.card'
,
count:
1
)
expect
(
page
).
to
have_selector
(
'.card'
,
count:
1
)
end
end
...
@@ -62,13 +60,13 @@ describe 'Issue Boards add issue modal filtering', :feature, :js do
...
@@ -62,13 +60,13 @@ describe 'Issue Boards add issue modal filtering', :feature, :js do
submit_filter
submit_filter
page
.
within
(
'.add-issues-modal'
)
do
page
.
within
(
'.add-issues-modal'
)
do
wait_for_
vue_resource
wait_for_
requests
expect
(
page
).
to
have_selector
(
'.card'
,
count:
0
)
expect
(
page
).
to
have_selector
(
'.card'
,
count:
0
)
find
(
'.clear-search'
).
click
find
(
'.clear-search'
).
click
wait_for_
vue_resource
wait_for_
requests
expect
(
page
).
to
have_selector
(
'.card'
,
count:
1
)
expect
(
page
).
to
have_selector
(
'.card'
,
count:
1
)
end
end
...
@@ -89,7 +87,7 @@ describe 'Issue Boards add issue modal filtering', :feature, :js do
...
@@ -89,7 +87,7 @@ describe 'Issue Boards add issue modal filtering', :feature, :js do
submit_filter
submit_filter
page
.
within
(
'.add-issues-modal'
)
do
page
.
within
(
'.add-issues-modal'
)
do
wait_for_
vue_resource
wait_for_
requests
expect
(
page
).
to
have_selector
(
'.js-visual-token'
,
text:
user2
.
username
)
expect
(
page
).
to
have_selector
(
'.js-visual-token'
,
text:
user2
.
username
)
expect
(
page
).
to
have_selector
(
'.card'
,
count:
1
)
expect
(
page
).
to
have_selector
(
'.card'
,
count:
1
)
...
@@ -112,7 +110,7 @@ describe 'Issue Boards add issue modal filtering', :feature, :js do
...
@@ -112,7 +110,7 @@ describe 'Issue Boards add issue modal filtering', :feature, :js do
submit_filter
submit_filter
page
.
within
(
'.add-issues-modal'
)
do
page
.
within
(
'.add-issues-modal'
)
do
wait_for_
vue_resource
wait_for_
requests
expect
(
page
).
to
have_selector
(
'.js-visual-token'
,
text:
'none'
)
expect
(
page
).
to
have_selector
(
'.js-visual-token'
,
text:
'none'
)
expect
(
page
).
to
have_selector
(
'.card'
,
count:
1
)
expect
(
page
).
to
have_selector
(
'.card'
,
count:
1
)
...
@@ -125,7 +123,7 @@ describe 'Issue Boards add issue modal filtering', :feature, :js do
...
@@ -125,7 +123,7 @@ describe 'Issue Boards add issue modal filtering', :feature, :js do
submit_filter
submit_filter
page
.
within
(
'.add-issues-modal'
)
do
page
.
within
(
'.add-issues-modal'
)
do
wait_for_
vue_resource
wait_for_
requests
expect
(
page
).
to
have_selector
(
'.js-visual-token'
,
text:
user2
.
username
)
expect
(
page
).
to
have_selector
(
'.js-visual-token'
,
text:
user2
.
username
)
expect
(
page
).
to
have_selector
(
'.card'
,
count:
1
)
expect
(
page
).
to
have_selector
(
'.card'
,
count:
1
)
...
@@ -147,7 +145,7 @@ describe 'Issue Boards add issue modal filtering', :feature, :js do
...
@@ -147,7 +145,7 @@ describe 'Issue Boards add issue modal filtering', :feature, :js do
submit_filter
submit_filter
page
.
within
(
'.add-issues-modal'
)
do
page
.
within
(
'.add-issues-modal'
)
do
wait_for_
vue_resource
wait_for_
requests
expect
(
page
).
to
have_selector
(
'.js-visual-token'
,
text:
'upcoming'
)
expect
(
page
).
to
have_selector
(
'.js-visual-token'
,
text:
'upcoming'
)
expect
(
page
).
to
have_selector
(
'.card'
,
count:
0
)
expect
(
page
).
to
have_selector
(
'.card'
,
count:
0
)
...
@@ -160,7 +158,7 @@ describe 'Issue Boards add issue modal filtering', :feature, :js do
...
@@ -160,7 +158,7 @@ describe 'Issue Boards add issue modal filtering', :feature, :js do
submit_filter
submit_filter
page
.
within
(
'.add-issues-modal'
)
do
page
.
within
(
'.add-issues-modal'
)
do
wait_for_
vue_resource
wait_for_
requests
expect
(
page
).
to
have_selector
(
'.js-visual-token'
,
text:
milestone
.
name
)
expect
(
page
).
to
have_selector
(
'.js-visual-token'
,
text:
milestone
.
name
)
expect
(
page
).
to
have_selector
(
'.card'
,
count:
1
)
expect
(
page
).
to
have_selector
(
'.card'
,
count:
1
)
...
@@ -182,7 +180,7 @@ describe 'Issue Boards add issue modal filtering', :feature, :js do
...
@@ -182,7 +180,7 @@ describe 'Issue Boards add issue modal filtering', :feature, :js do
submit_filter
submit_filter
page
.
within
(
'.add-issues-modal'
)
do
page
.
within
(
'.add-issues-modal'
)
do
wait_for_
vue_resource
wait_for_
requests
expect
(
page
).
to
have_selector
(
'.js-visual-token'
,
text:
'none'
)
expect
(
page
).
to
have_selector
(
'.js-visual-token'
,
text:
'none'
)
expect
(
page
).
to
have_selector
(
'.card'
,
count:
1
)
expect
(
page
).
to
have_selector
(
'.card'
,
count:
1
)
...
@@ -195,7 +193,7 @@ describe 'Issue Boards add issue modal filtering', :feature, :js do
...
@@ -195,7 +193,7 @@ describe 'Issue Boards add issue modal filtering', :feature, :js do
submit_filter
submit_filter
page
.
within
(
'.add-issues-modal'
)
do
page
.
within
(
'.add-issues-modal'
)
do
wait_for_
vue_resource
wait_for_
requests
expect
(
page
).
to
have_selector
(
'.js-visual-token'
,
text:
label
.
title
)
expect
(
page
).
to
have_selector
(
'.js-visual-token'
,
text:
label
.
title
)
expect
(
page
).
to
have_selector
(
'.card'
,
count:
1
)
expect
(
page
).
to
have_selector
(
'.card'
,
count:
1
)
...
@@ -205,7 +203,7 @@ describe 'Issue Boards add issue modal filtering', :feature, :js do
...
@@ -205,7 +203,7 @@ describe 'Issue Boards add issue modal filtering', :feature, :js do
def
visit_board
def
visit_board
visit
namespace_project_board_path
(
project
.
namespace
,
project
,
board
)
visit
namespace_project_board_path
(
project
.
namespace
,
project
,
board
)
wait_for_
vue_resource
wait_for_
requests
click_button
(
'Add issues'
)
click_button
(
'Add issues'
)
end
end
...
...
spec/features/boards/new_issue_spec.rb
View file @
2338785e
require
'rails_helper'
require
'rails_helper'
describe
'Issue Boards new issue'
,
feature:
true
,
js:
true
do
describe
'Issue Boards new issue'
,
feature:
true
,
js:
true
do
include
WaitForVueResource
let
(
:project
)
{
create
(
:empty_project
,
:public
)
}
let
(
:project
)
{
create
(
:empty_project
,
:public
)
}
let
(
:board
)
{
create
(
:board
,
project:
project
)
}
let
(
:board
)
{
create
(
:board
,
project:
project
)
}
let!
(
:list
)
{
create
(
:list
,
board:
board
,
position:
0
)
}
let!
(
:list
)
{
create
(
:list
,
board:
board
,
position:
0
)
}
...
@@ -15,7 +13,7 @@ describe 'Issue Boards new issue', feature: true, js: true do
...
@@ -15,7 +13,7 @@ describe 'Issue Boards new issue', feature: true, js: true do
login_as
(
user
)
login_as
(
user
)
visit
namespace_project_board_path
(
project
.
namespace
,
project
,
board
)
visit
namespace_project_board_path
(
project
.
namespace
,
project
,
board
)
wait_for_
vue_resource
wait_for_
requests
expect
(
page
).
to
have_selector
(
'.board'
,
count:
2
)
expect
(
page
).
to
have_selector
(
'.board'
,
count:
2
)
end
end
...
@@ -60,7 +58,7 @@ describe 'Issue Boards new issue', feature: true, js: true do
...
@@ -60,7 +58,7 @@ describe 'Issue Boards new issue', feature: true, js: true do
click_button
'Submit issue'
click_button
'Submit issue'
end
end
wait_for_
vue_resource
wait_for_
requests
page
.
within
(
first
(
'.board .board-issue-count'
))
do
page
.
within
(
first
(
'.board .board-issue-count'
))
do
expect
(
page
).
to
have_content
(
'1'
)
expect
(
page
).
to
have_content
(
'1'
)
...
@@ -77,7 +75,7 @@ describe 'Issue Boards new issue', feature: true, js: true do
...
@@ -77,7 +75,7 @@ describe 'Issue Boards new issue', feature: true, js: true do
click_button
'Submit issue'
click_button
'Submit issue'
end
end
wait_for_
vue_resource
wait_for_
requests
expect
(
page
).
to
have_selector
(
'.issue-boards-sidebar'
)
expect
(
page
).
to
have_selector
(
'.issue-boards-sidebar'
)
end
end
...
@@ -86,7 +84,7 @@ describe 'Issue Boards new issue', feature: true, js: true do
...
@@ -86,7 +84,7 @@ describe 'Issue Boards new issue', feature: true, js: true do
context
'unauthorized user'
do
context
'unauthorized user'
do
before
do
before
do
visit
namespace_project_board_path
(
project
.
namespace
,
project
,
board
)
visit
namespace_project_board_path
(
project
.
namespace
,
project
,
board
)
wait_for_
vue_resource
wait_for_
requests
end
end
it
'does not display new issue button'
do
it
'does not display new issue button'
do
...
...
spec/features/boards/sidebar_spec.rb
View file @
2338785e
require
'rails_helper'
require
'rails_helper'
describe
'Issue Boards'
,
feature:
true
,
js:
true
do
describe
'Issue Boards'
,
feature:
true
,
js:
true
do
include
WaitForVueResource
let
(
:user
)
{
create
(
:user
)
}
let
(
:user
)
{
create
(
:user
)
}
let
(
:user2
)
{
create
(
:user
)
}
let
(
:user2
)
{
create
(
:user
)
}
let
(
:project
)
{
create
(
:empty_project
,
:public
)
}
let
(
:project
)
{
create
(
:empty_project
,
:public
)
}
...
@@ -25,7 +23,7 @@ describe 'Issue Boards', feature: true, js: true do
...
@@ -25,7 +23,7 @@ describe 'Issue Boards', feature: true, js: true do
login_as
(
user
)
login_as
(
user
)
visit
namespace_project_board_path
(
project
.
namespace
,
project
,
board
)
visit
namespace_project_board_path
(
project
.
namespace
,
project
,
board
)
wait_for_
vue_resource
wait_for_
requests
end
end
after
do
after
do
...
@@ -74,7 +72,7 @@ describe 'Issue Boards', feature: true, js: true do
...
@@ -74,7 +72,7 @@ describe 'Issue Boards', feature: true, js: true do
click_button
'Remove from board'
click_button
'Remove from board'
end
end
wait_for_
vue_resource
wait_for_
requests
page
.
within
(
first
(
'.board'
))
do
page
.
within
(
first
(
'.board'
))
do
expect
(
page
).
to
have_selector
(
'.card'
,
count:
1
)
expect
(
page
).
to
have_selector
(
'.card'
,
count:
1
)
...
@@ -88,12 +86,12 @@ describe 'Issue Boards', feature: true, js: true do
...
@@ -88,12 +86,12 @@ describe 'Issue Boards', feature: true, js: true do
page
.
within
(
'.assignee'
)
do
page
.
within
(
'.assignee'
)
do
click_link
'Edit'
click_link
'Edit'
wait_for_
ajax
wait_for_
requests
page
.
within
(
'.dropdown-menu-user'
)
do
page
.
within
(
'.dropdown-menu-user'
)
do
click_link
user
.
name
click_link
user
.
name
wait_for_
vue_resource
wait_for_
requests
end
end
expect
(
page
).
to
have_content
(
user
.
name
)
expect
(
page
).
to
have_content
(
user
.
name
)
...
@@ -109,13 +107,13 @@ describe 'Issue Boards', feature: true, js: true do
...
@@ -109,13 +107,13 @@ describe 'Issue Boards', feature: true, js: true do
page
.
within
(
'.assignee'
)
do
page
.
within
(
'.assignee'
)
do
click_link
'Edit'
click_link
'Edit'
wait_for_
ajax
wait_for_
requests
page
.
within
(
'.dropdown-menu-user'
)
do
page
.
within
(
'.dropdown-menu-user'
)
do
click_link
'Unassigned'
click_link
'Unassigned'
end
end
wait_for_
vue_resource
wait_for_
requests
expect
(
page
).
to
have_content
(
'No assignee'
)
expect
(
page
).
to
have_content
(
'No assignee'
)
end
end
...
@@ -131,7 +129,7 @@ describe 'Issue Boards', feature: true, js: true do
...
@@ -131,7 +129,7 @@ describe 'Issue Boards', feature: true, js: true do
click_button
'assign yourself'
click_button
'assign yourself'
wait_for_
vue_resource
wait_for_
requests
expect
(
page
).
to
have_content
(
user
.
name
)
expect
(
page
).
to
have_content
(
user
.
name
)
end
end
...
@@ -145,12 +143,12 @@ describe 'Issue Boards', feature: true, js: true do
...
@@ -145,12 +143,12 @@ describe 'Issue Boards', feature: true, js: true do
page
.
within
(
'.assignee'
)
do
page
.
within
(
'.assignee'
)
do
click_link
'Edit'
click_link
'Edit'
wait_for_
ajax
wait_for_
requests
page
.
within
(
'.dropdown-menu-user'
)
do
page
.
within
(
'.dropdown-menu-user'
)
do
click_link
user
.
name
click_link
user
.
name
wait_for_
vue_resource
wait_for_
requests
end
end
expect
(
page
).
to
have_content
(
user
.
name
)
expect
(
page
).
to
have_content
(
user
.
name
)
...
@@ -175,11 +173,11 @@ describe 'Issue Boards', feature: true, js: true do
...
@@ -175,11 +173,11 @@ describe 'Issue Boards', feature: true, js: true do
page
.
within
(
'.milestone'
)
do
page
.
within
(
'.milestone'
)
do
click_link
'Edit'
click_link
'Edit'
wait_for_
ajax
wait_for_
requests
click_link
milestone
.
title
click_link
milestone
.
title
wait_for_
vue_resource
wait_for_
requests
page
.
within
(
'.value'
)
do
page
.
within
(
'.value'
)
do
expect
(
page
).
to
have_content
(
milestone
.
title
)
expect
(
page
).
to
have_content
(
milestone
.
title
)
...
@@ -193,11 +191,11 @@ describe 'Issue Boards', feature: true, js: true do
...
@@ -193,11 +191,11 @@ describe 'Issue Boards', feature: true, js: true do
page
.
within
(
'.milestone'
)
do
page
.
within
(
'.milestone'
)
do
click_link
'Edit'
click_link
'Edit'
wait_for_
ajax
wait_for_
requests
click_link
"No Milestone"
click_link
"No Milestone"
wait_for_
vue_resource
wait_for_
requests
page
.
within
(
'.value'
)
do
page
.
within
(
'.value'
)
do
expect
(
page
).
not_to
have_content
(
milestone
.
title
)
expect
(
page
).
not_to
have_content
(
milestone
.
title
)
...
@@ -215,7 +213,7 @@ describe 'Issue Boards', feature: true, js: true do
...
@@ -215,7 +213,7 @@ describe 'Issue Boards', feature: true, js: true do
click_button
Date
.
today
.
day
click_button
Date
.
today
.
day
wait_for_
vue_resource
wait_for_
requests
expect
(
page
).
to
have_content
(
Date
.
today
.
to_s
(
:medium
))
expect
(
page
).
to
have_content
(
Date
.
today
.
to_s
(
:medium
))
end
end
...
@@ -229,11 +227,11 @@ describe 'Issue Boards', feature: true, js: true do
...
@@ -229,11 +227,11 @@ describe 'Issue Boards', feature: true, js: true do
page
.
within
(
'.labels'
)
do
page
.
within
(
'.labels'
)
do
click_link
'Edit'
click_link
'Edit'
wait_for_
ajax
wait_for_
requests
click_link
bug
.
title
click_link
bug
.
title
wait_for_
vue_resource
wait_for_
requests
find
(
'.dropdown-menu-close-icon'
).
click
find
(
'.dropdown-menu-close-icon'
).
click
...
@@ -253,12 +251,12 @@ describe 'Issue Boards', feature: true, js: true do
...
@@ -253,12 +251,12 @@ describe 'Issue Boards', feature: true, js: true do
page
.
within
(
'.labels'
)
do
page
.
within
(
'.labels'
)
do
click_link
'Edit'
click_link
'Edit'
wait_for_
ajax
wait_for_
requests
click_link
bug
.
title
click_link
bug
.
title
click_link
regression
.
title
click_link
regression
.
title
wait_for_
vue_resource
wait_for_
requests
find
(
'.dropdown-menu-close-icon'
).
click
find
(
'.dropdown-menu-close-icon'
).
click
...
@@ -280,11 +278,11 @@ describe 'Issue Boards', feature: true, js: true do
...
@@ -280,11 +278,11 @@ describe 'Issue Boards', feature: true, js: true do
page
.
within
(
'.labels'
)
do
page
.
within
(
'.labels'
)
do
click_link
'Edit'
click_link
'Edit'
wait_for_
ajax
wait_for_
requests
click_link
stretch
.
title
click_link
stretch
.
title
wait_for_
vue_resource
wait_for_
requests
find
(
'.dropdown-menu-close-icon'
).
click
find
(
'.dropdown-menu-close-icon'
).
click
...
@@ -305,7 +303,7 @@ describe 'Issue Boards', feature: true, js: true do
...
@@ -305,7 +303,7 @@ describe 'Issue Boards', feature: true, js: true do
page
.
within
(
'.subscription'
)
do
page
.
within
(
'.subscription'
)
do
click_button
'Subscribe'
click_button
'Subscribe'
wait_for_
ajax
wait_for_
requests
expect
(
page
).
to
have_content
(
"Unsubscribe"
)
expect
(
page
).
to
have_content
(
"Unsubscribe"
)
end
end
end
end
...
...
spec/features/boards/sub_group_project_spec.rb
View file @
2338785e
require
'rails_helper'
require
'rails_helper'
describe
'Sub-group project issue boards'
,
:feature
,
:js
do
describe
'Sub-group project issue boards'
,
:feature
,
:js
do
include
WaitForVueResource
let
(
:group
)
{
create
(
:group
)
}
let
(
:group
)
{
create
(
:group
)
}
let
(
:nested_group_1
)
{
create
(
:group
,
parent:
group
)
}
let
(
:nested_group_1
)
{
create
(
:group
,
parent:
group
)
}
let
(
:project
)
{
create
(
:empty_project
,
group:
nested_group_1
)
}
let
(
:project
)
{
create
(
:empty_project
,
group:
nested_group_1
)
}
...
@@ -18,7 +16,7 @@ describe 'Sub-group project issue boards', :feature, :js do
...
@@ -18,7 +16,7 @@ describe 'Sub-group project issue boards', :feature, :js do
login_as
(
user
)
login_as
(
user
)
visit
namespace_project_board_path
(
project
.
namespace
,
project
,
board
)
visit
namespace_project_board_path
(
project
.
namespace
,
project
,
board
)
wait_for_
vue_resource
wait_for_
requests
end
end
it
'creates new label from sidebar'
do
it
'creates new label from sidebar'
do
...
@@ -35,7 +33,7 @@ describe 'Sub-group project issue boards', :feature, :js do
...
@@ -35,7 +33,7 @@ describe 'Sub-group project issue boards', :feature, :js do
click_button
'Create'
click_button
'Create'
wait_for_
ajax
wait_for_
requests
end
end
page
.
within
'.labels'
do
page
.
within
'.labels'
do
...
...
spec/features/calendar_spec.rb
View file @
2338785e
...
@@ -74,7 +74,7 @@ feature 'Contributions Calendar', :feature, :js do
...
@@ -74,7 +74,7 @@ feature 'Contributions Calendar', :feature, :js do
describe
'calendar day selection'
do
describe
'calendar day selection'
do
before
do
before
do
visit
user
.
username
visit
user
.
username
wait_for_
ajax
wait_for_
requests
end
end
it
'displays calendar'
do
it
'displays calendar'
do
...
@@ -86,7 +86,7 @@ feature 'Contributions Calendar', :feature, :js do
...
@@ -86,7 +86,7 @@ feature 'Contributions Calendar', :feature, :js do
before
do
before
do
cells
[
0
].
click
cells
[
0
].
click
wait_for_
ajax
wait_for_
requests
@first_day_activities
=
selected_day_activities
@first_day_activities
=
selected_day_activities
end
end
...
@@ -97,7 +97,7 @@ feature 'Contributions Calendar', :feature, :js do
...
@@ -97,7 +97,7 @@ feature 'Contributions Calendar', :feature, :js do
describe
'select another calendar day'
do
describe
'select another calendar day'
do
before
do
before
do
cells
[
1
].
click
cells
[
1
].
click
wait_for_
ajax
wait_for_
requests
end
end
it
'displays different calendar day activities'
do
it
'displays different calendar day activities'
do
...
@@ -108,7 +108,7 @@ feature 'Contributions Calendar', :feature, :js do
...
@@ -108,7 +108,7 @@ feature 'Contributions Calendar', :feature, :js do
describe
'deselect calendar day'
do
describe
'deselect calendar day'
do
before
do
before
do
cells
[
0
].
click
cells
[
0
].
click
wait_for_
ajax
wait_for_
requests
end
end
it
'hides calendar day activities'
do
it
'hides calendar day activities'
do
...
@@ -122,7 +122,7 @@ feature 'Contributions Calendar', :feature, :js do
...
@@ -122,7 +122,7 @@ feature 'Contributions Calendar', :feature, :js do
shared_context
'visit user page'
do
shared_context
'visit user page'
do
before
do
before
do
visit
user
.
username
visit
user
.
username
wait_for_
ajax
wait_for_
requests
end
end
end
end
...
...
spec/features/copy_as_gfm_spec.rb
View file @
2338785e
...
@@ -479,7 +479,7 @@ describe 'Copy as GFM', feature: true, js: true do
...
@@ -479,7 +479,7 @@ describe 'Copy as GFM', feature: true, js: true do
context
'from a blob'
do
context
'from a blob'
do
before
do
before
do
visit
namespace_project_blob_path
(
project
.
namespace
,
project
,
File
.
join
(
'master'
,
'files/ruby/popen.rb'
))
visit
namespace_project_blob_path
(
project
.
namespace
,
project
,
File
.
join
(
'master'
,
'files/ruby/popen.rb'
))
wait_for_
ajax
wait_for_
requests
end
end
context
'selecting one word of text'
do
context
'selecting one word of text'
do
...
@@ -521,7 +521,7 @@ describe 'Copy as GFM', feature: true, js: true do
...
@@ -521,7 +521,7 @@ describe 'Copy as GFM', feature: true, js: true do
context
'from a GFM code block'
do
context
'from a GFM code block'
do
before
do
before
do
visit
namespace_project_blob_path
(
project
.
namespace
,
project
,
File
.
join
(
'markdown'
,
'doc/api/users.md'
))
visit
namespace_project_blob_path
(
project
.
namespace
,
project
,
File
.
join
(
'markdown'
,
'doc/api/users.md'
))
wait_for_
ajax
wait_for_
requests
end
end
context
'selecting one word of text'
do
context
'selecting one word of text'
do
...
...
spec/features/cycle_analytics_spec.rb
View file @
2338785e
...
@@ -17,7 +17,7 @@ feature 'Cycle Analytics', feature: true, js: true do
...
@@ -17,7 +17,7 @@ feature 'Cycle Analytics', feature: true, js: true do
login_as
(
user
)
login_as
(
user
)
visit
namespace_project_cycle_analytics_path
(
project
.
namespace
,
project
)
visit
namespace_project_cycle_analytics_path
(
project
.
namespace
,
project
)
wait_for_
ajax
wait_for_
requests
end
end
it
'shows introductory message'
do
it
'shows introductory message'
do
...
@@ -73,7 +73,7 @@ feature 'Cycle Analytics', feature: true, js: true do
...
@@ -73,7 +73,7 @@ feature 'Cycle Analytics', feature: true, js: true do
project
.
team
<<
[
user
,
:master
]
project
.
team
<<
[
user
,
:master
]
login_as
(
user
)
login_as
(
user
)
visit
namespace_project_cycle_analytics_path
(
project
.
namespace
,
project
)
visit
namespace_project_cycle_analytics_path
(
project
.
namespace
,
project
)
wait_for_
ajax
wait_for_
requests
end
end
it
'shows the content in Spanish'
do
it
'shows the content in Spanish'
do
...
@@ -96,7 +96,7 @@ feature 'Cycle Analytics', feature: true, js: true do
...
@@ -96,7 +96,7 @@ feature 'Cycle Analytics', feature: true, js: true do
login_as
(
guest
)
login_as
(
guest
)
visit
namespace_project_cycle_analytics_path
(
project
.
namespace
,
project
)
visit
namespace_project_cycle_analytics_path
(
project
.
namespace
,
project
)
wait_for_
ajax
wait_for_
requests
end
end
it
'needs permissions to see restricted stages'
do
it
'needs permissions to see restricted stages'
do
...
@@ -140,6 +140,6 @@ feature 'Cycle Analytics', feature: true, js: true do
...
@@ -140,6 +140,6 @@ feature 'Cycle Analytics', feature: true, js: true do
def
click_stage
(
stage_name
)
def
click_stage
(
stage_name
)
find
(
'.stage-nav li'
,
text:
stage_name
).
click
find
(
'.stage-nav li'
,
text:
stage_name
).
click
wait_for_
ajax
wait_for_
requests
end
end
end
end
spec/features/dashboard/datetime_on_tooltips_spec.rb
View file @
2338785e
...
@@ -15,7 +15,7 @@ feature 'Tooltips on .timeago dates', feature: true, js: true do
...
@@ -15,7 +15,7 @@ feature 'Tooltips on .timeago dates', feature: true, js: true do
login_as
user
login_as
user
visit
user_path
(
user
)
visit
user_path
(
user
)
wait_for_
ajax
()
wait_for_
requests
()
page
.
find
(
'.js-timeago'
).
hover
page
.
find
(
'.js-timeago'
).
hover
end
end
...
@@ -32,7 +32,7 @@ feature 'Tooltips on .timeago dates', feature: true, js: true do
...
@@ -32,7 +32,7 @@ feature 'Tooltips on .timeago dates', feature: true, js: true do
login_as
user
login_as
user
visit
user_snippets_path
(
user
)
visit
user_snippets_path
(
user
)
wait_for_
ajax
()
wait_for_
requests
()
page
.
find
(
'.js-timeago.snippet-created-ago'
).
hover
page
.
find
(
'.js-timeago.snippet-created-ago'
).
hover
end
end
...
...
spec/features/dashboard/groups_list_spec.rb
View file @
2338785e
...
@@ -23,7 +23,7 @@ describe 'Dashboard Groups page', js: true, feature: true do
...
@@ -23,7 +23,7 @@ describe 'Dashboard Groups page', js: true, feature: true do
it
'filters groups'
do
it
'filters groups'
do
fill_in
'filter_groups'
,
with:
group
.
name
fill_in
'filter_groups'
,
with:
group
.
name
wait_for_
ajax
wait_for_
requests
expect
(
page
).
to
have_content
(
group
.
full_name
)
expect
(
page
).
to
have_content
(
group
.
full_name
)
expect
(
page
).
not_to
have_content
(
nested_group
.
full_name
)
expect
(
page
).
not_to
have_content
(
nested_group
.
full_name
)
...
@@ -32,10 +32,10 @@ describe 'Dashboard Groups page', js: true, feature: true do
...
@@ -32,10 +32,10 @@ describe 'Dashboard Groups page', js: true, feature: true do
it
'resets search when user cleans the input'
do
it
'resets search when user cleans the input'
do
fill_in
'filter_groups'
,
with:
group
.
name
fill_in
'filter_groups'
,
with:
group
.
name
wait_for_
ajax
wait_for_
requests
fill_in
'filter_groups'
,
with:
""
fill_in
'filter_groups'
,
with:
""
wait_for_
ajax
wait_for_
requests
expect
(
page
).
to
have_content
(
group
.
full_name
)
expect
(
page
).
to
have_content
(
group
.
full_name
)
expect
(
page
).
to
have_content
(
nested_group
.
full_name
)
expect
(
page
).
to
have_content
(
nested_group
.
full_name
)
...
...
spec/features/dashboard/milestone_filter_spec.rb
View file @
2338785e
require
'spec_helper'
require
'spec_helper'
describe
'Dashboard > milestone filter'
,
:feature
,
:js
do
describe
'Dashboard > milestone filter'
,
:feature
,
:js
do
include
WaitForAjax
let
(
:user
)
{
create
(
:user
)
}
let
(
:user
)
{
create
(
:user
)
}
let
(
:project
)
{
create
(
:project
,
name:
'test'
,
namespace:
user
.
namespace
)
}
let
(
:project
)
{
create
(
:project
,
name:
'test'
,
namespace:
user
.
namespace
)
}
let
(
:milestone
)
{
create
(
:milestone
,
title:
"v1.0"
,
project:
project
)
}
let
(
:milestone
)
{
create
(
:milestone
,
title:
"v1.0"
,
project:
project
)
}
...
@@ -28,14 +26,14 @@ describe 'Dashboard > milestone filter', :feature, :js do
...
@@ -28,14 +26,14 @@ describe 'Dashboard > milestone filter', :feature, :js do
before
do
before
do
find
(
milestone_select
).
click
find
(
milestone_select
).
click
wait_for_
ajax
wait_for_
requests
page
.
within
(
'.dropdown-content'
)
do
page
.
within
(
'.dropdown-content'
)
do
click_link
'v1.0'
click_link
'v1.0'
end
end
find
(
milestone_select
).
click
find
(
milestone_select
).
click
wait_for_
ajax
wait_for_
requests
end
end
it
'shows issues with Milestone v1.0'
do
it
'shows issues with Milestone v1.0'
do
...
...
spec/features/dashboard/project_member_activity_index_spec.rb
View file @
2338785e
...
@@ -11,7 +11,7 @@ feature 'Project member activity', feature: true, js: true do
...
@@ -11,7 +11,7 @@ feature 'Project member activity', feature: true, js: true do
def
visit_activities_and_wait_with_event
(
event_type
)
def
visit_activities_and_wait_with_event
(
event_type
)
Event
.
create
(
project:
project
,
author_id:
user
.
id
,
action:
event_type
)
Event
.
create
(
project:
project
,
author_id:
user
.
id
,
action:
event_type
)
visit
activity_namespace_project_path
(
project
.
namespace
,
project
)
visit
activity_namespace_project_path
(
project
.
namespace
,
project
)
wait_for_
ajax
wait_for_
requests
end
end
subject
{
page
.
find
(
".event-title"
).
text
}
subject
{
page
.
find
(
".event-title"
).
text
}
...
...
spec/features/expand_collapse_diffs_spec.rb
View file @
2338785e
...
@@ -36,7 +36,7 @@ feature 'Expand and collapse diffs', js: true, feature: true do
...
@@ -36,7 +36,7 @@ feature 'Expand and collapse diffs', js: true, feature: true do
visit
namespace_project_commit_path
(
project
.
namespace
,
project
,
project
.
commit
(
branch
),
anchor:
"
#{
large_diff
[
:id
]
}
_0_1"
)
visit
namespace_project_commit_path
(
project
.
namespace
,
project
,
project
.
commit
(
branch
),
anchor:
"
#{
large_diff
[
:id
]
}
_0_1"
)
execute_script
(
'window.location.reload()'
)
execute_script
(
'window.location.reload()'
)
wait_for_
ajax
wait_for_
requests
expect
(
large_diff
).
to
have_selector
(
'.code'
)
expect
(
large_diff
).
to
have_selector
(
'.code'
)
expect
(
large_diff
).
not_to
have_selector
(
'.nothing-here-block'
)
expect
(
large_diff
).
not_to
have_selector
(
'.nothing-here-block'
)
...
@@ -50,7 +50,7 @@ feature 'Expand and collapse diffs', js: true, feature: true do
...
@@ -50,7 +50,7 @@ feature 'Expand and collapse diffs', js: true, feature: true do
visit
namespace_project_commit_path
(
project
.
namespace
,
project
,
project
.
commit
(
branch
),
anchor:
large_diff
[
:id
])
visit
namespace_project_commit_path
(
project
.
namespace
,
project
,
project
.
commit
(
branch
),
anchor:
large_diff
[
:id
])
execute_script
(
'window.location.reload()'
)
execute_script
(
'window.location.reload()'
)
wait_for_
ajax
wait_for_
requests
expect
(
large_diff
).
to
have_selector
(
'.code'
)
expect
(
large_diff
).
to
have_selector
(
'.code'
)
expect
(
large_diff
).
not_to
have_selector
(
'.nothing-here-block'
)
expect
(
large_diff
).
not_to
have_selector
(
'.nothing-here-block'
)
...
@@ -94,7 +94,7 @@ feature 'Expand and collapse diffs', js: true, feature: true do
...
@@ -94,7 +94,7 @@ feature 'Expand and collapse diffs', js: true, feature: true do
context
'expanding a diff for a renamed file'
do
context
'expanding a diff for a renamed file'
do
before
do
before
do
large_diff_renamed
.
find
(
'.click-to-expand'
).
click
large_diff_renamed
.
find
(
'.click-to-expand'
).
click
wait_for_
ajax
wait_for_
requests
end
end
it
'shows the old content'
do
it
'shows the old content'
do
...
@@ -116,7 +116,7 @@ feature 'Expand and collapse diffs', js: true, feature: true do
...
@@ -116,7 +116,7 @@ feature 'Expand and collapse diffs', js: true, feature: true do
find
(
'.js-file-title'
,
match: :first
)
find
(
'.js-file-title'
,
match: :first
)
# Click `large_diff.md` title
# Click `large_diff.md` title
all
(
'.diff-toggle-caret'
)[
1
].
click
all
(
'.diff-toggle-caret'
)[
1
].
click
wait_for_
ajax
wait_for_
requests
end
end
it
'makes a request to get the content'
do
it
'makes a request to get the content'
do
...
@@ -139,7 +139,7 @@ feature 'Expand and collapse diffs', js: true, feature: true do
...
@@ -139,7 +139,7 @@ feature 'Expand and collapse diffs', js: true, feature: true do
large_diff
.
find
(
'.add-diff-note'
).
click
large_diff
.
find
(
'.add-diff-note'
).
click
large_diff
.
find
(
'.note-textarea'
).
send_keys
comment_text
large_diff
.
find
(
'.note-textarea'
).
send_keys
comment_text
large_diff
.
find_button
(
'Comment'
).
click
large_diff
.
find_button
(
'Comment'
).
click
wait_for_
ajax
wait_for_
requests
end
end
it
'adds the comment'
do
it
'adds the comment'
do
...
@@ -160,7 +160,7 @@ feature 'Expand and collapse diffs', js: true, feature: true do
...
@@ -160,7 +160,7 @@ feature 'Expand and collapse diffs', js: true, feature: true do
find
(
'.js-file-title'
,
match: :first
)
find
(
'.js-file-title'
,
match: :first
)
# Click `large_diff.md` title
# Click `large_diff.md` title
all
(
'.diff-toggle-caret'
)[
1
].
click
all
(
'.diff-toggle-caret'
)[
1
].
click
wait_for_
ajax
wait_for_
requests
end
end
it
'shows the diff content'
do
it
'shows the diff content'
do
...
@@ -216,7 +216,7 @@ feature 'Expand and collapse diffs', js: true, feature: true do
...
@@ -216,7 +216,7 @@ feature 'Expand and collapse diffs', js: true, feature: true do
expect
(
page
).
to
have_no_content
(
'No longer a symlink'
)
expect
(
page
).
to
have_no_content
(
'No longer a symlink'
)
find
(
'.click-to-expand'
).
click
find
(
'.click-to-expand'
).
click
wait_for_
ajax
wait_for_
requests
expect
(
page
).
to
have_content
(
'No longer a symlink'
)
expect
(
page
).
to
have_content
(
'No longer a symlink'
)
end
end
...
@@ -273,7 +273,7 @@ feature 'Expand and collapse diffs', js: true, feature: true do
...
@@ -273,7 +273,7 @@ feature 'Expand and collapse diffs', js: true, feature: true do
expect
(
page
).
to
have_content
(
'too_large_image.jpg'
)
expect
(
page
).
to
have_content
(
'too_large_image.jpg'
)
find
(
'.note-textarea'
)
find
(
'.note-textarea'
)
wait_for_
ajax
wait_for_
requests
execute_script
(
'window.ajaxUris = []; $(document).ajaxSend(function(event, xhr, settings) { ajaxUris.push(settings.url) });'
)
execute_script
(
'window.ajaxUris = []; $(document).ajaxSend(function(event, xhr, settings) { ajaxUris.push(settings.url) });'
)
end
end
...
...
spec/features/explore/groups_list_spec.rb
View file @
2338785e
...
@@ -23,7 +23,7 @@ describe 'Explore Groups page', :js, :feature do
...
@@ -23,7 +23,7 @@ describe 'Explore Groups page', :js, :feature do
it
'filters groups'
do
it
'filters groups'
do
fill_in
'filter_groups'
,
with:
group
.
name
fill_in
'filter_groups'
,
with:
group
.
name
wait_for_
ajax
wait_for_
requests
expect
(
page
).
to
have_content
(
group
.
full_name
)
expect
(
page
).
to
have_content
(
group
.
full_name
)
expect
(
page
).
not_to
have_content
(
public_group
.
full_name
)
expect
(
page
).
not_to
have_content
(
public_group
.
full_name
)
...
@@ -32,10 +32,10 @@ describe 'Explore Groups page', :js, :feature do
...
@@ -32,10 +32,10 @@ describe 'Explore Groups page', :js, :feature do
it
'resets search when user cleans the input'
do
it
'resets search when user cleans the input'
do
fill_in
'filter_groups'
,
with:
group
.
name
fill_in
'filter_groups'
,
with:
group
.
name
wait_for_
ajax
wait_for_
requests
fill_in
'filter_groups'
,
with:
""
fill_in
'filter_groups'
,
with:
""
wait_for_
ajax
wait_for_
requests
expect
(
page
).
to
have_content
(
group
.
full_name
)
expect
(
page
).
to
have_content
(
group
.
full_name
)
expect
(
page
).
to
have_content
(
public_group
.
full_name
)
expect
(
page
).
to
have_content
(
public_group
.
full_name
)
...
...
spec/features/gitlab_flavored_markdown_spec.rb
View file @
2338785e
...
@@ -49,8 +49,6 @@ describe "GitLab Flavored Markdown", feature: true do
...
@@ -49,8 +49,6 @@ describe "GitLab Flavored Markdown", feature: true do
end
end
describe
"for issues"
,
feature:
true
,
js:
true
do
describe
"for issues"
,
feature:
true
,
js:
true
do
include
WaitForVueResource
before
do
before
do
@other_issue
=
create
(
:issue
,
@other_issue
=
create
(
:issue
,
author:
@user
,
author:
@user
,
...
...
spec/features/groups/issues_spec.rb
View file @
2338785e
...
@@ -33,7 +33,7 @@ feature 'Group issues page', feature: true do
...
@@ -33,7 +33,7 @@ feature 'Group issues page', feature: true do
it
'filters by only group users'
do
it
'filters by only group users'
do
click_button
(
'Assignee'
)
click_button
(
'Assignee'
)
wait_for_
ajax
wait_for_
requests
expect
(
find
(
'.dropdown-menu-assignee'
)).
to
have_link
(
user
.
name
)
expect
(
find
(
'.dropdown-menu-assignee'
)).
to
have_link
(
user
.
name
)
expect
(
find
(
'.dropdown-menu-assignee'
)).
not_to
have_link
(
user2
.
name
)
expect
(
find
(
'.dropdown-menu-assignee'
)).
not_to
have_link
(
user2
.
name
)
...
...
spec/features/issues/award_emoji_spec.rb
View file @
2338785e
require
'rails_helper'
require
'rails_helper'
describe
'Awards Emoji'
,
feature:
true
do
describe
'Awards Emoji'
,
feature:
true
do
include
WaitForVueResource
let!
(
:project
)
{
create
(
:project
,
:public
)
}
let!
(
:project
)
{
create
(
:project
,
:public
)
}
let!
(
:user
)
{
create
(
:user
)
}
let!
(
:user
)
{
create
(
:user
)
}
let
(
:issue
)
do
let
(
:issue
)
do
...
@@ -22,7 +20,7 @@ describe 'Awards Emoji', feature: true do
...
@@ -22,7 +20,7 @@ describe 'Awards Emoji', feature: true do
# The `heart_tip` emoji is not valid anymore so we need to skip validation
# The `heart_tip` emoji is not valid anymore so we need to skip validation
issue
.
award_emoji
.
build
(
user:
user
,
name:
'heart_tip'
).
save!
(
validate:
false
)
issue
.
award_emoji
.
build
(
user:
user
,
name:
'heart_tip'
).
save!
(
validate:
false
)
visit
namespace_project_issue_path
(
project
.
namespace
,
project
,
issue
)
visit
namespace_project_issue_path
(
project
.
namespace
,
project
,
issue
)
wait_for_
vue_resource
wait_for_
requests
end
end
# Regression test: https://gitlab.com/gitlab-org/gitlab-ce/issues/29529
# Regression test: https://gitlab.com/gitlab-org/gitlab-ce/issues/29529
...
@@ -36,19 +34,19 @@ describe 'Awards Emoji', feature: true do
...
@@ -36,19 +34,19 @@ describe 'Awards Emoji', feature: true do
before
do
before
do
visit
namespace_project_issue_path
(
project
.
namespace
,
project
,
issue
)
visit
namespace_project_issue_path
(
project
.
namespace
,
project
,
issue
)
wait_for_
vue_resource
wait_for_
requests
end
end
it
'increments the thumbsdown emoji'
,
js:
true
do
it
'increments the thumbsdown emoji'
,
js:
true
do
find
(
'[data-name="thumbsdown"]'
).
click
find
(
'[data-name="thumbsdown"]'
).
click
wait_for_
ajax
wait_for_
requests
expect
(
thumbsdown_emoji
).
to
have_text
(
"1"
)
expect
(
thumbsdown_emoji
).
to
have_text
(
"1"
)
end
end
context
'click the thumbsup emoji'
do
context
'click the thumbsup emoji'
do
it
'increments the thumbsup emoji'
,
js:
true
do
it
'increments the thumbsup emoji'
,
js:
true
do
find
(
'[data-name="thumbsup"]'
).
click
find
(
'[data-name="thumbsup"]'
).
click
wait_for_
ajax
wait_for_
requests
expect
(
thumbsup_emoji
).
to
have_text
(
"1"
)
expect
(
thumbsup_emoji
).
to
have_text
(
"1"
)
end
end
...
@@ -60,7 +58,7 @@ describe 'Awards Emoji', feature: true do
...
@@ -60,7 +58,7 @@ describe 'Awards Emoji', feature: true do
context
'click the thumbsdown emoji'
do
context
'click the thumbsdown emoji'
do
it
'increments the thumbsdown emoji'
,
js:
true
do
it
'increments the thumbsdown emoji'
,
js:
true
do
find
(
'[data-name="thumbsdown"]'
).
click
find
(
'[data-name="thumbsdown"]'
).
click
wait_for_
ajax
wait_for_
requests
expect
(
thumbsdown_emoji
).
to
have_text
(
"1"
)
expect
(
thumbsdown_emoji
).
to
have_text
(
"1"
)
end
end
...
@@ -113,7 +111,7 @@ describe 'Awards Emoji', feature: true do
...
@@ -113,7 +111,7 @@ describe 'Awards Emoji', feature: true do
click_button
'Comment'
click_button
'Comment'
end
end
wait_for_
ajax
wait_for_
requests
end
end
def
thumbsup_emoji
def
thumbsup_emoji
...
@@ -143,6 +141,6 @@ describe 'Awards Emoji', feature: true do
...
@@ -143,6 +141,6 @@ describe 'Awards Emoji', feature: true do
find
(
'[data-name="smiley"]'
).
click
find
(
'[data-name="smiley"]'
).
click
end
end
wait_for_
ajax
wait_for_
requests
end
end
end
end
spec/features/issues/award_spec.rb
View file @
2338785e
...
@@ -6,12 +6,10 @@ feature 'Issue awards', js: true, feature: true do
...
@@ -6,12 +6,10 @@ feature 'Issue awards', js: true, feature: true do
let
(
:issue
)
{
create
(
:issue
,
project:
project
)
}
let
(
:issue
)
{
create
(
:issue
,
project:
project
)
}
describe
'logged in'
do
describe
'logged in'
do
include
WaitForVueResource
before
do
before
do
login_as
(
user
)
login_as
(
user
)
visit
namespace_project_issue_path
(
project
.
namespace
,
project
,
issue
)
visit
namespace_project_issue_path
(
project
.
namespace
,
project
,
issue
)
wait_for_
vue_resource
wait_for_
requests
end
end
it
'adds award to issue'
do
it
'adds award to issue'
do
...
@@ -41,11 +39,9 @@ feature 'Issue awards', js: true, feature: true do
...
@@ -41,11 +39,9 @@ feature 'Issue awards', js: true, feature: true do
end
end
describe
'logged out'
do
describe
'logged out'
do
include
WaitForVueResource
before
do
before
do
visit
namespace_project_issue_path
(
project
.
namespace
,
project
,
issue
)
visit
namespace_project_issue_path
(
project
.
namespace
,
project
,
issue
)
wait_for_
vue_resource
wait_for_
requests
end
end
it
'does not see award menu button'
do
it
'does not see award menu button'
do
...
...
spec/features/issues/bulk_assignment_labels_spec.rb
View file @
2338785e
...
@@ -306,7 +306,7 @@ feature 'Issues > Labels bulk assignment', feature: true do
...
@@ -306,7 +306,7 @@ feature 'Issues > Labels bulk assignment', feature: true do
page
.
within
(
'.issues_bulk_update'
)
do
page
.
within
(
'.issues_bulk_update'
)
do
click_button
'Labels'
click_button
'Labels'
wait_for_
ajax
wait_for_
requests
expect
(
find
(
'.dropdown-menu-labels li'
,
text:
'bug'
)).
to
have_css
(
'.is-active'
)
expect
(
find
(
'.dropdown-menu-labels li'
,
text:
'bug'
)).
to
have_css
(
'.is-active'
)
expect
(
find
(
'.dropdown-menu-labels li'
,
text:
'feature'
)).
to
have_css
(
'.is-indeterminate'
)
expect
(
find
(
'.dropdown-menu-labels li'
,
text:
'feature'
)).
to
have_css
(
'.is-indeterminate'
)
...
@@ -349,7 +349,7 @@ feature 'Issues > Labels bulk assignment', feature: true do
...
@@ -349,7 +349,7 @@ feature 'Issues > Labels bulk assignment', feature: true do
def
open_milestone_dropdown
(
items
=
[])
def
open_milestone_dropdown
(
items
=
[])
page
.
within
(
'.issues_bulk_update'
)
do
page
.
within
(
'.issues_bulk_update'
)
do
click_button
'Milestone'
click_button
'Milestone'
wait_for_
ajax
wait_for_
requests
items
.
map
do
|
item
|
items
.
map
do
|
item
|
click_link
item
click_link
item
end
end
...
@@ -359,7 +359,7 @@ feature 'Issues > Labels bulk assignment', feature: true do
...
@@ -359,7 +359,7 @@ feature 'Issues > Labels bulk assignment', feature: true do
def
open_labels_dropdown
(
items
=
[],
unmark
=
false
)
def
open_labels_dropdown
(
items
=
[],
unmark
=
false
)
page
.
within
(
'.issues_bulk_update'
)
do
page
.
within
(
'.issues_bulk_update'
)
do
click_button
'Labels'
click_button
'Labels'
wait_for_
ajax
wait_for_
requests
items
.
map
do
|
item
|
items
.
map
do
|
item
|
click_link
item
click_link
item
end
end
...
@@ -392,6 +392,6 @@ feature 'Issues > Labels bulk assignment', feature: true do
...
@@ -392,6 +392,6 @@ feature 'Issues > Labels bulk assignment', feature: true do
def
update_issues
def
update_issues
click_button
'Update issues'
click_button
'Update issues'
wait_for_
ajax
wait_for_
requests
end
end
end
end
spec/features/issues/create_branch_merge_request_spec.rb
View file @
2338785e
...
@@ -16,7 +16,7 @@ feature 'Create Branch/Merge Request Dropdown on issue page', feature: true, js:
...
@@ -16,7 +16,7 @@ feature 'Create Branch/Merge Request Dropdown on issue page', feature: true, js:
select_dropdown_option
(
'create-mr'
)
select_dropdown_option
(
'create-mr'
)
wait_for_
ajax
wait_for_
requests
expect
(
page
).
to
have_content
(
"created branch 1-cherry-coloured-funk"
)
expect
(
page
).
to
have_content
(
"created branch 1-cherry-coloured-funk"
)
expect
(
page
).
to
have_content
(
"mentioned in merge request !1"
)
expect
(
page
).
to
have_content
(
"mentioned in merge request !1"
)
...
@@ -32,7 +32,7 @@ feature 'Create Branch/Merge Request Dropdown on issue page', feature: true, js:
...
@@ -32,7 +32,7 @@ feature 'Create Branch/Merge Request Dropdown on issue page', feature: true, js:
select_dropdown_option
(
'create-branch'
)
select_dropdown_option
(
'create-branch'
)
wait_for_
ajax
wait_for_
requests
expect
(
page
).
to
have_selector
(
'.dropdown-toggle-text '
,
text:
'1-cherry-coloured-funk'
)
expect
(
page
).
to
have_selector
(
'.dropdown-toggle-text '
,
text:
'1-cherry-coloured-funk'
)
expect
(
current_path
).
to
eq
namespace_project_tree_path
(
project
.
namespace
,
project
,
'1-cherry-coloured-funk'
)
expect
(
current_path
).
to
eq
namespace_project_tree_path
(
project
.
namespace
,
project
,
'1-cherry-coloured-funk'
)
...
...
spec/features/issues/filtered_search/dropdown_author_spec.rb
View file @
2338785e
...
@@ -16,7 +16,7 @@ describe 'Dropdown author', js: true, feature: true do
...
@@ -16,7 +16,7 @@ describe 'Dropdown author', js: true, feature: true do
end
end
sleep
0.5
sleep
0.5
wait_for_
ajax
wait_for_
requests
end
end
def
dropdown_author_size
def
dropdown_author_size
...
...
spec/features/issues/filtered_search/filter_issues_spec.rb
View file @
2338785e
...
@@ -761,7 +761,7 @@ describe 'Filter issues', js: true, feature: true do
...
@@ -761,7 +761,7 @@ describe 'Filter issues', js: true, feature: true do
sort_toggle
.
click
sort_toggle
.
click
find
(
'.filtered-search-wrapper .dropdown-menu li a'
,
text:
'Oldest updated'
).
click
find
(
'.filtered-search-wrapper .dropdown-menu li a'
,
text:
'Oldest updated'
).
click
wait_for_
ajax
wait_for_
requests
expect
(
find
(
'.issues-list .issue:first-of-type .issue-title-text a'
)).
to
have_content
(
old_issue
.
title
)
expect
(
find
(
'.issues-list .issue:first-of-type .issue-title-text a'
)).
to
have_content
(
old_issue
.
title
)
end
end
...
@@ -778,17 +778,17 @@ describe 'Filter issues', js: true, feature: true do
...
@@ -778,17 +778,17 @@ describe 'Filter issues', js: true, feature: true do
it
'open state'
do
it
'open state'
do
find
(
'.issues-state-filters a'
,
text:
'Closed'
).
click
find
(
'.issues-state-filters a'
,
text:
'Closed'
).
click
wait_for_
ajax
wait_for_
requests
find
(
'.issues-state-filters a'
,
text:
'Open'
).
click
find
(
'.issues-state-filters a'
,
text:
'Open'
).
click
wait_for_
ajax
wait_for_
requests
expect
(
page
).
to
have_selector
(
'.issues-list .issue'
,
count:
4
)
expect
(
page
).
to
have_selector
(
'.issues-list .issue'
,
count:
4
)
end
end
it
'closed state'
do
it
'closed state'
do
find
(
'.issues-state-filters a'
,
text:
'Closed'
).
click
find
(
'.issues-state-filters a'
,
text:
'Closed'
).
click
wait_for_
ajax
wait_for_
requests
expect
(
page
).
to
have_selector
(
'.issues-list .issue'
,
count:
1
)
expect
(
page
).
to
have_selector
(
'.issues-list .issue'
,
count:
1
)
expect
(
find
(
'.issues-list .issue:first-of-type .issue-title-text a'
)).
to
have_content
(
closed_issue
.
title
)
expect
(
find
(
'.issues-list .issue:first-of-type .issue-title-text a'
)).
to
have_content
(
closed_issue
.
title
)
...
@@ -796,7 +796,7 @@ describe 'Filter issues', js: true, feature: true do
...
@@ -796,7 +796,7 @@ describe 'Filter issues', js: true, feature: true do
it
'all state'
do
it
'all state'
do
find
(
'.issues-state-filters a'
,
text:
'All'
).
click
find
(
'.issues-state-filters a'
,
text:
'All'
).
click
wait_for_
ajax
wait_for_
requests
expect
(
page
).
to
have_selector
(
'.issues-list .issue'
,
count:
5
)
expect
(
page
).
to
have_selector
(
'.issues-list .issue'
,
count:
5
)
end
end
...
...
spec/features/issues/form_spec.rb
View file @
2338785e
...
@@ -3,7 +3,6 @@ require 'rails_helper'
...
@@ -3,7 +3,6 @@ require 'rails_helper'
describe
'New/edit issue'
,
:feature
,
:js
do
describe
'New/edit issue'
,
:feature
,
:js
do
include
GitlabRoutingHelper
include
GitlabRoutingHelper
include
ActionView
::
Helpers
::
JavaScriptHelper
include
ActionView
::
Helpers
::
JavaScriptHelper
include
WaitForAjax
let!
(
:project
)
{
create
(
:project
)
}
let!
(
:project
)
{
create
(
:project
)
}
let!
(
:user
)
{
create
(
:user
)}
let!
(
:user
)
{
create
(
:user
)}
...
@@ -28,7 +27,7 @@ describe 'New/edit issue', :feature, :js do
...
@@ -28,7 +27,7 @@ describe 'New/edit issue', :feature, :js do
before
do
before
do
click_button
'Unassigned'
click_button
'Unassigned'
wait_for_
ajax
wait_for_
requests
end
end
it
'unselects other assignees when unassigned is selected'
do
it
'unselects other assignees when unassigned is selected'
do
...
@@ -69,7 +68,7 @@ describe 'New/edit issue', :feature, :js do
...
@@ -69,7 +68,7 @@ describe 'New/edit issue', :feature, :js do
expect
(
find
(
'a'
,
text:
'Assign to me'
)).
to
be_visible
expect
(
find
(
'a'
,
text:
'Assign to me'
)).
to
be_visible
click_button
'Unassigned'
click_button
'Unassigned'
wait_for_
ajax
wait_for_
requests
page
.
within
'.dropdown-menu-user'
do
page
.
within
'.dropdown-menu-user'
do
click_link
user2
.
name
click_link
user2
.
name
...
@@ -155,7 +154,7 @@ describe 'New/edit issue', :feature, :js do
...
@@ -155,7 +154,7 @@ describe 'New/edit issue', :feature, :js do
it
'correctly updates the selected user when changing assignee'
do
it
'correctly updates the selected user when changing assignee'
do
click_button
'Unassigned'
click_button
'Unassigned'
wait_for_
ajax
wait_for_
requests
page
.
within
'.dropdown-menu-user'
do
page
.
within
'.dropdown-menu-user'
do
click_link
user
.
name
click_link
user
.
name
...
...
spec/features/issues/gfm_autocomplete_spec.rb
View file @
2338785e
...
@@ -11,7 +11,7 @@ feature 'GFM autocomplete', feature: true, js: true do
...
@@ -11,7 +11,7 @@ feature 'GFM autocomplete', feature: true, js: true do
login_as
(
user
)
login_as
(
user
)
visit
namespace_project_issue_path
(
project
.
namespace
,
project
,
issue
)
visit
namespace_project_issue_path
(
project
.
namespace
,
project
,
issue
)
wait_for_
ajax
wait_for_
requests
end
end
it
'opens autocomplete menu when field starts with text'
do
it
'opens autocomplete menu when field starts with text'
do
...
@@ -40,7 +40,7 @@ feature 'GFM autocomplete', feature: true, js: true do
...
@@ -40,7 +40,7 @@ feature 'GFM autocomplete', feature: true, js: true do
expect
(
page
).
to
have_selector
(
'.atwho-container'
)
expect
(
page
).
to
have_selector
(
'.atwho-container'
)
wait_for_
ajax
wait_for_
requests
expect
(
find
(
'#at-view-58'
)).
not_to
have_selector
(
'.cur:first-of-type'
)
expect
(
find
(
'#at-view-58'
)).
not_to
have_selector
(
'.cur:first-of-type'
)
end
end
...
@@ -80,7 +80,7 @@ feature 'GFM autocomplete', feature: true, js: true do
...
@@ -80,7 +80,7 @@ feature 'GFM autocomplete', feature: true, js: true do
expect
(
page
).
to
have_selector
(
'.atwho-container'
)
expect
(
page
).
to
have_selector
(
'.atwho-container'
)
wait_for_
ajax
wait_for_
requests
expect
(
find
(
'#at-view-64'
)).
to
have_selector
(
'.cur:first-of-type'
)
expect
(
find
(
'#at-view-64'
)).
to
have_selector
(
'.cur:first-of-type'
)
end
end
...
@@ -93,7 +93,7 @@ feature 'GFM autocomplete', feature: true, js: true do
...
@@ -93,7 +93,7 @@ feature 'GFM autocomplete', feature: true, js: true do
expect
(
page
).
to
have_selector
(
'.atwho-container'
)
expect
(
page
).
to
have_selector
(
'.atwho-container'
)
wait_for_
ajax
wait_for_
requests
expect
(
find
(
'#at-view-64'
)).
to
have_content
(
user
.
name
)
expect
(
find
(
'#at-view-64'
)).
to
have_content
(
user
.
name
)
end
end
...
@@ -106,7 +106,7 @@ feature 'GFM autocomplete', feature: true, js: true do
...
@@ -106,7 +106,7 @@ feature 'GFM autocomplete', feature: true, js: true do
expect
(
page
).
to
have_selector
(
'.atwho-container'
)
expect
(
page
).
to
have_selector
(
'.atwho-container'
)
wait_for_
ajax
wait_for_
requests
expect
(
find
(
'#at-view-58'
)).
to
have_selector
(
'.cur:first-of-type'
)
expect
(
find
(
'#at-view-58'
)).
to
have_selector
(
'.cur:first-of-type'
)
end
end
...
...
spec/features/issues/issue_sidebar_spec.rb
View file @
2338785e
...
@@ -23,7 +23,7 @@ feature 'Issue Sidebar', feature: true do
...
@@ -23,7 +23,7 @@ feature 'Issue Sidebar', feature: true do
find
(
'.block.assignee .edit-link'
).
click
find
(
'.block.assignee .edit-link'
).
click
wait_for_
ajax
wait_for_
requests
end
end
it
'shows author in assignee dropdown'
do
it
'shows author in assignee dropdown'
do
...
@@ -37,7 +37,7 @@ feature 'Issue Sidebar', feature: true do
...
@@ -37,7 +37,7 @@ feature 'Issue Sidebar', feature: true do
find
(
'.dropdown-input-field'
).
native
.
send_keys
user2
.
name
find
(
'.dropdown-input-field'
).
native
.
send_keys
user2
.
name
sleep
1
# Required to wait for end of input delay
sleep
1
# Required to wait for end of input delay
wait_for_
ajax
wait_for_
requests
expect
(
page
).
to
have_content
(
user2
.
name
)
expect
(
page
).
to
have_content
(
user2
.
name
)
end
end
...
@@ -48,7 +48,7 @@ feature 'Issue Sidebar', feature: true do
...
@@ -48,7 +48,7 @@ feature 'Issue Sidebar', feature: true do
click_button
'assign yourself'
click_button
'assign yourself'
wait_for_
ajax
wait_for_
requests
find
(
'.block.assignee .edit-link'
).
click
find
(
'.block.assignee .edit-link'
).
click
...
...
spec/features/issues/notes_on_issues_spec.rb
View file @
2338785e
...
@@ -15,7 +15,7 @@ describe 'Create notes on issues', :js, :feature do
...
@@ -15,7 +15,7 @@ describe 'Create notes on issues', :js, :feature do
fill_in
'note[note]'
,
with:
note_text
fill_in
'note[note]'
,
with:
note_text
click_button
'Comment'
click_button
'Comment'
wait_for_
ajax
wait_for_
requests
end
end
it
'creates a note with reference and cross references the issue'
do
it
'creates a note with reference and cross references the issue'
do
...
...
spec/features/issues/update_issues_spec.rb
View file @
2338785e
...
@@ -108,11 +108,11 @@ feature 'Multiple issue updating from issues#index', feature: true do
...
@@ -108,11 +108,11 @@ feature 'Multiple issue updating from issues#index', feature: true do
def
click_update_assignee_button
def
click_update_assignee_button
find
(
'.js-update-assignee'
).
click
find
(
'.js-update-assignee'
).
click
wait_for_
ajax
wait_for_
requests
end
end
def
click_update_issues_button
def
click_update_issues_button
find
(
'.update_selected_issues'
).
click
find
(
'.update_selected_issues'
).
click
wait_for_
ajax
wait_for_
requests
end
end
end
end
spec/features/issues/user_uses_slash_commands_spec.rb
View file @
2338785e
...
@@ -18,7 +18,7 @@ feature 'Issues > User uses slash commands', feature: true, js: true do
...
@@ -18,7 +18,7 @@ feature 'Issues > User uses slash commands', feature: true, js: true do
end
end
after
do
after
do
wait_for_
ajax
wait_for_
requests
end
end
describe
'adding a due date from note'
do
describe
'adding a due date from note'
do
...
...
spec/features/issues_spec.rb
View file @
2338785e
...
@@ -377,7 +377,7 @@ describe 'Issues', feature: true do
...
@@ -377,7 +377,7 @@ describe 'Issues', feature: true do
previous_token
=
find
(
'input#issue_email'
).
value
previous_token
=
find
(
'input#issue_email'
).
value
find
(
'.incoming-email-token-reset'
).
trigger
(
'click'
)
find
(
'.incoming-email-token-reset'
).
trigger
(
'click'
)
wait_for_
ajax
wait_for_
requests
expect
(
page
).
to
have_no_field
(
'issue_email'
,
with:
previous_token
)
expect
(
page
).
to
have_no_field
(
'issue_email'
,
with:
previous_token
)
new_token
=
project1
.
new_issue_address
(
@user
.
reload
)
new_token
=
project1
.
new_issue_address
(
@user
.
reload
)
...
@@ -423,7 +423,7 @@ describe 'Issues', feature: true do
...
@@ -423,7 +423,7 @@ describe 'Issues', feature: true do
expect
(
page
).
to
have_content
'No assignee'
expect
(
page
).
to
have_content
'No assignee'
end
end
# wait_for_
ajax
does not work with vue-resource at the moment
# wait_for_
requests
does not work with vue-resource at the moment
sleep
1
sleep
1
expect
(
issue
.
reload
.
assignees
).
to
be_empty
expect
(
issue
.
reload
.
assignees
).
to
be_empty
...
@@ -661,7 +661,7 @@ describe 'Issues', feature: true do
...
@@ -661,7 +661,7 @@ describe 'Issues', feature: true do
click_button
date
.
day
click_button
date
.
day
end
end
wait_for_
ajax
wait_for_
requests
expect
(
find
(
'.value'
).
text
).
to
have_content
date
.
strftime
(
'%b %-d, %Y'
)
expect
(
find
(
'.value'
).
text
).
to
have_content
date
.
strftime
(
'%b %-d, %Y'
)
end
end
...
@@ -677,7 +677,7 @@ describe 'Issues', feature: true do
...
@@ -677,7 +677,7 @@ describe 'Issues', feature: true do
click_button
date
.
day
click_button
date
.
day
end
end
wait_for_
ajax
wait_for_
requests
expect
(
page
).
to
have_no_content
'No due date'
expect
(
page
).
to
have_no_content
'No due date'
...
@@ -689,8 +689,6 @@ describe 'Issues', feature: true do
...
@@ -689,8 +689,6 @@ describe 'Issues', feature: true do
end
end
describe
'title issue#show'
,
js:
true
do
describe
'title issue#show'
,
js:
true
do
include
WaitForVueResource
it
'updates the title'
,
js:
true
do
it
'updates the title'
,
js:
true
do
issue
=
create
(
:issue
,
author:
@user
,
assignees:
[
@user
],
project:
project
,
title:
'new title'
)
issue
=
create
(
:issue
,
author:
@user
,
assignees:
[
@user
],
project:
project
,
title:
'new title'
)
...
@@ -700,7 +698,7 @@ describe 'Issues', feature: true do
...
@@ -700,7 +698,7 @@ describe 'Issues', feature: true do
issue
.
update
(
title:
"updated title"
)
issue
.
update
(
title:
"updated title"
)
wait_for_
vue_resource
wait_for_
requests
expect
(
page
).
to
have_text
(
"updated title"
)
expect
(
page
).
to
have_text
(
"updated title"
)
end
end
end
end
...
...
spec/features/merge_requests/closes_issues_spec.rb
View file @
2338785e
require
'spec_helper'
require
'spec_helper'
feature
'Merge Request closing issues message'
,
feature:
true
,
js:
true
do
feature
'Merge Request closing issues message'
,
feature:
true
,
js:
true
do
include
WaitForAjax
let
(
:user
)
{
create
(
:user
)
}
let
(
:user
)
{
create
(
:user
)
}
let
(
:project
)
{
create
(
:project
,
:public
)
}
let
(
:project
)
{
create
(
:project
,
:public
)
}
let
(
:issue_1
)
{
create
(
:issue
,
project:
project
)}
let
(
:issue_1
)
{
create
(
:issue
,
project:
project
)}
...
@@ -25,7 +23,7 @@ feature 'Merge Request closing issues message', feature: true, js: true do
...
@@ -25,7 +23,7 @@ feature 'Merge Request closing issues message', feature: true, js: true do
login_as
user
login_as
user
visit
namespace_project_merge_request_path
(
project
.
namespace
,
project
,
merge_request
)
visit
namespace_project_merge_request_path
(
project
.
namespace
,
project
,
merge_request
)
wait_for_
ajax
wait_for_
requests
end
end
context
'not closing or mentioning any issue'
do
context
'not closing or mentioning any issue'
do
...
...
spec/features/merge_requests/conflicts_spec.rb
View file @
2338785e
...
@@ -23,13 +23,13 @@ feature 'Merge request conflict resolution', js: true, feature: true do
...
@@ -23,13 +23,13 @@ feature 'Merge request conflict resolution', js: true, feature: true do
end
end
click_button
'Commit conflict resolution'
click_button
'Commit conflict resolution'
wait_for_
ajax
wait_for_
requests
expect
(
page
).
to
have_content
(
'All merge conflicts were resolved'
)
expect
(
page
).
to
have_content
(
'All merge conflicts were resolved'
)
merge_request
.
reload_diff
merge_request
.
reload_diff
click_on
'Changes'
click_on
'Changes'
wait_for_
ajax
wait_for_
requests
within
find
(
'.diff-file'
,
text:
'files/ruby/popen.rb'
)
do
within
find
(
'.diff-file'
,
text:
'files/ruby/popen.rb'
)
do
expect
(
page
).
to
have_selector
(
'.line_content.new'
,
text:
"vars = { 'PWD' => path }"
)
expect
(
page
).
to
have_selector
(
'.line_content.new'
,
text:
"vars = { 'PWD' => path }"
)
...
@@ -53,23 +53,23 @@ feature 'Merge request conflict resolution', js: true, feature: true do
...
@@ -53,23 +53,23 @@ feature 'Merge request conflict resolution', js: true, feature: true do
within
find
(
'.files-wrapper .diff-file'
,
text:
'files/ruby/popen.rb'
)
do
within
find
(
'.files-wrapper .diff-file'
,
text:
'files/ruby/popen.rb'
)
do
click_button
'Edit inline'
click_button
'Edit inline'
wait_for_
ajax
wait_for_
requests
execute_script
(
'ace.edit($(".files-wrapper .diff-file pre")[0]).setValue("One morning");'
)
execute_script
(
'ace.edit($(".files-wrapper .diff-file pre")[0]).setValue("One morning");'
)
end
end
within
find
(
'.files-wrapper .diff-file'
,
text:
'files/ruby/regex.rb'
)
do
within
find
(
'.files-wrapper .diff-file'
,
text:
'files/ruby/regex.rb'
)
do
click_button
'Edit inline'
click_button
'Edit inline'
wait_for_
ajax
wait_for_
requests
execute_script
(
'ace.edit($(".files-wrapper .diff-file pre")[1]).setValue("Gregor Samsa woke from troubled dreams");'
)
execute_script
(
'ace.edit($(".files-wrapper .diff-file pre")[1]).setValue("Gregor Samsa woke from troubled dreams");'
)
end
end
click_button
'Commit conflict resolution'
click_button
'Commit conflict resolution'
wait_for_
ajax
wait_for_
requests
expect
(
page
).
to
have_content
(
'All merge conflicts were resolved'
)
expect
(
page
).
to
have_content
(
'All merge conflicts were resolved'
)
merge_request
.
reload_diff
merge_request
.
reload_diff
click_on
'Changes'
click_on
'Changes'
wait_for_
ajax
wait_for_
requests
expect
(
page
).
to
have_content
(
'One morning'
)
expect
(
page
).
to
have_content
(
'One morning'
)
expect
(
page
).
to
have_content
(
'Gregor Samsa woke from troubled dreams'
)
expect
(
page
).
to
have_content
(
'Gregor Samsa woke from troubled dreams'
)
...
@@ -126,21 +126,21 @@ feature 'Merge request conflict resolution', js: true, feature: true do
...
@@ -126,21 +126,21 @@ feature 'Merge request conflict resolution', js: true, feature: true do
it
'conflicts are resolved in Edit inline mode'
do
it
'conflicts are resolved in Edit inline mode'
do
within
find
(
'.files-wrapper .diff-file'
,
text:
'files/markdown/ruby-style-guide.md'
)
do
within
find
(
'.files-wrapper .diff-file'
,
text:
'files/markdown/ruby-style-guide.md'
)
do
wait_for_
ajax
wait_for_
requests
execute_script
(
'ace.edit($(".files-wrapper .diff-file pre")[0]).setValue("Gregor Samsa woke from troubled dreams");'
)
execute_script
(
'ace.edit($(".files-wrapper .diff-file pre")[0]).setValue("Gregor Samsa woke from troubled dreams");'
)
end
end
click_button
'Commit conflict resolution'
click_button
'Commit conflict resolution'
wait_for_
ajax
wait_for_
requests
expect
(
page
).
to
have_content
(
'All merge conflicts were resolved'
)
expect
(
page
).
to
have_content
(
'All merge conflicts were resolved'
)
merge_request
.
reload_diff
merge_request
.
reload_diff
click_on
'Changes'
click_on
'Changes'
wait_for_
ajax
wait_for_
requests
click_link
'Expand all'
click_link
'Expand all'
wait_for_
ajax
wait_for_
requests
expect
(
page
).
to
have_content
(
'Gregor Samsa woke from troubled dreams'
)
expect
(
page
).
to
have_content
(
'Gregor Samsa woke from troubled dreams'
)
end
end
...
@@ -171,7 +171,7 @@ feature 'Merge request conflict resolution', js: true, feature: true do
...
@@ -171,7 +171,7 @@ feature 'Merge request conflict resolution', js: true, feature: true do
it
'shows an error if the conflicts page is visited directly'
do
it
'shows an error if the conflicts page is visited directly'
do
visit
current_url
+
'/conflicts'
visit
current_url
+
'/conflicts'
wait_for_
ajax
wait_for_
requests
expect
(
find
(
'#conflicts'
)).
to
have_content
(
'Please try to resolve them locally.'
)
expect
(
find
(
'#conflicts'
)).
to
have_content
(
'Please try to resolve them locally.'
)
end
end
...
...
spec/features/merge_requests/create_new_mr_spec.rb
View file @
2338785e
require
'spec_helper'
require
'spec_helper'
feature
'Create New Merge Request'
,
feature:
true
,
js:
true
do
feature
'Create New Merge Request'
,
feature:
true
,
js:
true
do
include
WaitForVueResource
let
(
:user
)
{
create
(
:user
)
}
let
(
:user
)
{
create
(
:user
)
}
let
(
:project
)
{
create
(
:project
,
:public
)
}
let
(
:project
)
{
create
(
:project
,
:public
)
}
...
@@ -146,7 +144,7 @@ feature 'Create New Merge Request', feature: true, js: true do
...
@@ -146,7 +144,7 @@ feature 'Create New Merge Request', feature: true, js: true do
page
.
within
(
'.merge-request'
)
do
page
.
within
(
'.merge-request'
)
do
click_link
'Pipelines'
click_link
'Pipelines'
wait_for_
vue_resource
wait_for_
requests
expect
(
page
).
to
have_content
"#
#{
pipeline
.
id
}
"
expect
(
page
).
to
have_content
"#
#{
pipeline
.
id
}
"
end
end
...
...
spec/features/merge_requests/deleted_source_branch_spec.rb
View file @
2338785e
...
@@ -32,7 +32,7 @@ describe 'Deleted source branch', feature: true, js: true do
...
@@ -32,7 +32,7 @@ describe 'Deleted source branch', feature: true, js: true do
end
end
click_on
'Changes'
click_on
'Changes'
wait_for_
ajax
wait_for_
requests
expect
(
page
).
to
have_selector
(
'.diffs.tab-pane .nothing-here-block'
)
expect
(
page
).
to
have_selector
(
'.diffs.tab-pane .nothing-here-block'
)
expect
(
page
).
to
have_content
(
'Source branch does not exist.'
)
expect
(
page
).
to
have_content
(
'Source branch does not exist.'
)
...
...
spec/features/merge_requests/diff_notes_avatars_spec.rb
View file @
2338785e
...
@@ -60,7 +60,7 @@ feature 'Diff note avatars', feature: true, js: true do
...
@@ -60,7 +60,7 @@ feature 'Diff note avatars', feature: true, js: true do
click_button
'Comment'
click_button
'Comment'
wait_for_
ajax
wait_for_
requests
end
end
visit
namespace_project_merge_request_path
(
project
.
namespace
,
project
,
merge_request
)
visit
namespace_project_merge_request_path
(
project
.
namespace
,
project
,
merge_request
)
...
@@ -76,7 +76,7 @@ feature 'Diff note avatars', feature: true, js: true do
...
@@ -76,7 +76,7 @@ feature 'Diff note avatars', feature: true, js: true do
before
do
before
do
visit
diffs_namespace_project_merge_request_path
(
project
.
namespace
,
project
,
merge_request
,
view:
view
)
visit
diffs_namespace_project_merge_request_path
(
project
.
namespace
,
project
,
merge_request
,
view:
view
)
wait_for_
ajax
wait_for_
requests
end
end
it
'shows note avatar'
do
it
'shows note avatar'
do
...
@@ -114,7 +114,7 @@ feature 'Diff note avatars', feature: true, js: true do
...
@@ -114,7 +114,7 @@ feature 'Diff note avatars', feature: true, js: true do
find
(
'.js-note-delete'
).
click
find
(
'.js-note-delete'
).
click
end
end
wait_for_
ajax
wait_for_
requests
page
.
within
find
(
"[id='
#{
position
.
line_code
(
project
.
repository
)
}
']"
)
do
page
.
within
find
(
"[id='
#{
position
.
line_code
(
project
.
repository
)
}
']"
)
do
expect
(
page
).
not_to
have_selector
(
'img.js-diff-comment-avatar'
)
expect
(
page
).
not_to
have_selector
(
'img.js-diff-comment-avatar'
)
...
@@ -129,7 +129,7 @@ feature 'Diff note avatars', feature: true, js: true do
...
@@ -129,7 +129,7 @@ feature 'Diff note avatars', feature: true, js: true do
click_button
'Comment'
click_button
'Comment'
wait_for_
ajax
wait_for_
requests
end
end
page
.
within
find
(
"[id='
#{
position
.
line_code
(
project
.
repository
)
}
']"
)
do
page
.
within
find
(
"[id='
#{
position
.
line_code
(
project
.
repository
)
}
']"
)
do
...
@@ -148,7 +148,7 @@ feature 'Diff note avatars', feature: true, js: true do
...
@@ -148,7 +148,7 @@ feature 'Diff note avatars', feature: true, js: true do
find
(
'.js-comment-button'
).
trigger
'click'
find
(
'.js-comment-button'
).
trigger
'click'
wait_for_
ajax
wait_for_
requests
end
end
end
end
...
@@ -166,7 +166,7 @@ feature 'Diff note avatars', feature: true, js: true do
...
@@ -166,7 +166,7 @@ feature 'Diff note avatars', feature: true, js: true do
visit
diffs_namespace_project_merge_request_path
(
project
.
namespace
,
project
,
merge_request
,
view:
view
)
visit
diffs_namespace_project_merge_request_path
(
project
.
namespace
,
project
,
merge_request
,
view:
view
)
wait_for_
ajax
wait_for_
requests
end
end
it
'shows extra comment count'
do
it
'shows extra comment count'
do
...
...
spec/features/merge_requests/filter_merge_requests_spec.rb
View file @
2338785e
...
@@ -289,7 +289,7 @@ describe 'Filter merge requests', feature: true do
...
@@ -289,7 +289,7 @@ describe 'Filter merge requests', feature: true do
page
.
within
'.dropdown-menu-sort'
do
page
.
within
'.dropdown-menu-sort'
do
click_link
'Oldest created'
click_link
'Oldest created'
end
end
wait_for_
ajax
wait_for_
requests
page
.
within
'.mr-list'
do
page
.
within
'.mr-list'
do
expect
(
page
).
to
have_content
(
'Frontend'
)
expect
(
page
).
to
have_content
(
'Frontend'
)
...
...
spec/features/merge_requests/merge_immediately_with_pipeline_spec.rb
View file @
2338785e
...
@@ -39,7 +39,7 @@ feature 'Merge immediately', :feature, :js do
...
@@ -39,7 +39,7 @@ feature 'Merge immediately', :feature, :js do
expect
(
find
(
'.accept-merge-request.btn-info'
)).
to
have_content
(
'Merge in progress'
)
expect
(
find
(
'.accept-merge-request.btn-info'
)).
to
have_content
(
'Merge in progress'
)
wait_for_
vue_resource
wait_for_
requests
end
end
end
end
end
end
...
...
spec/features/merge_requests/mini_pipeline_graph_spec.rb
View file @
2338785e
...
@@ -56,7 +56,7 @@ feature 'Mini Pipeline Graph', :js, :feature do
...
@@ -56,7 +56,7 @@ feature 'Mini Pipeline Graph', :js, :feature do
before
do
before
do
toggle
.
click
toggle
.
click
wait_for_
ajax
wait_for_
requests
end
end
it
'should open when toggle is clicked'
do
it
'should open when toggle is clicked'
do
...
...
spec/features/merge_requests/only_allow_merge_if_build_succeeds_spec.rb
View file @
2338785e
require
'spec_helper'
require
'spec_helper'
feature
'Only allow merge requests to be merged if the pipeline succeeds'
,
feature:
true
,
js:
true
do
feature
'Only allow merge requests to be merged if the pipeline succeeds'
,
feature:
true
,
js:
true
do
include
WaitForVueResource
let
(
:merge_request
)
{
create
(
:merge_request_with_diffs
)
}
let
(
:merge_request
)
{
create
(
:merge_request_with_diffs
)
}
let
(
:project
)
{
merge_request
.
target_project
}
let
(
:project
)
{
merge_request
.
target_project
}
...
@@ -16,7 +14,7 @@ feature 'Only allow merge requests to be merged if the pipeline succeeds', featu
...
@@ -16,7 +14,7 @@ feature 'Only allow merge requests to be merged if the pipeline succeeds', featu
it
'allows MR to be merged'
do
it
'allows MR to be merged'
do
visit_merge_request
(
merge_request
)
visit_merge_request
(
merge_request
)
wait_for_
vue_resource
wait_for_
requests
expect
(
page
).
to
have_button
'Merge'
expect
(
page
).
to
have_button
'Merge'
end
end
...
@@ -44,7 +42,7 @@ feature 'Only allow merge requests to be merged if the pipeline succeeds', featu
...
@@ -44,7 +42,7 @@ feature 'Only allow merge requests to be merged if the pipeline succeeds', featu
it
'does not allow to merge immediately'
do
it
'does not allow to merge immediately'
do
visit_merge_request
(
merge_request
)
visit_merge_request
(
merge_request
)
wait_for_
vue_resource
wait_for_
requests
expect
(
page
).
to
have_button
'Merge when pipeline succeeds'
expect
(
page
).
to
have_button
'Merge when pipeline succeeds'
expect
(
page
).
not_to
have_button
'Select merge moment'
expect
(
page
).
not_to
have_button
'Select merge moment'
...
@@ -57,7 +55,7 @@ feature 'Only allow merge requests to be merged if the pipeline succeeds', featu
...
@@ -57,7 +55,7 @@ feature 'Only allow merge requests to be merged if the pipeline succeeds', featu
it
'does not allow MR to be merged'
do
it
'does not allow MR to be merged'
do
visit_merge_request
(
merge_request
)
visit_merge_request
(
merge_request
)
wait_for_
vue_resource
wait_for_
requests
expect
(
page
).
to
have_css
(
'button[disabled="disabled"]'
,
text:
'Merge'
)
expect
(
page
).
to
have_css
(
'button[disabled="disabled"]'
,
text:
'Merge'
)
expect
(
page
).
to
have_content
(
'Please retry the job or push a new commit to fix the failure.'
)
expect
(
page
).
to
have_content
(
'Please retry the job or push a new commit to fix the failure.'
)
...
@@ -70,7 +68,7 @@ feature 'Only allow merge requests to be merged if the pipeline succeeds', featu
...
@@ -70,7 +68,7 @@ feature 'Only allow merge requests to be merged if the pipeline succeeds', featu
it
'does not allow MR to be merged'
do
it
'does not allow MR to be merged'
do
visit_merge_request
(
merge_request
)
visit_merge_request
(
merge_request
)
wait_for_
vue_resource
wait_for_
requests
expect
(
page
).
not_to
have_button
'Merge'
expect
(
page
).
not_to
have_button
'Merge'
expect
(
page
).
to
have_content
(
'Please retry the job or push a new commit to fix the failure.'
)
expect
(
page
).
to
have_content
(
'Please retry the job or push a new commit to fix the failure.'
)
...
@@ -83,7 +81,7 @@ feature 'Only allow merge requests to be merged if the pipeline succeeds', featu
...
@@ -83,7 +81,7 @@ feature 'Only allow merge requests to be merged if the pipeline succeeds', featu
it
'allows MR to be merged'
do
it
'allows MR to be merged'
do
visit_merge_request
(
merge_request
)
visit_merge_request
(
merge_request
)
wait_for_
vue_resource
wait_for_
requests
expect
(
page
).
to
have_button
'Merge'
expect
(
page
).
to
have_button
'Merge'
end
end
...
@@ -95,7 +93,7 @@ feature 'Only allow merge requests to be merged if the pipeline succeeds', featu
...
@@ -95,7 +93,7 @@ feature 'Only allow merge requests to be merged if the pipeline succeeds', featu
it
'allows MR to be merged'
do
it
'allows MR to be merged'
do
visit_merge_request
(
merge_request
)
visit_merge_request
(
merge_request
)
wait_for_
vue_resource
wait_for_
requests
expect
(
page
).
to
have_button
'Merge'
expect
(
page
).
to
have_button
'Merge'
end
end
...
@@ -113,7 +111,7 @@ feature 'Only allow merge requests to be merged if the pipeline succeeds', featu
...
@@ -113,7 +111,7 @@ feature 'Only allow merge requests to be merged if the pipeline succeeds', featu
it
'allows MR to be merged immediately'
do
it
'allows MR to be merged immediately'
do
visit_merge_request
(
merge_request
)
visit_merge_request
(
merge_request
)
wait_for_
vue_resource
wait_for_
requests
expect
(
page
).
to
have_button
'Merge when pipeline succeeds'
expect
(
page
).
to
have_button
'Merge when pipeline succeeds'
...
@@ -128,7 +126,7 @@ feature 'Only allow merge requests to be merged if the pipeline succeeds', featu
...
@@ -128,7 +126,7 @@ feature 'Only allow merge requests to be merged if the pipeline succeeds', featu
it
'allows MR to be merged'
do
it
'allows MR to be merged'
do
visit_merge_request
(
merge_request
)
visit_merge_request
(
merge_request
)
wait_for_
vue_resource
wait_for_
requests
expect
(
page
).
to
have_button
'Merge'
expect
(
page
).
to
have_button
'Merge'
end
end
...
@@ -140,7 +138,7 @@ feature 'Only allow merge requests to be merged if the pipeline succeeds', featu
...
@@ -140,7 +138,7 @@ feature 'Only allow merge requests to be merged if the pipeline succeeds', featu
it
'allows MR to be merged'
do
it
'allows MR to be merged'
do
visit_merge_request
(
merge_request
)
visit_merge_request
(
merge_request
)
wait_for_
vue_resource
wait_for_
requests
expect
(
page
).
to
have_button
'Merge'
expect
(
page
).
to
have_button
'Merge'
end
end
...
...
spec/features/merge_requests/pipelines_spec.rb
View file @
2338785e
...
@@ -26,7 +26,7 @@ feature 'Pipelines for Merge Requests', feature: true, js: true do
...
@@ -26,7 +26,7 @@ feature 'Pipelines for Merge Requests', feature: true, js: true do
page
.
within
(
'.merge-request-tabs'
)
do
page
.
within
(
'.merge-request-tabs'
)
do
click_link
(
'Pipelines'
)
click_link
(
'Pipelines'
)
end
end
wait_for_
ajax
wait_for_
requests
expect
(
page
).
to
have_selector
(
'.pipeline-actions'
)
expect
(
page
).
to
have_selector
(
'.pipeline-actions'
)
end
end
...
...
spec/features/merge_requests/update_merge_requests_spec.rb
View file @
2338785e
...
@@ -107,7 +107,7 @@ feature 'Multiple merge requests updating from merge_requests#index', feature: t
...
@@ -107,7 +107,7 @@ feature 'Multiple merge requests updating from merge_requests#index', feature: t
def
change_assignee
(
text
)
def
change_assignee
(
text
)
find
(
'#check_all_issues'
).
click
find
(
'#check_all_issues'
).
click
find
(
'.js-update-assignee'
).
click
find
(
'.js-update-assignee'
).
click
wait_for_
ajax
wait_for_
requests
page
.
within
'.dropdown-menu-user'
do
page
.
within
'.dropdown-menu-user'
do
click_link
text
click_link
text
...
@@ -125,6 +125,6 @@ feature 'Multiple merge requests updating from merge_requests#index', feature: t
...
@@ -125,6 +125,6 @@ feature 'Multiple merge requests updating from merge_requests#index', feature: t
def
click_update_merge_requests_button
def
click_update_merge_requests_button
find
(
'.update_selected_issues'
).
click
find
(
'.update_selected_issues'
).
click
wait_for_
ajax
wait_for_
requests
end
end
end
end
spec/features/merge_requests/user_posts_diff_notes_spec.rb
View file @
2338785e
...
@@ -73,7 +73,7 @@ feature 'Merge requests > User posts diff notes', :js do
...
@@ -73,7 +73,7 @@ feature 'Merge requests > User posts diff notes', :js do
context
'with an unfolded line'
do
context
'with an unfolded line'
do
before
(
:each
)
do
before
(
:each
)
do
find
(
'.js-unfold'
,
match: :first
).
click
find
(
'.js-unfold'
,
match: :first
).
click
wait_for_
ajax
wait_for_
requests
end
end
# The first `.js-unfold` unfolds upwards, therefore the first
# The first `.js-unfold` unfolds upwards, therefore the first
...
@@ -122,7 +122,7 @@ feature 'Merge requests > User posts diff notes', :js do
...
@@ -122,7 +122,7 @@ feature 'Merge requests > User posts diff notes', :js do
context
'with an unfolded line'
do
context
'with an unfolded line'
do
before
(
:each
)
do
before
(
:each
)
do
find
(
'.js-unfold'
,
match: :first
).
click
find
(
'.js-unfold'
,
match: :first
).
click
wait_for_
ajax
wait_for_
requests
end
end
# The first `.js-unfold` unfolds upwards, therefore the first
# The first `.js-unfold` unfolds upwards, therefore the first
...
@@ -213,7 +213,7 @@ feature 'Merge requests > User posts diff notes', :js do
...
@@ -213,7 +213,7 @@ feature 'Merge requests > User posts diff notes', :js do
write_comment_on_line
(
line_holder
,
diff_side
)
write_comment_on_line
(
line_holder
,
diff_side
)
click_button
'Comment'
click_button
'Comment'
wait_for_
ajax
wait_for_
requests
assert_comment_persistence
(
line_holder
,
asset_form_reset:
asset_form_reset
)
assert_comment_persistence
(
line_holder
,
asset_form_reset:
asset_form_reset
)
end
end
...
...
spec/features/merge_requests/user_posts_notes_spec.rb
View file @
2338785e
...
@@ -98,7 +98,7 @@ describe 'Merge requests > User posts notes', :js do
...
@@ -98,7 +98,7 @@ describe 'Merge requests > User posts notes', :js do
find
(
'.btn-save'
).
click
find
(
'.btn-save'
).
click
end
end
wait_for_
ajax
wait_for_
requests
find
(
'.note'
).
hover
find
(
'.note'
).
hover
find
(
'.js-note-edit'
).
click
find
(
'.js-note-edit'
).
click
...
@@ -139,7 +139,7 @@ describe 'Merge requests > User posts notes', :js do
...
@@ -139,7 +139,7 @@ describe 'Merge requests > User posts notes', :js do
find
(
'.js-note-attachment-delete'
).
click
find
(
'.js-note-attachment-delete'
).
click
is_expected
.
not_to
have_css
(
'.note-attachment'
)
is_expected
.
not_to
have_css
(
'.note-attachment'
)
is_expected
.
not_to
have_css
(
'.current-note-edit-form'
)
is_expected
.
not_to
have_css
(
'.current-note-edit-form'
)
wait_for_
ajax
wait_for_
requests
end
end
end
end
end
end
...
...
spec/features/merge_requests/user_uses_slash_commands_spec.rb
View file @
2338785e
...
@@ -21,7 +21,7 @@ feature 'Merge Requests > User uses slash commands', feature: true, js: true do
...
@@ -21,7 +21,7 @@ feature 'Merge Requests > User uses slash commands', feature: true, js: true do
end
end
after
do
after
do
wait_for_
ajax
wait_for_
requests
end
end
describe
'toggling the WIP prefix in the title from note'
do
describe
'toggling the WIP prefix in the title from note'
do
...
@@ -160,7 +160,7 @@ feature 'Merge Requests > User uses slash commands', feature: true, js: true do
...
@@ -160,7 +160,7 @@ feature 'Merge Requests > User uses slash commands', feature: true, js: true do
it
'changes target branch from a note'
do
it
'changes target branch from a note'
do
write_note
(
"message start
\n
/target_branch merge-test
\n
message end."
)
write_note
(
"message start
\n
/target_branch merge-test
\n
message end."
)
wait_for_
ajax
wait_for_
requests
expect
(
page
).
not_to
have_content
(
'/target_branch'
)
expect
(
page
).
not_to
have_content
(
'/target_branch'
)
expect
(
page
).
to
have_content
(
'message start'
)
expect
(
page
).
to
have_content
(
'message start'
)
expect
(
page
).
to
have_content
(
'message end.'
)
expect
(
page
).
to
have_content
(
'message end.'
)
...
...
spec/features/merge_requests/versions_spec.rb
View file @
2338785e
...
@@ -75,7 +75,7 @@ feature 'Merge Request versions', js: true, feature: true do
...
@@ -75,7 +75,7 @@ feature 'Merge Request versions', js: true, feature: true do
find
(
".js-comment-button"
).
click
find
(
".js-comment-button"
).
click
end
end
wait_for_
ajax
wait_for_
requests
expect
(
page
).
to
have_content
(
"Typo, please fix"
)
expect
(
page
).
to
have_content
(
"Typo, please fix"
)
end
end
...
@@ -126,7 +126,7 @@ feature 'Merge Request versions', js: true, feature: true do
...
@@ -126,7 +126,7 @@ feature 'Merge Request versions', js: true, feature: true do
outdated_diff_note
=
create
(
:diff_note_on_merge_request
,
project:
project
,
noteable:
merge_request
,
position:
position
)
outdated_diff_note
=
create
(
:diff_note_on_merge_request
,
project:
project
,
noteable:
merge_request
,
position:
position
)
visit
current_url
visit
current_url
wait_for_
ajax
wait_for_
requests
expect
(
page
).
to
have_css
(
".diffs .notes[data-discussion-id='
#{
outdated_diff_note
.
discussion_id
}
']"
)
expect
(
page
).
to
have_css
(
".diffs .notes[data-discussion-id='
#{
outdated_diff_note
.
discussion_id
}
']"
)
end
end
...
@@ -144,7 +144,7 @@ feature 'Merge Request versions', js: true, feature: true do
...
@@ -144,7 +144,7 @@ feature 'Merge Request versions', js: true, feature: true do
find
(
".js-comment-button"
).
click
find
(
".js-comment-button"
).
click
end
end
wait_for_
ajax
wait_for_
requests
expect
(
page
).
to
have_content
(
"Typo, please fix"
)
expect
(
page
).
to
have_content
(
"Typo, please fix"
)
end
end
...
...
spec/features/merge_requests/widget_deployments_spec.rb
View file @
2338785e
...
@@ -18,7 +18,7 @@ feature 'Widget Deployments Header', feature: true, js: true do
...
@@ -18,7 +18,7 @@ feature 'Widget Deployments Header', feature: true, js: true do
end
end
scenario
'displays that the environment is deployed'
do
scenario
'displays that the environment is deployed'
do
wait_for_
ajax
wait_for_
requests
expect
(
page
).
to
have_content
(
"Deployed to
#{
environment
.
name
}
"
)
expect
(
page
).
to
have_content
(
"Deployed to
#{
environment
.
name
}
"
)
expect
(
find
(
'.js-deploy-time'
)[
'data-title'
]).
to
eq
(
deployment
.
created_at
.
to_time
.
in_time_zone
.
to_s
(
:medium
))
expect
(
find
(
'.js-deploy-time'
)[
'data-title'
]).
to
eq
(
deployment
.
created_at
.
to_time
.
in_time_zone
.
to_s
(
:medium
))
...
@@ -34,7 +34,7 @@ feature 'Widget Deployments Header', feature: true, js: true do
...
@@ -34,7 +34,7 @@ feature 'Widget Deployments Header', feature: true, js: true do
end
end
background
do
background
do
wait_for_
ajax
wait_for_
requests
end
end
scenario
'does show stop button'
do
scenario
'does show stop button'
do
...
...
spec/features/merge_requests/widget_spec.rb
View file @
2338785e
...
@@ -27,7 +27,7 @@ describe 'Merge request', :feature, :js do
...
@@ -27,7 +27,7 @@ describe 'Merge request', :feature, :js do
it
'shows widget status after creating new merge request'
do
it
'shows widget status after creating new merge request'
do
click_button
'Submit merge request'
click_button
'Submit merge request'
wait_for_
ajax
wait_for_
requests
expect
(
page
).
to
have_selector
(
'.accept-merge-request'
)
expect
(
page
).
to
have_selector
(
'.accept-merge-request'
)
expect
(
find
(
'.accept-merge-request'
)[
'disabled'
]).
not_to
be
(
true
)
expect
(
find
(
'.accept-merge-request'
)[
'disabled'
]).
not_to
be
(
true
)
...
@@ -48,7 +48,7 @@ describe 'Merge request', :feature, :js do
...
@@ -48,7 +48,7 @@ describe 'Merge request', :feature, :js do
end
end
it
'shows environments link'
do
it
'shows environments link'
do
wait_for_
ajax
wait_for_
requests
page
.
within
(
'.mr-widget-heading'
)
do
page
.
within
(
'.mr-widget-heading'
)
do
expect
(
page
).
to
have_content
(
"Deployed to
#{
environment
.
name
}
"
)
expect
(
page
).
to
have_content
(
"Deployed to
#{
environment
.
name
}
"
)
...
@@ -58,7 +58,7 @@ describe 'Merge request', :feature, :js do
...
@@ -58,7 +58,7 @@ describe 'Merge request', :feature, :js do
it
'shows green accept merge request button'
do
it
'shows green accept merge request button'
do
# Wait for the `ci_status` and `merge_check` requests
# Wait for the `ci_status` and `merge_check` requests
wait_for_
ajax
wait_for_
requests
expect
(
page
).
to
have_selector
(
'.accept-merge-request'
)
expect
(
page
).
to
have_selector
(
'.accept-merge-request'
)
expect
(
find
(
'.accept-merge-request'
)[
'disabled'
]).
not_to
be
(
true
)
expect
(
find
(
'.accept-merge-request'
)[
'disabled'
]).
not_to
be
(
true
)
end
end
...
@@ -76,7 +76,7 @@ describe 'Merge request', :feature, :js do
...
@@ -76,7 +76,7 @@ describe 'Merge request', :feature, :js do
it
'has danger button while waiting for external CI status'
do
it
'has danger button while waiting for external CI status'
do
# Wait for the `ci_status` and `merge_check` requests
# Wait for the `ci_status` and `merge_check` requests
wait_for_
ajax
wait_for_
requests
expect
(
page
).
to
have_selector
(
'.accept-merge-request.btn-danger'
)
expect
(
page
).
to
have_selector
(
'.accept-merge-request.btn-danger'
)
end
end
end
end
...
@@ -98,7 +98,7 @@ describe 'Merge request', :feature, :js do
...
@@ -98,7 +98,7 @@ describe 'Merge request', :feature, :js do
it
'has danger button when not succeeded'
do
it
'has danger button when not succeeded'
do
# Wait for the `ci_status` and `merge_check` requests
# Wait for the `ci_status` and `merge_check` requests
wait_for_
ajax
wait_for_
requests
expect
(
page
).
to
have_selector
(
'.accept-merge-request.btn-danger'
)
expect
(
page
).
to
have_selector
(
'.accept-merge-request.btn-danger'
)
end
end
end
end
...
@@ -145,7 +145,7 @@ describe 'Merge request', :feature, :js do
...
@@ -145,7 +145,7 @@ describe 'Merge request', :feature, :js do
it
'has info button when MWBS button'
do
it
'has info button when MWBS button'
do
# Wait for the `ci_status` and `merge_check` requests
# Wait for the `ci_status` and `merge_check` requests
wait_for_
ajax
wait_for_
requests
expect
(
page
).
to
have_selector
(
'.accept-merge-request.btn-info'
)
expect
(
page
).
to
have_selector
(
'.accept-merge-request.btn-info'
)
end
end
end
end
...
@@ -163,7 +163,7 @@ describe 'Merge request', :feature, :js do
...
@@ -163,7 +163,7 @@ describe 'Merge request', :feature, :js do
it
'shows information about the merge error'
do
it
'shows information about the merge error'
do
# Wait for the `ci_status` and `merge_check` requests
# Wait for the `ci_status` and `merge_check` requests
wait_for_
ajax
wait_for_
requests
page
.
within
(
'.mr-widget-body'
)
do
page
.
within
(
'.mr-widget-body'
)
do
expect
(
page
).
to
have_content
(
'Something went wrong'
)
expect
(
page
).
to
have_content
(
'Something went wrong'
)
...
@@ -184,7 +184,7 @@ describe 'Merge request', :feature, :js do
...
@@ -184,7 +184,7 @@ describe 'Merge request', :feature, :js do
it
'shows information about the merge error'
do
it
'shows information about the merge error'
do
# Wait for the `ci_status` and `merge_check` requests
# Wait for the `ci_status` and `merge_check` requests
wait_for_
ajax
wait_for_
requests
page
.
within
(
'.mr-widget-body'
)
do
page
.
within
(
'.mr-widget-body'
)
do
expect
(
page
).
to
have_content
(
'Something went wrong'
)
expect
(
page
).
to
have_content
(
'Something went wrong'
)
...
...
spec/features/milestones/milestones_spec.rb
View file @
2338785e
...
@@ -78,7 +78,7 @@ describe 'Milestone draggable', feature: true, js: true do
...
@@ -78,7 +78,7 @@ describe 'Milestone draggable', feature: true, js: true do
scroll_into_view
(
'.milestone-content'
)
scroll_into_view
(
'.milestone-content'
)
drag_to
(
selector:
'.issues-sortable-list'
,
list_to_index:
1
)
drag_to
(
selector:
'.issues-sortable-list'
,
list_to_index:
1
)
wait_for_
ajax
wait_for_
requests
end
end
def
create_and_drag_merge_request
(
params
=
{})
def
create_and_drag_merge_request
(
params
=
{})
...
@@ -87,12 +87,12 @@ describe 'Milestone draggable', feature: true, js: true do
...
@@ -87,12 +87,12 @@ describe 'Milestone draggable', feature: true, js: true do
visit
namespace_project_milestone_path
(
project
.
namespace
,
project
,
milestone
)
visit
namespace_project_milestone_path
(
project
.
namespace
,
project
,
milestone
)
page
.
find
(
"a[href='#tab-merge-requests']"
).
click
page
.
find
(
"a[href='#tab-merge-requests']"
).
click
wait_for_
ajax
wait_for_
requests
scroll_into_view
(
'.milestone-content'
)
scroll_into_view
(
'.milestone-content'
)
drag_to
(
selector:
'.merge_requests-sortable-list'
,
list_to_index:
1
)
drag_to
(
selector:
'.merge_requests-sortable-list'
,
list_to_index:
1
)
wait_for_
ajax
wait_for_
requests
end
end
def
scroll_into_view
(
selector
)
def
scroll_into_view
(
selector
)
...
...
spec/features/projects/artifacts/file_spec.rb
View file @
2338785e
...
@@ -13,7 +13,7 @@ feature 'Artifact file', :js, feature: true do
...
@@ -13,7 +13,7 @@ feature 'Artifact file', :js, feature: true do
before
do
before
do
visit_file
(
'other_artifacts_0.1.2/doc_sample.txt'
)
visit_file
(
'other_artifacts_0.1.2/doc_sample.txt'
)
wait_for_
ajax
wait_for_
requests
end
end
it
'displays an error'
do
it
'displays an error'
do
...
@@ -37,7 +37,7 @@ feature 'Artifact file', :js, feature: true do
...
@@ -37,7 +37,7 @@ feature 'Artifact file', :js, feature: true do
before
do
before
do
visit_file
(
'rails_sample.jpg'
)
visit_file
(
'rails_sample.jpg'
)
wait_for_
ajax
wait_for_
requests
end
end
it
'displays the blob'
do
it
'displays the blob'
do
...
...
spec/features/projects/blobs/blob_show_spec.rb
View file @
2338785e
...
@@ -6,7 +6,7 @@ feature 'File blob', :js, feature: true do
...
@@ -6,7 +6,7 @@ feature 'File blob', :js, feature: true do
def
visit_blob
(
path
,
fragment
=
nil
)
def
visit_blob
(
path
,
fragment
=
nil
)
visit
namespace_project_blob_path
(
project
.
namespace
,
project
,
File
.
join
(
'master'
,
path
),
anchor:
fragment
)
visit
namespace_project_blob_path
(
project
.
namespace
,
project
,
File
.
join
(
'master'
,
path
),
anchor:
fragment
)
wait_for_
ajax
wait_for_
requests
end
end
context
'Ruby file'
do
context
'Ruby file'
do
...
@@ -61,7 +61,7 @@ feature 'File blob', :js, feature: true do
...
@@ -61,7 +61,7 @@ feature 'File blob', :js, feature: true do
before
do
before
do
find
(
'.js-blob-viewer-switch-btn[data-viewer=simple]'
).
click
find
(
'.js-blob-viewer-switch-btn[data-viewer=simple]'
).
click
wait_for_
ajax
wait_for_
requests
end
end
it
'displays the blob using the simple viewer'
do
it
'displays the blob using the simple viewer'
do
...
@@ -82,7 +82,7 @@ feature 'File blob', :js, feature: true do
...
@@ -82,7 +82,7 @@ feature 'File blob', :js, feature: true do
before
do
before
do
find
(
'.js-blob-viewer-switch-btn[data-viewer=rich]'
).
click
find
(
'.js-blob-viewer-switch-btn[data-viewer=rich]'
).
click
wait_for_
ajax
wait_for_
requests
end
end
it
'displays the blob using the rich viewer'
do
it
'displays the blob using the rich viewer'
do
...
@@ -170,7 +170,7 @@ feature 'File blob', :js, feature: true do
...
@@ -170,7 +170,7 @@ feature 'File blob', :js, feature: true do
before
do
before
do
find
(
'.js-blob-viewer-switcher .js-blob-viewer-switch-btn[data-viewer=simple]'
).
click
find
(
'.js-blob-viewer-switcher .js-blob-viewer-switch-btn[data-viewer=simple]'
).
click
wait_for_
ajax
wait_for_
requests
end
end
it
'displays an error'
do
it
'displays an error'
do
...
...
spec/features/projects/blobs/edit_spec.rb
View file @
2338785e
...
@@ -18,7 +18,7 @@ feature 'Editing file blob', feature: true, js: true do
...
@@ -18,7 +18,7 @@ feature 'Editing file blob', feature: true, js: true do
end
end
def
edit_and_commit
def
edit_and_commit
wait_for_
ajax
wait_for_
requests
find
(
'.js-edit-blob'
).
click
find
(
'.js-edit-blob'
).
click
execute_script
(
'ace.edit("editor").setValue("class NextFeature\nend\n")'
)
execute_script
(
'ace.edit("editor").setValue("class NextFeature\nend\n")'
)
click_button
'Commit changes'
click_button
'Commit changes'
...
...
spec/features/projects/blobs/user_create_spec.rb
View file @
2338785e
...
@@ -15,7 +15,7 @@ feature 'New blob creation', feature: true, js: true do
...
@@ -15,7 +15,7 @@ feature 'New blob creation', feature: true, js: true do
end
end
def
edit_file
def
edit_file
wait_for_
ajax
wait_for_
requests
fill_in
'file_name'
,
with:
'feature.rb'
fill_in
'file_name'
,
with:
'feature.rb'
execute_script
(
"ace.edit('editor').setValue('
#{
content
}
')"
)
execute_script
(
"ace.edit('editor').setValue('
#{
content
}
')"
)
end
end
...
...
spec/features/projects/commit/cherry_pick_spec.rb
View file @
2338785e
...
@@ -72,11 +72,11 @@ describe 'Cherry-pick Commits' do
...
@@ -72,11 +72,11 @@ describe 'Cherry-pick Commits' do
click_button
'master'
click_button
'master'
end
end
wait_for_
ajax
wait_for_
requests
page
.
within
(
'#modal-cherry-pick-commit .dropdown-menu'
)
do
page
.
within
(
'#modal-cherry-pick-commit .dropdown-menu'
)
do
find
(
'.dropdown-input input'
).
set
(
'feature'
)
find
(
'.dropdown-input input'
).
set
(
'feature'
)
wait_for_
ajax
wait_for_
requests
click_link
"feature"
click_link
"feature"
end
end
...
...
spec/features/projects/commit/mini_pipeline_graph_spec.rb
View file @
2338785e
...
@@ -32,7 +32,7 @@ feature 'Mini Pipeline Graph in Commit View', :js, :feature do
...
@@ -32,7 +32,7 @@ feature 'Mini Pipeline Graph in Commit View', :js, :feature do
it
'should show the builds list when stage is clicked'
do
it
'should show the builds list when stage is clicked'
do
first
(
'.mini-pipeline-graph-dropdown-toggle'
).
click
first
(
'.mini-pipeline-graph-dropdown-toggle'
).
click
wait_for_
ajax
wait_for_
requests
page
.
within
'.js-builds-dropdown-list'
do
page
.
within
'.js-builds-dropdown-list'
do
expect
(
page
).
to
have_selector
(
'.ci-status-icon-running'
)
expect
(
page
).
to
have_selector
(
'.ci-status-icon-running'
)
...
...
spec/features/projects/compare_spec.rb
View file @
2338785e
...
@@ -53,7 +53,7 @@ describe "Compare", js: true do
...
@@ -53,7 +53,7 @@ describe "Compare", js: true do
dropdown
=
find
(
".js-compare-
#{
dropdown_type
}
-dropdown"
)
dropdown
=
find
(
".js-compare-
#{
dropdown_type
}
-dropdown"
)
dropdown
.
find
(
".compare-dropdown-toggle"
).
click
dropdown
.
find
(
".compare-dropdown-toggle"
).
click
dropdown
.
fill_in
(
"Filter by Git revision"
,
with:
selection
)
dropdown
.
fill_in
(
"Filter by Git revision"
,
with:
selection
)
wait_for_
ajax
wait_for_
requests
dropdown
.
find_all
(
"a[data-ref=
\"
#{
selection
}
\"
]"
,
visible:
true
).
last
.
click
dropdown
.
find_all
(
"a[data-ref=
\"
#{
selection
}
\"
]"
,
visible:
true
).
last
.
click
end
end
end
end
spec/features/projects/features_visibility_spec.rb
View file @
2338785e
...
@@ -21,17 +21,17 @@ describe 'Edit Project Settings', feature: true do
...
@@ -21,17 +21,17 @@ describe 'Edit Project Settings', feature: true do
select
'Disabled'
,
from:
"project_project_feature_attributes_
#{
tool_name
}
_access_level"
select
'Disabled'
,
from:
"project_project_feature_attributes_
#{
tool_name
}
_access_level"
click_button
'Save changes'
click_button
'Save changes'
wait_for_
ajax
wait_for_
requests
expect
(
page
).
not_to
have_selector
(
".shortcuts-
#{
shortcut_name
}
"
)
expect
(
page
).
not_to
have_selector
(
".shortcuts-
#{
shortcut_name
}
"
)
select
'Everyone with access'
,
from:
"project_project_feature_attributes_
#{
tool_name
}
_access_level"
select
'Everyone with access'
,
from:
"project_project_feature_attributes_
#{
tool_name
}
_access_level"
click_button
'Save changes'
click_button
'Save changes'
wait_for_
ajax
wait_for_
requests
expect
(
page
).
to
have_selector
(
".shortcuts-
#{
shortcut_name
}
"
)
expect
(
page
).
to
have_selector
(
".shortcuts-
#{
shortcut_name
}
"
)
select
'Only team members'
,
from:
"project_project_feature_attributes_
#{
tool_name
}
_access_level"
select
'Only team members'
,
from:
"project_project_feature_attributes_
#{
tool_name
}
_access_level"
click_button
'Save changes'
click_button
'Save changes'
wait_for_
ajax
wait_for_
requests
expect
(
page
).
to
have_selector
(
".shortcuts-
#{
shortcut_name
}
"
)
expect
(
page
).
to
have_selector
(
".shortcuts-
#{
shortcut_name
}
"
)
sleep
0.1
sleep
0.1
...
@@ -169,7 +169,7 @@ describe 'Edit Project Settings', feature: true do
...
@@ -169,7 +169,7 @@ describe 'Edit Project Settings', feature: true do
select
"Disabled"
,
from:
"project_project_feature_attributes_wiki_access_level"
select
"Disabled"
,
from:
"project_project_feature_attributes_wiki_access_level"
click_button
"Save changes"
click_button
"Save changes"
wait_for_
ajax
wait_for_
requests
visit
namespace_project_path
(
project
.
namespace
,
project
)
visit
namespace_project_path
(
project
.
namespace
,
project
)
...
@@ -182,7 +182,7 @@ describe 'Edit Project Settings', feature: true do
...
@@ -182,7 +182,7 @@ describe 'Edit Project Settings', feature: true do
select
"Disabled"
,
from:
"project_project_feature_attributes_wiki_access_level"
select
"Disabled"
,
from:
"project_project_feature_attributes_wiki_access_level"
click_button
"Save changes"
click_button
"Save changes"
wait_for_
ajax
wait_for_
requests
visit
activity_namespace_project_path
(
project
.
namespace
,
project
)
visit
activity_namespace_project_path
(
project
.
namespace
,
project
)
...
@@ -223,7 +223,7 @@ describe 'Edit Project Settings', feature: true do
...
@@ -223,7 +223,7 @@ describe 'Edit Project Settings', feature: true do
def
save_changes_and_check_activity_tab
def
save_changes_and_check_activity_tab
click_button
"Save changes"
click_button
"Save changes"
wait_for_
ajax
wait_for_
requests
visit
activity_namespace_project_path
(
project
.
namespace
,
project
)
visit
activity_namespace_project_path
(
project
.
namespace
,
project
)
...
...
spec/features/projects/files/browse_files_spec.rb
View file @
2338785e
...
@@ -24,7 +24,7 @@ feature 'user browses project', feature: true, js: true do
...
@@ -24,7 +24,7 @@ feature 'user browses project', feature: true, js: true do
click_link
'files'
click_link
'files'
click_link
'lfs'
click_link
'lfs'
click_link
'lfs_object.iso'
click_link
'lfs_object.iso'
wait_for_
ajax
wait_for_
requests
expect
(
page
).
not_to
have_content
'Download (1.5 MB)'
expect
(
page
).
not_to
have_content
'Download (1.5 MB)'
expect
(
page
).
to
have_content
'version https://git-lfs.github.com/spec/v1'
expect
(
page
).
to
have_content
'version https://git-lfs.github.com/spec/v1'
...
@@ -36,7 +36,7 @@ feature 'user browses project', feature: true, js: true do
...
@@ -36,7 +36,7 @@ feature 'user browses project', feature: true, js: true do
last_commit
=
project
.
repository
.
last_commit_for_path
(
project
.
default_branch
,
'files'
)
last_commit
=
project
.
repository
.
last_commit_for_path
(
project
.
default_branch
,
'files'
)
click_link
'files'
click_link
'files'
wait_for_
ajax
wait_for_
requests
page
.
within
(
'.blob-commit-info'
)
do
page
.
within
(
'.blob-commit-info'
)
do
expect
(
page
).
to
have_content
last_commit
.
short_id
expect
(
page
).
to
have_content
last_commit
.
short_id
...
...
spec/features/projects/files/dockerfile_dropdown_spec.rb
View file @
2338785e
...
@@ -19,14 +19,14 @@ feature 'User wants to add a Dockerfile file', feature: true do
...
@@ -19,14 +19,14 @@ feature 'User wants to add a Dockerfile file', feature: true do
scenario 'user can pick a Dockerfile file from the dropdown', js: true do
scenario 'user can pick a Dockerfile file from the dropdown', js: true do
find('.js-dockerfile-selector').click
find('.js-dockerfile-selector').click
wait_for_
ajax
wait_for_
requests
within '.dockerfile-selector' do
within '.dockerfile-selector' do
find('.dropdown-input-field').set('HTTPd')
find('.dropdown-input-field').set('HTTPd')
find('.dropdown-content li', text: 'HTTPd').click
find('.dropdown-content li', text: 'HTTPd').click
end
end
wait_for_
ajax
wait_for_
requests
expect(page).to have_css('.dockerfile-selector .dropdown-toggle-text', text: 'HTTPd')
expect(page).to have_css('.dockerfile-selector .dropdown-toggle-text', text: 'HTTPd')
expect(page).to have_content('COPY ./ /usr/local/apache2/htdocs/')
expect(page).to have_content('COPY ./ /usr/local/apache2/htdocs/')
...
...
spec/features/projects/files/find_file_keyboard_spec.rb
View file @
2338785e
...
@@ -10,7 +10,7 @@ feature 'Find file keyboard shortcuts', feature: true, js: true do
...
@@ -10,7 +10,7 @@ feature 'Find file keyboard shortcuts', feature: true, js: true do
visit
namespace_project_find_file_path
(
project
.
namespace
,
project
,
project
.
repository
.
root_ref
)
visit
namespace_project_find_file_path
(
project
.
namespace
,
project
,
project
.
repository
.
root_ref
)
wait_for_
ajax
wait_for_
requests
end
end
it
'opens file when pressing enter key'
do
it
'opens file when pressing enter key'
do
...
...
spec/features/projects/files/gitignore_dropdown_spec.rb
View file @
2338785e
...
@@ -15,12 +15,12 @@ feature 'User wants to add a .gitignore file', feature: true do
...
@@ -15,12 +15,12 @@ feature 'User wants to add a .gitignore file', feature: true do
scenario
'user can pick a .gitignore file from the dropdown'
,
js:
true
do
scenario
'user can pick a .gitignore file from the dropdown'
,
js:
true
do
find
(
'.js-gitignore-selector'
).
click
find
(
'.js-gitignore-selector'
).
click
wait_for_
ajax
wait_for_
requests
within
'.gitignore-selector'
do
within
'.gitignore-selector'
do
find
(
'.dropdown-input-field'
).
set
(
'rails'
)
find
(
'.dropdown-input-field'
).
set
(
'rails'
)
find
(
'.dropdown-content li'
,
text:
'Rails'
).
click
find
(
'.dropdown-content li'
,
text:
'Rails'
).
click
end
end
wait_for_
ajax
wait_for_
requests
expect
(
page
).
to
have_css
(
'.gitignore-selector .dropdown-toggle-text'
,
text:
'Rails'
)
expect
(
page
).
to
have_css
(
'.gitignore-selector .dropdown-toggle-text'
,
text:
'Rails'
)
expect
(
page
).
to
have_content
(
'/.bundle'
)
expect
(
page
).
to
have_content
(
'/.bundle'
)
...
...
spec/features/projects/files/gitlab_ci_yml_dropdown_spec.rb
View file @
2338785e
...
@@ -15,12 +15,12 @@ feature 'User wants to add a .gitlab-ci.yml file', feature: true do
...
@@ -15,12 +15,12 @@ feature 'User wants to add a .gitlab-ci.yml file', feature: true do
scenario
'user can pick a template from the dropdown'
,
js:
true
do
scenario
'user can pick a template from the dropdown'
,
js:
true
do
find
(
'.js-gitlab-ci-yml-selector'
).
click
find
(
'.js-gitlab-ci-yml-selector'
).
click
wait_for_
ajax
wait_for_
requests
within
'.gitlab-ci-yml-selector'
do
within
'.gitlab-ci-yml-selector'
do
find
(
'.dropdown-input-field'
).
set
(
'Jekyll'
)
find
(
'.dropdown-input-field'
).
set
(
'Jekyll'
)
find
(
'.dropdown-content li'
,
text:
'Jekyll'
).
click
find
(
'.dropdown-content li'
,
text:
'Jekyll'
).
click
end
end
wait_for_
ajax
wait_for_
requests
expect
(
page
).
to
have_css
(
'.gitlab-ci-yml-selector .dropdown-toggle-text'
,
text:
'Jekyll'
)
expect
(
page
).
to
have_css
(
'.gitlab-ci-yml-selector .dropdown-toggle-text'
,
text:
'Jekyll'
)
expect
(
page
).
to
have_content
(
'This file is a template, and might need editing before it works on your project'
)
expect
(
page
).
to
have_content
(
'This file is a template, and might need editing before it works on your project'
)
...
...
spec/features/projects/files/project_owner_creates_license_file_spec.rb
View file @
2338785e
...
@@ -63,7 +63,7 @@ feature 'project owner creates a license file', feature: true, js: true do
...
@@ -63,7 +63,7 @@ feature 'project owner creates a license file', feature: true, js: true do
page
.
within
(
'.js-license-selector-wrap'
)
do
page
.
within
(
'.js-license-selector-wrap'
)
do
click_button
'Apply a license template'
click_button
'Apply a license template'
click_link
template
click_link
template
wait_for_
ajax
wait_for_
requests
end
end
end
end
end
end
spec/features/projects/files/project_owner_sees_link_to_create_license_file_in_empty_project_spec.rb
View file @
2338785e
...
@@ -40,7 +40,7 @@ feature 'project owner sees a link to create a license file in empty project', f
...
@@ -40,7 +40,7 @@ feature 'project owner sees a link to create a license file in empty project', f
page
.
within
(
'.js-license-selector-wrap'
)
do
page
.
within
(
'.js-license-selector-wrap'
)
do
click_button
'Apply a license template'
click_button
'Apply a license template'
click_link
template
click_link
template
wait_for_
ajax
wait_for_
requests
end
end
end
end
end
end
spec/features/projects/files/undo_template_spec.rb
View file @
2338785e
...
@@ -57,7 +57,7 @@ end
...
@@ -57,7 +57,7 @@ end
def
select_file_template
(
template_selector_selector
,
template_name
)
def
select_file_template
(
template_selector_selector
,
template_name
)
find
(
template_selector_selector
).
click
find
(
template_selector_selector
).
click
find
(
'.dropdown-content li'
,
text:
template_name
).
click
find
(
'.dropdown-content li'
,
text:
template_name
).
click
wait_for_
ajax
wait_for_
requests
end
end
def
select_file_template_type
(
template_type
)
def
select_file_template_type
(
template_type
)
...
...
spec/features/projects/issuable_templates_spec.rb
View file @
2338785e
...
@@ -34,14 +34,14 @@ feature 'issuable templates', feature: true, js: true do
...
@@ -34,14 +34,14 @@ feature 'issuable templates', feature: true, js: true do
scenario
'user selects "bug" template'
do
scenario
'user selects "bug" template'
do
select_template
'bug'
select_template
'bug'
wait_for_
ajax
wait_for_
requests
assert_template
assert_template
save_changes
save_changes
end
end
scenario
'user selects "bug" template and then "no template"'
do
scenario
'user selects "bug" template and then "no template"'
do
select_template
'bug'
select_template
'bug'
wait_for_
ajax
wait_for_
requests
select_option
'No template'
select_option
'No template'
assert_template
(
''
)
assert_template
(
''
)
save_changes
(
''
)
save_changes
(
''
)
...
@@ -49,7 +49,7 @@ feature 'issuable templates', feature: true, js: true do
...
@@ -49,7 +49,7 @@ feature 'issuable templates', feature: true, js: true do
scenario
'user selects "bug" template, edits description and then selects "reset template"'
do
scenario
'user selects "bug" template, edits description and then selects "reset template"'
do
select_template
'bug'
select_template
'bug'
wait_for_
ajax
wait_for_
requests
find_field
(
'issue_description'
).
send_keys
(
description_addition
)
find_field
(
'issue_description'
).
send_keys
(
description_addition
)
assert_template
(
template_content
+
description_addition
)
assert_template
(
template_content
+
description_addition
)
select_option
'Reset template'
select_option
'Reset template'
...
@@ -61,7 +61,7 @@ feature 'issuable templates', feature: true, js: true do
...
@@ -61,7 +61,7 @@ feature 'issuable templates', feature: true, js: true do
start_height
=
page
.
evaluate_script
(
'$(".markdown-area").outerHeight()'
)
start_height
=
page
.
evaluate_script
(
'$(".markdown-area").outerHeight()'
)
select_template
'test'
select_template
'test'
wait_for_
ajax
wait_for_
requests
end_height
=
page
.
evaluate_script
(
'$(".markdown-area").outerHeight()'
)
end_height
=
page
.
evaluate_script
(
'$(".markdown-area").outerHeight()'
)
...
@@ -88,7 +88,7 @@ feature 'issuable templates', feature: true, js: true do
...
@@ -88,7 +88,7 @@ feature 'issuable templates', feature: true, js: true do
scenario
'user selects "bug" template'
do
scenario
'user selects "bug" template'
do
select_template
'bug'
select_template
'bug'
wait_for_
ajax
wait_for_
requests
assert_template
(
"
#{
template_content
}
"
)
assert_template
(
"
#{
template_content
}
"
)
save_changes
save_changes
end
end
...
@@ -111,7 +111,7 @@ feature 'issuable templates', feature: true, js: true do
...
@@ -111,7 +111,7 @@ feature 'issuable templates', feature: true, js: true do
scenario
'user selects "feature-proposal" template'
do
scenario
'user selects "feature-proposal" template'
do
select_template
'feature-proposal'
select_template
'feature-proposal'
wait_for_
ajax
wait_for_
requests
assert_template
assert_template
save_changes
save_changes
end
end
...
@@ -143,7 +143,7 @@ feature 'issuable templates', feature: true, js: true do
...
@@ -143,7 +143,7 @@ feature 'issuable templates', feature: true, js: true do
context
'template exists in target project'
do
context
'template exists in target project'
do
scenario
'user selects template'
do
scenario
'user selects template'
do
select_template
'feature-proposal'
select_template
'feature-proposal'
wait_for_
ajax
wait_for_
requests
assert_template
assert_template
save_changes
save_changes
end
end
...
...
spec/features/projects/labels/update_prioritization_spec.rb
View file @
2338785e
...
@@ -24,7 +24,7 @@ feature 'Prioritize labels', feature: true do
...
@@ -24,7 +24,7 @@ feature 'Prioritize labels', feature: true do
page
.
within
(
'.other-labels'
)
do
page
.
within
(
'.other-labels'
)
do
all
(
'.js-toggle-priority'
)[
1
].
click
all
(
'.js-toggle-priority'
)[
1
].
click
wait_for_
ajax
wait_for_
requests
expect
(
page
).
not_to
have_content
(
'feature'
)
expect
(
page
).
not_to
have_content
(
'feature'
)
end
end
...
@@ -43,7 +43,7 @@ feature 'Prioritize labels', feature: true do
...
@@ -43,7 +43,7 @@ feature 'Prioritize labels', feature: true do
expect
(
page
).
to
have_content
(
'feature'
)
expect
(
page
).
to
have_content
(
'feature'
)
first
(
'.js-toggle-priority'
).
click
first
(
'.js-toggle-priority'
).
click
wait_for_
ajax
wait_for_
requests
expect
(
page
).
not_to
have_content
(
'bug'
)
expect
(
page
).
not_to
have_content
(
'bug'
)
end
end
...
@@ -59,7 +59,7 @@ feature 'Prioritize labels', feature: true do
...
@@ -59,7 +59,7 @@ feature 'Prioritize labels', feature: true do
page
.
within
(
'.other-labels'
)
do
page
.
within
(
'.other-labels'
)
do
first
(
'.js-toggle-priority'
).
click
first
(
'.js-toggle-priority'
).
click
wait_for_
ajax
wait_for_
requests
expect
(
page
).
not_to
have_content
(
'bug'
)
expect
(
page
).
not_to
have_content
(
'bug'
)
end
end
...
@@ -78,7 +78,7 @@ feature 'Prioritize labels', feature: true do
...
@@ -78,7 +78,7 @@ feature 'Prioritize labels', feature: true do
expect
(
page
).
to
have_content
(
'bug'
)
expect
(
page
).
to
have_content
(
'bug'
)
first
(
'.js-toggle-priority'
).
click
first
(
'.js-toggle-priority'
).
click
wait_for_
ajax
wait_for_
requests
expect
(
page
).
not_to
have_content
(
'bug'
)
expect
(
page
).
not_to
have_content
(
'bug'
)
end
end
...
@@ -107,7 +107,7 @@ feature 'Prioritize labels', feature: true do
...
@@ -107,7 +107,7 @@ feature 'Prioritize labels', feature: true do
end
end
refresh
refresh
wait_for_
ajax
wait_for_
requests
page
.
within
(
'.prioritized-labels'
)
do
page
.
within
(
'.prioritized-labels'
)
do
expect
(
first
(
'li'
)).
to
have_content
(
'feature'
)
expect
(
first
(
'li'
)).
to
have_content
(
'feature'
)
...
...
spec/features/projects/members/group_links_spec.rb
View file @
2338785e
...
@@ -20,7 +20,7 @@ feature 'Projects > Members > Anonymous user sees members', feature: true, js: t
...
@@ -20,7 +20,7 @@ feature 'Projects > Members > Anonymous user sees members', feature: true, js: t
click_link
'Guest'
click_link
'Guest'
end
end
wait_for_
ajax
wait_for_
requests
visit
namespace_project_settings_members_path
(
project
.
namespace
,
project
)
visit
namespace_project_settings_members_path
(
project
.
namespace
,
project
)
...
@@ -31,7 +31,7 @@ feature 'Projects > Members > Anonymous user sees members', feature: true, js: t
...
@@ -31,7 +31,7 @@ feature 'Projects > Members > Anonymous user sees members', feature: true, js: t
tomorrow
=
Date
.
today
+
3
tomorrow
=
Date
.
today
+
3
fill_in
"member_expires_at_
#{
group
.
id
}
"
,
with:
tomorrow
.
strftime
(
"%F"
)
fill_in
"member_expires_at_
#{
group
.
id
}
"
,
with:
tomorrow
.
strftime
(
"%F"
)
wait_for_
ajax
wait_for_
requests
page
.
within
(
find
(
'li.group_member'
))
do
page
.
within
(
find
(
'li.group_member'
))
do
expect
(
page
).
to
have_content
(
'Expires in'
)
expect
(
page
).
to
have_content
(
'Expires in'
)
...
@@ -42,7 +42,7 @@ feature 'Projects > Members > Anonymous user sees members', feature: true, js: t
...
@@ -42,7 +42,7 @@ feature 'Projects > Members > Anonymous user sees members', feature: true, js: t
page
.
within
(
first
(
'.group_member'
))
do
page
.
within
(
first
(
'.group_member'
))
do
find
(
'.btn-remove'
).
click
find
(
'.btn-remove'
).
click
end
end
wait_for_
ajax
wait_for_
requests
expect
(
page
).
not_to
have_selector
(
'.group_member'
)
expect
(
page
).
not_to
have_selector
(
'.group_member'
)
end
end
...
...
spec/features/projects/members/master_adds_member_with_expiration_date_spec.rb
View file @
2338785e
...
@@ -38,7 +38,7 @@ feature 'Projects > Members > Master adds member with expiration date', feature:
...
@@ -38,7 +38,7 @@ feature 'Projects > Members > Master adds member with expiration date', feature:
page
.
within
"#project_member_
#{
new_member
.
project_members
.
first
.
id
}
"
do
page
.
within
"#project_member_
#{
new_member
.
project_members
.
first
.
id
}
"
do
find
(
'.js-access-expiration-date'
).
set
date
.
to_s
(
:medium
)
find
(
'.js-access-expiration-date'
).
set
date
.
to_s
(
:medium
)
wait_for_
ajax
wait_for_
requests
expect
(
page
).
to
have_content
(
'Expires in 3 days'
)
expect
(
page
).
to
have_content
(
'Expires in 3 days'
)
end
end
end
end
...
...
spec/features/projects/pipeline_schedules_spec.rb
View file @
2338785e
...
@@ -2,7 +2,6 @@ require 'spec_helper'
...
@@ -2,7 +2,6 @@ require 'spec_helper'
feature
'Pipeline Schedules'
,
:feature
do
feature
'Pipeline Schedules'
,
:feature
do
include
PipelineSchedulesHelper
include
PipelineSchedulesHelper
include
WaitForAjax
let!
(
:project
)
{
create
(
:project
)
}
let!
(
:project
)
{
create
(
:project
)
}
let!
(
:pipeline_schedule
)
{
create
(
:ci_pipeline_schedule
,
project:
project
)
}
let!
(
:pipeline_schedule
)
{
create
(
:ci_pipeline_schedule
,
project:
project
)
}
...
...
spec/features/projects/pipelines/pipelines_spec.rb
View file @
2338785e
require
'spec_helper'
require
'spec_helper'
describe
'Pipelines'
,
:feature
,
:js
do
describe
'Pipelines'
,
:feature
,
:js
do
include
WaitForVueResource
let
(
:project
)
{
create
(
:empty_project
)
}
let
(
:project
)
{
create
(
:empty_project
)
}
context
'when user is logged in'
do
context
'when user is logged in'
do
...
@@ -54,7 +52,7 @@ describe 'Pipelines', :feature, :js do
...
@@ -54,7 +52,7 @@ describe 'Pipelines', :feature, :js do
context
'header tabs'
do
context
'header tabs'
do
before
do
before
do
visit
namespace_project_pipelines_path
(
project
.
namespace
,
project
)
visit
namespace_project_pipelines_path
(
project
.
namespace
,
project
)
wait_for_
vue_resource
wait_for_
requests
end
end
it
'shows a tab for All pipelines and count'
do
it
'shows a tab for All pipelines and count'
do
...
@@ -106,7 +104,7 @@ describe 'Pipelines', :feature, :js do
...
@@ -106,7 +104,7 @@ describe 'Pipelines', :feature, :js do
context
'when canceling'
do
context
'when canceling'
do
before
do
before
do
find
(
'.js-pipelines-cancel-button'
).
click
find
(
'.js-pipelines-cancel-button'
).
click
wait_for_
vue_resource
wait_for_
requests
end
end
it
'indicated that pipelines was canceled'
do
it
'indicated that pipelines was canceled'
do
...
@@ -136,7 +134,7 @@ describe 'Pipelines', :feature, :js do
...
@@ -136,7 +134,7 @@ describe 'Pipelines', :feature, :js do
context
'when retrying'
do
context
'when retrying'
do
before
do
before
do
find
(
'.js-pipelines-retry-button'
).
click
find
(
'.js-pipelines-retry-button'
).
click
wait_for_
vue_resource
wait_for_
requests
end
end
it
'shows running pipeline that is not retryable'
do
it
'shows running pipeline that is not retryable'
do
...
@@ -356,14 +354,14 @@ describe 'Pipelines', :feature, :js do
...
@@ -356,14 +354,14 @@ describe 'Pipelines', :feature, :js do
it
'should render pagination'
do
it
'should render pagination'
do
visit
namespace_project_pipelines_path
(
project
.
namespace
,
project
)
visit
namespace_project_pipelines_path
(
project
.
namespace
,
project
)
wait_for_
vue_resource
wait_for_
requests
expect
(
page
).
to
have_selector
(
'.gl-pagination'
)
expect
(
page
).
to
have_selector
(
'.gl-pagination'
)
end
end
it
'should render second page of pipelines'
do
it
'should render second page of pipelines'
do
visit
namespace_project_pipelines_path
(
project
.
namespace
,
project
,
page:
'2'
)
visit
namespace_project_pipelines_path
(
project
.
namespace
,
project
,
page:
'2'
)
wait_for_
vue_resource
wait_for_
requests
expect
(
page
).
to
have_selector
(
'.gl-pagination .page'
,
count:
2
)
expect
(
page
).
to
have_selector
(
'.gl-pagination .page'
,
count:
2
)
end
end
...
@@ -392,7 +390,7 @@ describe 'Pipelines', :feature, :js do
...
@@ -392,7 +390,7 @@ describe 'Pipelines', :feature, :js do
create
(
:generic_commit_status
,
pipeline:
pipeline
,
stage:
'external'
,
name:
'jenkins'
,
stage_idx:
3
)
create
(
:generic_commit_status
,
pipeline:
pipeline
,
stage:
'external'
,
name:
'jenkins'
,
stage_idx:
3
)
visit
namespace_project_pipeline_path
(
project
.
namespace
,
project
,
pipeline
)
visit
namespace_project_pipeline_path
(
project
.
namespace
,
project
,
pipeline
)
wait_for_
vue_resource
wait_for_
requests
end
end
it
'shows a graph with grouped stages'
do
it
'shows a graph with grouped stages'
do
...
@@ -507,6 +505,6 @@ describe 'Pipelines', :feature, :js do
...
@@ -507,6 +505,6 @@ describe 'Pipelines', :feature, :js do
def
visit_project_pipelines
(
**
query
)
def
visit_project_pipelines
(
**
query
)
visit
namespace_project_pipelines_path
(
project
.
namespace
,
project
,
query
)
visit
namespace_project_pipelines_path
(
project
.
namespace
,
project
,
query
)
wait_for_
vue_resource
wait_for_
requests
end
end
end
end
spec/features/projects/ref_switcher_spec.rb
View file @
2338785e
...
@@ -12,12 +12,12 @@ feature 'Ref switcher', feature: true, js: true do
...
@@ -12,12 +12,12 @@ feature 'Ref switcher', feature: true, js: true do
it
'allow user to change ref by enter key'
do
it
'allow user to change ref by enter key'
do
click_button
'master'
click_button
'master'
wait_for_
ajax
wait_for_
requests
page
.
within
'.project-refs-form'
do
page
.
within
'.project-refs-form'
do
input
=
find
(
'input[type="search"]'
)
input
=
find
(
'input[type="search"]'
)
input
.
set
'binary'
input
.
set
'binary'
wait_for_
ajax
wait_for_
requests
expect
(
find
(
'.dropdown-content ul'
)).
to
have_selector
(
'li'
,
count:
6
)
expect
(
find
(
'.dropdown-content ul'
)).
to
have_selector
(
'li'
,
count:
6
)
...
@@ -31,7 +31,7 @@ feature 'Ref switcher', feature: true, js: true do
...
@@ -31,7 +31,7 @@ feature 'Ref switcher', feature: true, js: true do
it
"user selects ref with special characters"
do
it
"user selects ref with special characters"
do
click_button
'master'
click_button
'master'
wait_for_
ajax
wait_for_
requests
page
.
within
'.project-refs-form'
do
page
.
within
'.project-refs-form'
do
page
.
fill_in
'Search branches and tags'
,
with:
"'test'"
page
.
fill_in
'Search branches and tags'
,
with:
"'test'"
...
...
spec/features/projects/snippets/show_spec.rb
View file @
2338785e
...
@@ -17,7 +17,7 @@ feature 'Project snippet', :js, feature: true do
...
@@ -17,7 +17,7 @@ feature 'Project snippet', :js, feature: true do
before
do
before
do
visit
namespace_project_snippet_path
(
project
.
namespace
,
project
,
snippet
)
visit
namespace_project_snippet_path
(
project
.
namespace
,
project
,
snippet
)
wait_for_
ajax
wait_for_
requests
end
end
it
'displays the blob'
do
it
'displays the blob'
do
...
@@ -48,7 +48,7 @@ feature 'Project snippet', :js, feature: true do
...
@@ -48,7 +48,7 @@ feature 'Project snippet', :js, feature: true do
before
do
before
do
visit
namespace_project_snippet_path
(
project
.
namespace
,
project
,
snippet
)
visit
namespace_project_snippet_path
(
project
.
namespace
,
project
,
snippet
)
wait_for_
ajax
wait_for_
requests
end
end
it
'displays the blob using the rich viewer'
do
it
'displays the blob using the rich viewer'
do
...
@@ -78,7 +78,7 @@ feature 'Project snippet', :js, feature: true do
...
@@ -78,7 +78,7 @@ feature 'Project snippet', :js, feature: true do
before
do
before
do
find
(
'.js-blob-viewer-switch-btn[data-viewer=simple]'
).
click
find
(
'.js-blob-viewer-switch-btn[data-viewer=simple]'
).
click
wait_for_
ajax
wait_for_
requests
end
end
it
'displays the blob using the simple viewer'
do
it
'displays the blob using the simple viewer'
do
...
@@ -99,7 +99,7 @@ feature 'Project snippet', :js, feature: true do
...
@@ -99,7 +99,7 @@ feature 'Project snippet', :js, feature: true do
before
do
before
do
find
(
'.js-blob-viewer-switch-btn[data-viewer=rich]'
).
click
find
(
'.js-blob-viewer-switch-btn[data-viewer=rich]'
).
click
wait_for_
ajax
wait_for_
requests
end
end
it
'displays the blob using the rich viewer'
do
it
'displays the blob using the rich viewer'
do
...
@@ -120,7 +120,7 @@ feature 'Project snippet', :js, feature: true do
...
@@ -120,7 +120,7 @@ feature 'Project snippet', :js, feature: true do
before
do
before
do
visit
namespace_project_snippet_path
(
project
.
namespace
,
project
,
snippet
,
anchor:
'L1'
)
visit
namespace_project_snippet_path
(
project
.
namespace
,
project
,
snippet
,
anchor:
'L1'
)
wait_for_
ajax
wait_for_
requests
end
end
it
'displays the blob using the simple viewer'
do
it
'displays the blob using the simple viewer'
do
...
...
spec/features/projects/view_on_env_spec.rb
View file @
2338785e
...
@@ -54,7 +54,7 @@ describe 'View on environment', js: true do
...
@@ -54,7 +54,7 @@ describe 'View on environment', js: true do
visit
diffs_namespace_project_merge_request_path
(
project
.
namespace
,
project
,
merge_request
)
visit
diffs_namespace_project_merge_request_path
(
project
.
namespace
,
project
,
merge_request
)
wait_for_
ajax
wait_for_
requests
end
end
it
'has a "View on env" button'
do
it
'has a "View on env" button'
do
...
@@ -70,7 +70,7 @@ describe 'View on environment', js: true do
...
@@ -70,7 +70,7 @@ describe 'View on environment', js: true do
visit
namespace_project_compare_path
(
project
.
namespace
,
project
,
from:
'master'
,
to:
branch_name
)
visit
namespace_project_compare_path
(
project
.
namespace
,
project
,
from:
'master'
,
to:
branch_name
)
wait_for_
ajax
wait_for_
requests
end
end
it
'has a "View on env" button'
do
it
'has a "View on env" button'
do
...
@@ -84,7 +84,7 @@ describe 'View on environment', js: true do
...
@@ -84,7 +84,7 @@ describe 'View on environment', js: true do
visit
namespace_project_compare_path
(
project
.
namespace
,
project
,
from:
'master'
,
to:
sha
)
visit
namespace_project_compare_path
(
project
.
namespace
,
project
,
from:
'master'
,
to:
sha
)
wait_for_
ajax
wait_for_
requests
end
end
it
'has a "View on env" button'
do
it
'has a "View on env" button'
do
...
@@ -98,7 +98,7 @@ describe 'View on environment', js: true do
...
@@ -98,7 +98,7 @@ describe 'View on environment', js: true do
visit
namespace_project_blob_path
(
project
.
namespace
,
project
,
File
.
join
(
branch_name
,
file_path
))
visit
namespace_project_blob_path
(
project
.
namespace
,
project
,
File
.
join
(
branch_name
,
file_path
))
wait_for_
ajax
wait_for_
requests
end
end
it
'has a "View on env" button'
do
it
'has a "View on env" button'
do
...
@@ -112,7 +112,7 @@ describe 'View on environment', js: true do
...
@@ -112,7 +112,7 @@ describe 'View on environment', js: true do
visit
namespace_project_blob_path
(
project
.
namespace
,
project
,
File
.
join
(
sha
,
file_path
))
visit
namespace_project_blob_path
(
project
.
namespace
,
project
,
File
.
join
(
sha
,
file_path
))
wait_for_
ajax
wait_for_
requests
end
end
it
'has a "View on env" button'
do
it
'has a "View on env" button'
do
...
@@ -126,7 +126,7 @@ describe 'View on environment', js: true do
...
@@ -126,7 +126,7 @@ describe 'View on environment', js: true do
visit
namespace_project_commit_path
(
project
.
namespace
,
project
,
sha
)
visit
namespace_project_commit_path
(
project
.
namespace
,
project
,
sha
)
wait_for_
ajax
wait_for_
requests
end
end
it
'has a "View on env" button'
do
it
'has a "View on env" button'
do
...
...
spec/features/search_spec.rb
View file @
2338785e
...
@@ -28,7 +28,7 @@ describe "Search", feature: true do
...
@@ -28,7 +28,7 @@ describe "Search", feature: true do
it
'shows group name after filtering'
do
it
'shows group name after filtering'
do
find
(
'.js-search-group-dropdown'
).
trigger
(
'click'
)
find
(
'.js-search-group-dropdown'
).
trigger
(
'click'
)
wait_for_
ajax
wait_for_
requests
page
.
within
'.search-holder'
do
page
.
within
'.search-holder'
do
click_link
group
.
name
click_link
group
.
name
...
@@ -39,7 +39,7 @@ describe "Search", feature: true do
...
@@ -39,7 +39,7 @@ describe "Search", feature: true do
it
'filters by group projects after filtering by group'
do
it
'filters by group projects after filtering by group'
do
find
(
'.js-search-group-dropdown'
).
trigger
(
'click'
)
find
(
'.js-search-group-dropdown'
).
trigger
(
'click'
)
wait_for_
ajax
wait_for_
requests
page
.
within
'.search-holder'
do
page
.
within
'.search-holder'
do
click_link
group
.
name
click_link
group
.
name
...
@@ -49,7 +49,7 @@ describe "Search", feature: true do
...
@@ -49,7 +49,7 @@ describe "Search", feature: true do
page
.
within
(
'.project-filter'
)
do
page
.
within
(
'.project-filter'
)
do
find
(
'.js-search-project-dropdown'
).
trigger
(
'click'
)
find
(
'.js-search-project-dropdown'
).
trigger
(
'click'
)
wait_for_
ajax
wait_for_
requests
expect
(
page
).
to
have_link
(
group_project
.
name_with_namespace
)
expect
(
page
).
to
have_link
(
group_project
.
name_with_namespace
)
end
end
...
@@ -58,7 +58,7 @@ describe "Search", feature: true do
...
@@ -58,7 +58,7 @@ describe "Search", feature: true do
it
'shows project name after filtering'
do
it
'shows project name after filtering'
do
page
.
within
(
'.project-filter'
)
do
page
.
within
(
'.project-filter'
)
do
find
(
'.js-search-project-dropdown'
).
trigger
(
'click'
)
find
(
'.js-search-project-dropdown'
).
trigger
(
'click'
)
wait_for_
ajax
wait_for_
requests
click_link
project
.
name_with_namespace
click_link
project
.
name_with_namespace
end
end
...
...
spec/features/snippets/create_snippet_spec.rb
View file @
2338785e
...
@@ -13,7 +13,7 @@ feature 'Create Snippet', :js, feature: true do
...
@@ -13,7 +13,7 @@ feature 'Create Snippet', :js, feature: true do
end
end
click_button
'Create snippet'
click_button
'Create snippet'
wait_for_
ajax
wait_for_
requests
expect
(
page
).
to
have_content
(
'My Snippet Title'
)
expect
(
page
).
to
have_content
(
'My Snippet Title'
)
expect
(
page
).
to
have_content
(
'Hello World!'
)
expect
(
page
).
to
have_content
(
'Hello World!'
)
...
@@ -27,7 +27,7 @@ feature 'Create Snippet', :js, feature: true do
...
@@ -27,7 +27,7 @@ feature 'Create Snippet', :js, feature: true do
end
end
click_button
'Create snippet'
click_button
'Create snippet'
wait_for_
ajax
wait_for_
requests
expect
(
page
).
to
have_content
(
'My Snippet Title'
)
expect
(
page
).
to
have_content
(
'My Snippet Title'
)
expect
(
page
).
to
have_content
(
'snippet+file+name'
)
expect
(
page
).
to
have_content
(
'snippet+file+name'
)
...
...
spec/features/snippets/notes_on_personal_snippets_spec.rb
View file @
2338785e
...
@@ -93,7 +93,7 @@ describe 'Comments on personal snippets', :js, feature: true do
...
@@ -93,7 +93,7 @@ describe 'Comments on personal snippets', :js, feature: true do
click_on
'Remove comment'
click_on
'Remove comment'
end
end
wait_for_
ajax
wait_for_
requests
expect
(
page
).
not_to
have_selector
(
"#notes-list li#note_
#{
snippet_notes
[
0
].
id
}
"
)
expect
(
page
).
not_to
have_selector
(
"#notes-list li#note_
#{
snippet_notes
[
0
].
id
}
"
)
end
end
...
...
spec/features/snippets/public_snippets_spec.rb
View file @
2338785e
...
@@ -5,7 +5,7 @@ feature 'Public Snippets', :js, feature: true do
...
@@ -5,7 +5,7 @@ feature 'Public Snippets', :js, feature: true do
public_snippet
=
create
(
:personal_snippet
,
:public
)
public_snippet
=
create
(
:personal_snippet
,
:public
)
visit
snippet_path
(
public_snippet
)
visit
snippet_path
(
public_snippet
)
wait_for_
ajax
wait_for_
requests
expect
(
page
).
to
have_content
(
public_snippet
.
content
)
expect
(
page
).
to
have_content
(
public_snippet
.
content
)
end
end
...
...
spec/features/snippets/show_spec.rb
View file @
2338785e
...
@@ -11,7 +11,7 @@ feature 'Snippet', :js, feature: true do
...
@@ -11,7 +11,7 @@ feature 'Snippet', :js, feature: true do
before
do
before
do
visit
snippet_path
(
snippet
)
visit
snippet_path
(
snippet
)
wait_for_
ajax
wait_for_
requests
end
end
it
'displays the blob'
do
it
'displays the blob'
do
...
@@ -42,7 +42,7 @@ feature 'Snippet', :js, feature: true do
...
@@ -42,7 +42,7 @@ feature 'Snippet', :js, feature: true do
before
do
before
do
visit
snippet_path
(
snippet
)
visit
snippet_path
(
snippet
)
wait_for_
ajax
wait_for_
requests
end
end
it
'displays the blob using the rich viewer'
do
it
'displays the blob using the rich viewer'
do
...
@@ -72,7 +72,7 @@ feature 'Snippet', :js, feature: true do
...
@@ -72,7 +72,7 @@ feature 'Snippet', :js, feature: true do
before
do
before
do
find
(
'.js-blob-viewer-switch-btn[data-viewer=simple]'
).
click
find
(
'.js-blob-viewer-switch-btn[data-viewer=simple]'
).
click
wait_for_
ajax
wait_for_
requests
end
end
it
'displays the blob using the simple viewer'
do
it
'displays the blob using the simple viewer'
do
...
@@ -93,7 +93,7 @@ feature 'Snippet', :js, feature: true do
...
@@ -93,7 +93,7 @@ feature 'Snippet', :js, feature: true do
before
do
before
do
find
(
'.js-blob-viewer-switch-btn[data-viewer=rich]'
).
click
find
(
'.js-blob-viewer-switch-btn[data-viewer=rich]'
).
click
wait_for_
ajax
wait_for_
requests
end
end
it
'displays the blob using the rich viewer'
do
it
'displays the blob using the rich viewer'
do
...
@@ -114,7 +114,7 @@ feature 'Snippet', :js, feature: true do
...
@@ -114,7 +114,7 @@ feature 'Snippet', :js, feature: true do
before
do
before
do
visit
snippet_path
(
snippet
,
anchor:
'L1'
)
visit
snippet_path
(
snippet
,
anchor:
'L1'
)
wait_for_
ajax
wait_for_
requests
end
end
it
'displays the blob using the simple viewer'
do
it
'displays the blob using the simple viewer'
do
...
...
spec/features/task_lists_spec.rb
View file @
2338785e
...
@@ -64,13 +64,11 @@ feature 'Task Lists', feature: true do
...
@@ -64,13 +64,11 @@ feature 'Task Lists', feature: true do
describe
'for Issues'
,
feature:
true
do
describe
'for Issues'
,
feature:
true
do
describe
'multiple tasks'
,
js:
true
do
describe
'multiple tasks'
,
js:
true
do
include
WaitForVueResource
let!
(
:issue
)
{
create
(
:issue
,
description:
markdown
,
author:
user
,
project:
project
)
}
let!
(
:issue
)
{
create
(
:issue
,
description:
markdown
,
author:
user
,
project:
project
)
}
it
'renders'
do
it
'renders'
do
visit_issue
(
project
,
issue
)
visit_issue
(
project
,
issue
)
wait_for_
vue_resource
wait_for_
requests
expect
(
page
).
to
have_selector
(
'ul.task-list'
,
count:
1
)
expect
(
page
).
to
have_selector
(
'ul.task-list'
,
count:
1
)
expect
(
page
).
to
have_selector
(
'li.task-list-item'
,
count:
6
)
expect
(
page
).
to
have_selector
(
'li.task-list-item'
,
count:
6
)
...
@@ -79,7 +77,7 @@ feature 'Task Lists', feature: true do
...
@@ -79,7 +77,7 @@ feature 'Task Lists', feature: true do
it
'contains the required selectors'
do
it
'contains the required selectors'
do
visit_issue
(
project
,
issue
)
visit_issue
(
project
,
issue
)
wait_for_
vue_resource
wait_for_
requests
expect
(
page
).
to
have_selector
(
".wiki .task-list .task-list-item .task-list-item-checkbox"
)
expect
(
page
).
to
have_selector
(
".wiki .task-list .task-list-item .task-list-item-checkbox"
)
expect
(
page
).
to
have_selector
(
'a.btn-close'
)
expect
(
page
).
to
have_selector
(
'a.btn-close'
)
...
@@ -87,14 +85,14 @@ feature 'Task Lists', feature: true do
...
@@ -87,14 +85,14 @@ feature 'Task Lists', feature: true do
it
'is only editable by author'
do
it
'is only editable by author'
do
visit_issue
(
project
,
issue
)
visit_issue
(
project
,
issue
)
wait_for_
vue_resource
wait_for_
requests
expect
(
page
).
to
have_selector
(
".wiki .task-list .task-list-item .task-list-item-checkbox"
)
expect
(
page
).
to
have_selector
(
".wiki .task-list .task-list-item .task-list-item-checkbox"
)
logout
(
:user
)
logout
(
:user
)
login_as
(
user2
)
login_as
(
user2
)
visit
current_path
visit
current_path
wait_for_
vue_resource
wait_for_
requests
expect
(
page
).
to
have_selector
(
".wiki .task-list .task-list-item .task-list-item-checkbox"
)
expect
(
page
).
to
have_selector
(
".wiki .task-list .task-list-item .task-list-item-checkbox"
)
end
end
...
@@ -106,13 +104,11 @@ feature 'Task Lists', feature: true do
...
@@ -106,13 +104,11 @@ feature 'Task Lists', feature: true do
end
end
describe
'single incomplete task'
,
js:
true
do
describe
'single incomplete task'
,
js:
true
do
include
WaitForVueResource
let!
(
:issue
)
{
create
(
:issue
,
description:
singleIncompleteMarkdown
,
author:
user
,
project:
project
)
}
let!
(
:issue
)
{
create
(
:issue
,
description:
singleIncompleteMarkdown
,
author:
user
,
project:
project
)
}
it
'renders'
do
it
'renders'
do
visit_issue
(
project
,
issue
)
visit_issue
(
project
,
issue
)
wait_for_
vue_resource
wait_for_
requests
expect
(
page
).
to
have_selector
(
'ul.task-list'
,
count:
1
)
expect
(
page
).
to
have_selector
(
'ul.task-list'
,
count:
1
)
expect
(
page
).
to
have_selector
(
'li.task-list-item'
,
count:
1
)
expect
(
page
).
to
have_selector
(
'li.task-list-item'
,
count:
1
)
...
@@ -127,12 +123,11 @@ feature 'Task Lists', feature: true do
...
@@ -127,12 +123,11 @@ feature 'Task Lists', feature: true do
end
end
describe
'single complete task'
,
js:
true
do
describe
'single complete task'
,
js:
true
do
include
WaitForVueResource
let!
(
:issue
)
{
create
(
:issue
,
description:
singleCompleteMarkdown
,
author:
user
,
project:
project
)
}
let!
(
:issue
)
{
create
(
:issue
,
description:
singleCompleteMarkdown
,
author:
user
,
project:
project
)
}
it
'renders'
do
it
'renders'
do
visit_issue
(
project
,
issue
)
visit_issue
(
project
,
issue
)
wait_for_
vue_resource
wait_for_
requests
expect
(
page
).
to
have_selector
(
'ul.task-list'
,
count:
1
)
expect
(
page
).
to
have_selector
(
'ul.task-list'
,
count:
1
)
expect
(
page
).
to
have_selector
(
'li.task-list-item'
,
count:
1
)
expect
(
page
).
to
have_selector
(
'li.task-list-item'
,
count:
1
)
...
...
spec/features/todos/todos_filtering_spec.rb
View file @
2338785e
...
@@ -28,7 +28,7 @@ describe 'Dashboard > User filters todos', feature: true, js: true do
...
@@ -28,7 +28,7 @@ describe 'Dashboard > User filters todos', feature: true, js: true do
click_link
project_1
.
name_with_namespace
click_link
project_1
.
name_with_namespace
end
end
wait_for_
ajax
wait_for_
requests
expect
(
page
).
to
have_content
project_1
.
name_with_namespace
expect
(
page
).
to
have_content
project_1
.
name_with_namespace
expect
(
page
).
not_to
have_content
project_2
.
name_with_namespace
expect
(
page
).
not_to
have_content
project_2
.
name_with_namespace
...
@@ -43,7 +43,7 @@ describe 'Dashboard > User filters todos', feature: true, js: true do
...
@@ -43,7 +43,7 @@ describe 'Dashboard > User filters todos', feature: true, js: true do
click_link
user_1
.
name
click_link
user_1
.
name
end
end
wait_for_
ajax
wait_for_
requests
expect
(
find
(
'.todos-list'
)).
to
have_content
'merge request'
expect
(
find
(
'.todos-list'
)).
to
have_content
'merge request'
expect
(
find
(
'.todos-list'
)).
not_to
have_content
'issue'
expect
(
find
(
'.todos-list'
)).
not_to
have_content
'issue'
...
@@ -90,7 +90,7 @@ describe 'Dashboard > User filters todos', feature: true, js: true do
...
@@ -90,7 +90,7 @@ describe 'Dashboard > User filters todos', feature: true, js: true do
click_link
'Issue'
click_link
'Issue'
end
end
wait_for_
ajax
wait_for_
requests
expect
(
find
(
'.todos-list'
)).
to
have_content
issue
.
to_reference
expect
(
find
(
'.todos-list'
)).
to
have_content
issue
.
to_reference
expect
(
find
(
'.todos-list'
)).
not_to
have_content
merge_request
.
to_reference
expect
(
find
(
'.todos-list'
)).
not_to
have_content
merge_request
.
to_reference
...
@@ -132,7 +132,7 @@ describe 'Dashboard > User filters todos', feature: true, js: true do
...
@@ -132,7 +132,7 @@ describe 'Dashboard > User filters todos', feature: true, js: true do
click_link
name
click_link
name
end
end
wait_for_
ajax
wait_for_
requests
end
end
def
expect_to_see_action
(
action_name
)
def
expect_to_see_action
(
action_name
)
...
...
spec/features/todos/todos_spec.rb
View file @
2338785e
...
@@ -64,7 +64,7 @@ describe 'Dashboard Todos', feature: true do
...
@@ -64,7 +64,7 @@ describe 'Dashboard Todos', feature: true do
before
do
before
do
within
first
(
'.todo'
)
do
within
first
(
'.todo'
)
do
click_link
'Done'
click_link
'Done'
wait_for_
ajax
wait_for_
requests
click_link
'Undo'
click_link
'Undo'
end
end
end
end
...
@@ -309,9 +309,9 @@ describe 'Dashboard Todos', feature: true do
...
@@ -309,9 +309,9 @@ describe 'Dashboard Todos', feature: true do
def
mark_all_and_undo
def
mark_all_and_undo
find
(
'.js-todos-mark-all'
).
trigger
(
'click'
)
find
(
'.js-todos-mark-all'
).
trigger
(
'click'
)
wait_for_
ajax
wait_for_
requests
find
(
'.js-todos-undo-all'
).
trigger
(
'click'
)
find
(
'.js-todos-undo-all'
).
trigger
(
'click'
)
wait_for_
ajax
wait_for_
requests
end
end
end
end
end
end
...
...
spec/features/u2f_spec.rb
View file @
2338785e
...
@@ -6,7 +6,7 @@ feature 'Using U2F (Universal 2nd Factor) Devices for Authentication', :js do
...
@@ -6,7 +6,7 @@ feature 'Using U2F (Universal 2nd Factor) Devices for Authentication', :js do
def
manage_two_factor_authentication
def
manage_two_factor_authentication
click_on
'Manage two-factor authentication'
click_on
'Manage two-factor authentication'
expect
(
page
).
to
have_content
(
"Setup new U2F device"
)
expect
(
page
).
to
have_content
(
"Setup new U2F device"
)
wait_for_
ajax
wait_for_
requests
end
end
def
register_u2f_device
(
u2f_device
=
nil
,
name:
'My device'
)
def
register_u2f_device
(
u2f_device
=
nil
,
name:
'My device'
)
...
...
spec/features/uploads/user_uploads_file_to_note_spec.rb
View file @
2338785e
...
@@ -64,7 +64,7 @@ feature 'User uploads file to note', feature: true do
...
@@ -64,7 +64,7 @@ feature 'User uploads file to note', feature: true do
context
'uploading is complete'
do
context
'uploading is complete'
do
it
'shows "Attach a file" button on uploading complete'
,
js:
true
do
it
'shows "Attach a file" button on uploading complete'
,
js:
true
do
dropzone_file
([
Rails
.
root
.
join
(
'spec'
,
'fixtures'
,
'dk.png'
)])
dropzone_file
([
Rails
.
root
.
join
(
'spec'
,
'fixtures'
,
'dk.png'
)])
wait_for_
ajax
wait_for_
requests
expect
(
page
).
to
have_button
(
'Attach a file'
)
expect
(
page
).
to
have_button
(
'Attach a file'
)
expect
(
page
).
not_to
have_selector
(
'.uploading-progress-container'
,
visible:
true
)
expect
(
page
).
not_to
have_selector
(
'.uploading-progress-container'
,
visible:
true
)
...
@@ -73,7 +73,7 @@ feature 'User uploads file to note', feature: true do
...
@@ -73,7 +73,7 @@ feature 'User uploads file to note', feature: true do
scenario
'they see the attached file'
,
js:
true
do
scenario
'they see the attached file'
,
js:
true
do
dropzone_file
([
Rails
.
root
.
join
(
'spec'
,
'fixtures'
,
'dk.png'
)])
dropzone_file
([
Rails
.
root
.
join
(
'spec'
,
'fixtures'
,
'dk.png'
)])
click_button
'Comment'
click_button
'Comment'
wait_for_
ajax
wait_for_
requests
expect
(
find
(
'a.no-attachment-icon img[alt="dk"]'
)[
'src'
])
expect
(
find
(
'a.no-attachment-icon img[alt="dk"]'
)[
'src'
])
.
to
match
(
%r{/
#{
project
.
full_path
}
/uploads/
\h
{32}/dk
\.
png$}
)
.
to
match
(
%r{/
#{
project
.
full_path
}
/uploads/
\h
{32}/dk
\.
png$}
)
...
...
spec/features/users/projects_spec.rb
View file @
2338785e
...
@@ -16,7 +16,7 @@ describe 'Projects tab on a user profile', :feature, :js do
...
@@ -16,7 +16,7 @@ describe 'Projects tab on a user profile', :feature, :js do
click_link
(
'Personal projects'
)
click_link
(
'Personal projects'
)
end
end
wait_for_
ajax
wait_for_
requests
end
end
it
'paginates results'
do
it
'paginates results'
do
...
...
spec/features/users/snippets_spec.rb
View file @
2338785e
...
@@ -11,7 +11,7 @@ describe 'Snippets tab on a user profile', feature: true, js: true do
...
@@ -11,7 +11,7 @@ describe 'Snippets tab on a user profile', feature: true, js: true do
allow
(
Snippet
).
to
receive
(
:default_per_page
).
and_return
(
1
)
allow
(
Snippet
).
to
receive
(
:default_per_page
).
and_return
(
1
)
visit
user_path
(
user
)
visit
user_path
(
user
)
page
.
within
(
'.user-profile-nav'
)
{
click_link
'Snippets'
}
page
.
within
(
'.user-profile-nav'
)
{
click_link
'Snippets'
}
wait_for_
ajax
wait_for_
requests
end
end
it_behaves_like
'paginated snippets'
,
remote:
true
it_behaves_like
'paginated snippets'
,
remote:
true
...
@@ -27,7 +27,7 @@ describe 'Snippets tab on a user profile', feature: true, js: true do
...
@@ -27,7 +27,7 @@ describe 'Snippets tab on a user profile', feature: true, js: true do
login_as
(
:user
)
login_as
(
:user
)
visit
user_path
(
user
)
visit
user_path
(
user
)
page
.
within
(
'.user-profile-nav'
)
{
click_link
'Snippets'
}
page
.
within
(
'.user-profile-nav'
)
{
click_link
'Snippets'
}
wait_for_
ajax
wait_for_
requests
expect
(
page
).
to
have_selector
(
'.snippet-row'
,
count:
2
)
expect
(
page
).
to
have_selector
(
'.snippet-row'
,
count:
2
)
...
@@ -38,7 +38,7 @@ describe 'Snippets tab on a user profile', feature: true, js: true do
...
@@ -38,7 +38,7 @@ describe 'Snippets tab on a user profile', feature: true, js: true do
it
'contains only public snippets of a user when a user is not logged in'
do
it
'contains only public snippets of a user when a user is not logged in'
do
visit
user_path
(
user
)
visit
user_path
(
user
)
page
.
within
(
'.user-profile-nav'
)
{
click_link
'Snippets'
}
page
.
within
(
'.user-profile-nav'
)
{
click_link
'Snippets'
}
wait_for_
ajax
wait_for_
requests
expect
(
page
).
to
have_selector
(
'.snippet-row'
,
count:
1
)
expect
(
page
).
to
have_selector
(
'.snippet-row'
,
count:
1
)
expect
(
page
).
to
have_content
(
public_snippet
.
title
)
expect
(
page
).
to
have_content
(
public_snippet
.
title
)
...
...
spec/features/users_spec.rb
View file @
2338785e
...
@@ -78,25 +78,25 @@ feature 'Users', feature: true, js: true do
...
@@ -78,25 +78,25 @@ feature 'Users', feature: true, js: true do
scenario
'doesn\'t show an error border if the username is available'
do
scenario
'doesn\'t show an error border if the username is available'
do
fill_in
username_input
,
with:
'new-user'
fill_in
username_input
,
with:
'new-user'
wait_for_
ajax
wait_for_
requests
expect
(
find
(
'.username'
)).
not_to
have_css
'.gl-field-error-outline'
expect
(
find
(
'.username'
)).
not_to
have_css
'.gl-field-error-outline'
end
end
scenario
'does not show an error border if the username contains dots (.)'
do
scenario
'does not show an error border if the username contains dots (.)'
do
fill_in
username_input
,
with:
'new.user.username'
fill_in
username_input
,
with:
'new.user.username'
wait_for_
ajax
wait_for_
requests
expect
(
find
(
'.username'
)).
not_to
have_css
'.gl-field-error-outline'
expect
(
find
(
'.username'
)).
not_to
have_css
'.gl-field-error-outline'
end
end
scenario
'shows an error border if the username already exists'
do
scenario
'shows an error border if the username already exists'
do
fill_in
username_input
,
with:
user
.
username
fill_in
username_input
,
with:
user
.
username
wait_for_
ajax
wait_for_
requests
expect
(
find
(
'.username'
)).
to
have_css
'.gl-field-error-outline'
expect
(
find
(
'.username'
)).
to
have_css
'.gl-field-error-outline'
end
end
scenario
'shows an error border if the username contains special characters'
do
scenario
'shows an error border if the username contains special characters'
do
fill_in
username_input
,
with:
'new$user!username'
fill_in
username_input
,
with:
'new$user!username'
wait_for_
ajax
wait_for_
requests
expect
(
find
(
'.username'
)).
to
have_css
'.gl-field-error-outline'
expect
(
find
(
'.username'
)).
to
have_css
'.gl-field-error-outline'
end
end
end
end
...
...
spec/spec_helper.rb
View file @
2338785e
...
@@ -44,7 +44,6 @@ RSpec.configure do |config|
...
@@ -44,7 +44,6 @@ RSpec.configure do |config|
config
.
include
LoginHelpers
,
type: :feature
config
.
include
LoginHelpers
,
type: :feature
config
.
include
SearchHelpers
,
type: :feature
config
.
include
SearchHelpers
,
type: :feature
config
.
include
WaitForRequests
,
:js
config
.
include
WaitForRequests
,
:js
config
.
include
WaitForAjax
,
:js
config
.
include
StubConfiguration
config
.
include
StubConfiguration
config
.
include
EmailHelpers
,
type: :mailer
config
.
include
EmailHelpers
,
type: :mailer
config
.
include
TestEnv
config
.
include
TestEnv
...
...
spec/support/features/issuable_slash_commands_shared_examples.rb
View file @
2338785e
...
@@ -22,7 +22,7 @@ shared_examples 'issuable record that supports slash commands in its description
...
@@ -22,7 +22,7 @@ shared_examples 'issuable record that supports slash commands in its description
after
do
after
do
# Ensure all outstanding Ajax requests are complete to avoid database deadlocks
# Ensure all outstanding Ajax requests are complete to avoid database deadlocks
wait_for_
ajax
wait_for_
requests
end
end
describe
"new
#{
issuable_type
}
"
,
js:
true
do
describe
"new
#{
issuable_type
}
"
,
js:
true
do
...
@@ -58,7 +58,7 @@ shared_examples 'issuable record that supports slash commands in its description
...
@@ -58,7 +58,7 @@ shared_examples 'issuable record that supports slash commands in its description
expect
(
page
).
not_to
have_content
'/label ~bug'
expect
(
page
).
not_to
have_content
'/label ~bug'
expect
(
page
).
not_to
have_content
'/milestone %"ASAP"'
expect
(
page
).
not_to
have_content
'/milestone %"ASAP"'
wait_for_
ajax
wait_for_
requests
issuable
.
reload
issuable
.
reload
note
=
issuable
.
notes
.
user
.
first
note
=
issuable
.
notes
.
user
.
first
...
...
spec/support/protected_branches/access_control_ce_shared_examples.rb
View file @
2338785e
...
@@ -38,7 +38,7 @@ RSpec.shared_examples "protected branches > access control > CE" do
...
@@ -38,7 +38,7 @@ RSpec.shared_examples "protected branches > access control > CE" do
end
end
end
end
wait_for_
ajax
wait_for_
requests
expect
(
ProtectedBranch
.
last
.
push_access_levels
.
map
(
&
:access_level
)).
to
include
(
access_type_id
)
expect
(
ProtectedBranch
.
last
.
push_access_levels
.
map
(
&
:access_level
)).
to
include
(
access_type_id
)
end
end
...
@@ -83,7 +83,7 @@ RSpec.shared_examples "protected branches > access control > CE" do
...
@@ -83,7 +83,7 @@ RSpec.shared_examples "protected branches > access control > CE" do
end
end
end
end
wait_for_
ajax
wait_for_
requests
expect
(
ProtectedBranch
.
last
.
merge_access_levels
.
map
(
&
:access_level
)).
to
include
(
access_type_id
)
expect
(
ProtectedBranch
.
last
.
merge_access_levels
.
map
(
&
:access_level
)).
to
include
(
access_type_id
)
end
end
...
...
spec/support/protected_tags/access_control_ce_shared_examples.rb
View file @
2338785e
...
@@ -39,7 +39,7 @@ RSpec.shared_examples "protected tags > access control > CE" do
...
@@ -39,7 +39,7 @@ RSpec.shared_examples "protected tags > access control > CE" do
end
end
end
end
wait_for_
ajax
wait_for_
requests
expect
(
ProtectedTag
.
last
.
create_access_levels
.
map
(
&
:access_level
)).
to
include
(
access_type_id
)
expect
(
ProtectedTag
.
last
.
create_access_levels
.
map
(
&
:access_level
)).
to
include
(
access_type_id
)
end
end
...
...
spec/support/snippets_shared_examples.rb
View file @
2338785e
...
@@ -7,7 +7,7 @@ RSpec.shared_examples 'paginated snippets' do |remote: false|
...
@@ -7,7 +7,7 @@ RSpec.shared_examples 'paginated snippets' do |remote: false|
context
'clicking on the link to the second page'
do
context
'clicking on the link to the second page'
do
before
do
before
do
click_link
(
'2'
)
click_link
(
'2'
)
wait_for_
ajax
if
remote
wait_for_
requests
if
remote
end
end
it
'shows the remaining snippets'
do
it
'shows the remaining snippets'
do
...
...
spec/support/target_branch_helpers.rb
View file @
2338785e
module
TargetBranchHelpers
module
TargetBranchHelpers
def
select_branch
(
name
)
def
select_branch
(
name
)
first
(
'button.js-target-branch'
).
click
first
(
'button.js-target-branch'
).
click
wait_for_
ajax
wait_for_
requests
all
(
'a[data-group="Branches"]'
).
find
do
|
el
|
all
(
'a[data-group="Branches"]'
).
find
do
|
el
|
el
.
text
==
name
el
.
text
==
name
end
.
click
end
.
click
...
...
spec/support/time_tracking_shared_examples.rb
View file @
2338785e
...
@@ -8,7 +8,7 @@ shared_examples 'issuable time tracker' do
...
@@ -8,7 +8,7 @@ shared_examples 'issuable time tracker' do
it
'updates the sidebar component when estimate is added'
do
it
'updates the sidebar component when estimate is added'
do
submit_time
(
'/estimate 3w 1d 1h'
)
submit_time
(
'/estimate 3w 1d 1h'
)
wait_for_
ajax
wait_for_
requests
page
.
within
'.time-tracking-estimate-only-pane'
do
page
.
within
'.time-tracking-estimate-only-pane'
do
expect
(
page
).
to
have_content
'3w 1d 1h'
expect
(
page
).
to
have_content
'3w 1d 1h'
end
end
...
@@ -17,7 +17,7 @@ shared_examples 'issuable time tracker' do
...
@@ -17,7 +17,7 @@ shared_examples 'issuable time tracker' do
it
'updates the sidebar component when spent is added'
do
it
'updates the sidebar component when spent is added'
do
submit_time
(
'/spend 3w 1d 1h'
)
submit_time
(
'/spend 3w 1d 1h'
)
wait_for_
ajax
wait_for_
requests
page
.
within
'.time-tracking-spend-only-pane'
do
page
.
within
'.time-tracking-spend-only-pane'
do
expect
(
page
).
to
have_content
'3w 1d 1h'
expect
(
page
).
to
have_content
'3w 1d 1h'
end
end
...
@@ -27,7 +27,7 @@ shared_examples 'issuable time tracker' do
...
@@ -27,7 +27,7 @@ shared_examples 'issuable time tracker' do
submit_time
(
'/estimate 3w 1d 1h'
)
submit_time
(
'/estimate 3w 1d 1h'
)
submit_time
(
'/spend 3w 1d 1h'
)
submit_time
(
'/spend 3w 1d 1h'
)
wait_for_
ajax
wait_for_
requests
page
.
within
'.time-tracking-comparison-pane'
do
page
.
within
'.time-tracking-comparison-pane'
do
expect
(
page
).
to
have_content
'3w 1d 1h'
expect
(
page
).
to
have_content
'3w 1d 1h'
end
end
...
@@ -81,5 +81,5 @@ end
...
@@ -81,5 +81,5 @@ end
def
submit_time
(
slash_command
)
def
submit_time
(
slash_command
)
fill_in
'note[note]'
,
with:
slash_command
fill_in
'note[note]'
,
with:
slash_command
find
(
'.js-comment-submit-button'
).
trigger
(
'click'
)
find
(
'.js-comment-submit-button'
).
trigger
(
'click'
)
wait_for_
ajax
wait_for_
requests
end
end
spec/support/wait_for_ajax.rb
deleted
100644 → 0
View file @
7f31768a
module
WaitForAjax
def
wait_for_ajax
Timeout
.
timeout
(
Capybara
.
default_max_wait_time
)
do
loop
until
finished_all_ajax_requests?
end
end
def
finished_all_ajax_requests?
return
true
unless
javascript_test?
return
true
if
page
.
evaluate_script
(
'typeof jQuery === "undefined"'
)
page
.
evaluate_script
(
'jQuery.active'
).
zero?
end
def
javascript_test?
Capybara
.
current_driver
==
Capybara
.
javascript_driver
end
end
spec/support/wait_for_requests.rb
View file @
2338785e
require_relative
'./wait_for_ajax'
require_relative
'./wait_for_requests'
require_relative
'./wait_for_vue_resource'
module
WaitForRequests
module
WaitForRequests
extend
self
extend
self
include
WaitForAjax
include
WaitForVueResource
# This is inspired by http://www.salsify.com/blog/engineering/tearing-capybara-ajax-tests
# This is inspired by http://www.salsify.com/blog/engineering/tearing-capybara-ajax-tests
def
wait_for_requests_complete
def
block_and_
wait_for_requests_complete
Gitlab
::
Testing
::
RequestBlockerMiddleware
.
block_requests!
Gitlab
::
Testing
::
RequestBlockerMiddleware
.
block_requests!
wait_for
(
'pending
AJAX
requests complete'
)
do
wait_for
(
'pending requests complete'
)
do
Gitlab
::
Testing
::
RequestBlockerMiddleware
.
num_active_requests
.
zero?
Gitlab
::
Testing
::
RequestBlockerMiddleware
.
num_active_requests
.
zero?
end
end
ensure
ensure
Gitlab
::
Testing
::
RequestBlockerMiddleware
.
allow_requests!
Gitlab
::
Testing
::
RequestBlockerMiddleware
.
allow_requests!
end
end
def
wait_for_requests
wait_for
(
'JS requests'
)
{
finished_all_requests?
}
end
private
def
finished_all_requests?
return
true
unless
javascript_test?
finished_all_ajax_requests?
&&
finished_all_vue_resource_requests?
end
# Waits until the passed block returns true
# Waits until the passed block returns true
def
wait_for
(
condition_name
,
max_wait_time:
Capybara
.
default_max_wait_time
,
polling_interval:
0.01
)
def
wait_for
(
condition_name
,
max_wait_time:
Capybara
.
default_max_wait_time
,
polling_interval:
0.01
)
wait_until
=
Time
.
now
+
max_wait_time
.
seconds
wait_until
=
Time
.
now
+
max_wait_time
.
seconds
...
@@ -28,10 +38,24 @@ module WaitForRequests
...
@@ -28,10 +38,24 @@ module WaitForRequests
end
end
end
end
end
end
def
finished_all_vue_resource_requests?
page
.
evaluate_script
(
'window.activeVueResources || 0'
).
zero?
end
def
finished_all_ajax_requests?
return
true
if
page
.
evaluate_script
(
'typeof jQuery === "undefined"'
)
page
.
evaluate_script
(
'jQuery.active'
).
zero?
end
def
javascript_test?
Capybara
.
current_driver
==
Capybara
.
javascript_driver
end
end
end
RSpec
.
configure
do
|
config
|
RSpec
.
configure
do
|
config
|
config
.
after
(
:each
,
:js
)
do
config
.
after
(
:each
,
:js
)
do
wait_for_requests_complete
block_and_
wait_for_requests_complete
end
end
end
end
spec/support/wait_for_vue_resource.rb
deleted
100644 → 0
View file @
7f31768a
module
WaitForVueResource
def
wait_for_vue_resource
(
spinner:
true
)
Timeout
.
timeout
(
Capybara
.
default_max_wait_time
)
do
loop
until
finished_all_vue_resource_requests?
end
end
private
def
finished_all_vue_resource_requests?
return
true
unless
javascript_test?
page
.
evaluate_script
(
'window.activeVueResources || 0'
).
zero?
end
def
javascript_test?
Capybara
.
current_driver
==
Capybara
.
javascript_driver
end
end
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment