From 3ee3cb24d44e8a9a1284fbd0944b9fcfb938c494 Mon Sep 17 00:00:00 2001 From: Robert Speicher Date: Wed, 24 Jun 2015 18:07:29 -0400 Subject: Allow user to filter by Issues/Merge Requests without a Milestone --- spec/features/issues/filter_by_milestone_spec.rb | 38 ++++++++++++++++++++++ .../merge_requests/filter_by_milestone_spec.rb | 38 ++++++++++++++++++++++ 2 files changed, 76 insertions(+) create mode 100644 spec/features/issues/filter_by_milestone_spec.rb create mode 100644 spec/features/merge_requests/filter_by_milestone_spec.rb (limited to 'spec') diff --git a/spec/features/issues/filter_by_milestone_spec.rb b/spec/features/issues/filter_by_milestone_spec.rb new file mode 100644 index 00000000000..ad8adf4d372 --- /dev/null +++ b/spec/features/issues/filter_by_milestone_spec.rb @@ -0,0 +1,38 @@ +require 'spec_helper' + +feature 'Issue filtering by Milestone' do + include Select2Helper + + let(:project) { create(:empty_project) } + + before do + login_as(:admin) + end + + scenario 'User filters by Issues without a Milestone', js: true do + create(:issue, project: project) + + visit_issues + filter_by_milestone(NoMilestone.title) + + expect(page).to have_css('.issue-title', count: 1) + end + + scenario 'User filters by Issues with a specific Milestone', js: true do + milestone = create(:milestone, project: project) + create(:issue, project: project, milestone: milestone) + + visit_issues + filter_by_milestone(milestone.title) + + expect(page).to have_css('.issue-title', count: 1) + end + + def visit_issues + visit namespace_project_issues_path(project.namespace, project) + end + + def filter_by_milestone(title) + select2(title, from: '#milestone_title') + end +end diff --git a/spec/features/merge_requests/filter_by_milestone_spec.rb b/spec/features/merge_requests/filter_by_milestone_spec.rb new file mode 100644 index 00000000000..56a9603f139 --- /dev/null +++ b/spec/features/merge_requests/filter_by_milestone_spec.rb @@ -0,0 +1,38 @@ +require 'spec_helper' + +feature 'Merge Request filtering by Milestone' do + include Select2Helper + + let(:project) { create(:project) } + + before do + login_as(:admin) + end + + scenario 'User filters by Merge Requests without a Milestone', js: true do + create(:merge_request, :simple, source_project: project) + + visit_merge_requests + filter_by_milestone(NoMilestone.title) + + expect(page).to have_css('.merge-request-title', count: 1) + end + + scenario 'User filters by Merge Requests with a specific Milestone', js: true do + milestone = create(:milestone, project: project) + create(:merge_request, :simple, source_project: project, milestone: milestone) + + visit_merge_requests + filter_by_milestone(milestone.title) + + expect(page).to have_css('.merge-request-title', count: 1) + end + + def visit_merge_requests + visit namespace_project_merge_requests_path(project.namespace, project) + end + + def filter_by_milestone(title) + select2(title, from: '#milestone_title') + end +end -- cgit v1.2.1 From cfd813402deb631bdc4db9af68c6366ff1179f4a Mon Sep 17 00:00:00 2001 From: Robert Speicher Date: Wed, 24 Jun 2015 21:47:20 -0400 Subject: Remove duplicate feature spec for filtering issues by no milestone --- spec/features/issues_spec.rb | 16 ---------------- 1 file changed, 16 deletions(-) (limited to 'spec') diff --git a/spec/features/issues_spec.rb b/spec/features/issues_spec.rb index 808a6eeb958..32fd4065bb4 100644 --- a/spec/features/issues_spec.rb +++ b/spec/features/issues_spec.rb @@ -92,22 +92,6 @@ describe 'Issues', feature: true do let(:issue) { @issue } - it 'should allow filtering by issues with no specified milestone' do - visit namespace_project_issues_path(project.namespace, project, milestone_title: IssuableFinder::NONE) - - expect(page).not_to have_content 'foobar' - expect(page).to have_content 'barbaz' - expect(page).to have_content 'gitlab' - end - - it 'should allow filtering by a specified milestone' do - visit namespace_project_issues_path(project.namespace, project, milestone_title: issue.milestone.title) - - expect(page).to have_content 'foobar' - expect(page).not_to have_content 'barbaz' - expect(page).not_to have_content 'gitlab' - end - it 'should allow filtering by issues with no specified assignee' do visit namespace_project_issues_path(project.namespace, project, assignee_id: IssuableFinder::NONE) -- cgit v1.2.1 From d00cb00d6b62c561da79b3fc0eab579364b3e91c Mon Sep 17 00:00:00 2001 From: Robert Speicher Date: Sun, 28 Jun 2015 16:12:32 -0400 Subject: Rename NoMilestone to Milestone::None Also refactors IssuableFinder to avoid redundant title check. --- spec/features/issues/filter_by_milestone_spec.rb | 2 +- spec/features/merge_requests/filter_by_milestone_spec.rb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'spec') diff --git a/spec/features/issues/filter_by_milestone_spec.rb b/spec/features/issues/filter_by_milestone_spec.rb index ad8adf4d372..284e38a1a09 100644 --- a/spec/features/issues/filter_by_milestone_spec.rb +++ b/spec/features/issues/filter_by_milestone_spec.rb @@ -13,7 +13,7 @@ feature 'Issue filtering by Milestone' do create(:issue, project: project) visit_issues - filter_by_milestone(NoMilestone.title) + filter_by_milestone(Milestone::None.title) expect(page).to have_css('.issue-title', count: 1) end diff --git a/spec/features/merge_requests/filter_by_milestone_spec.rb b/spec/features/merge_requests/filter_by_milestone_spec.rb index 56a9603f139..308d8101bdd 100644 --- a/spec/features/merge_requests/filter_by_milestone_spec.rb +++ b/spec/features/merge_requests/filter_by_milestone_spec.rb @@ -13,7 +13,7 @@ feature 'Merge Request filtering by Milestone' do create(:merge_request, :simple, source_project: project) visit_merge_requests - filter_by_milestone(NoMilestone.title) + filter_by_milestone(Milestone::None.title) expect(page).to have_css('.merge-request-title', count: 1) end -- cgit v1.2.1 From 4b4351a18c5cc31cc1365b24b8c00360730cd100 Mon Sep 17 00:00:00 2001 From: Robert Speicher Date: Sun, 28 Jun 2015 16:19:52 -0400 Subject: Add `feature` tag to feature specs Not to be confused with the RSpec `type: :feature` tag, this tag is used by the `spec:feature` Rake task for filtering/grouping specs. --- spec/features/groups_spec.rb | 2 +- spec/features/issues/filter_by_milestone_spec.rb | 4 ++-- spec/features/login_spec.rb | 2 +- spec/features/markdown_spec.rb | 2 +- spec/features/merge_requests/filter_by_milestone_spec.rb | 2 +- spec/features/notes_on_merge_requests_spec.rb | 2 +- spec/features/password_reset_spec.rb | 2 +- spec/features/profiles/preferences_spec.rb | 2 +- spec/features/projects_spec.rb | 2 +- spec/features/users_spec.rb | 2 +- 10 files changed, 11 insertions(+), 11 deletions(-) (limited to 'spec') diff --git a/spec/features/groups_spec.rb b/spec/features/groups_spec.rb index edc1c63a0aa..891df65216d 100644 --- a/spec/features/groups_spec.rb +++ b/spec/features/groups_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper' -feature 'Group' do +feature 'Group', feature: true do describe 'description' do let(:group) { create(:group) } let(:path) { group_path(group) } diff --git a/spec/features/issues/filter_by_milestone_spec.rb b/spec/features/issues/filter_by_milestone_spec.rb index 284e38a1a09..575ce23bb67 100644 --- a/spec/features/issues/filter_by_milestone_spec.rb +++ b/spec/features/issues/filter_by_milestone_spec.rb @@ -1,9 +1,9 @@ require 'spec_helper' -feature 'Issue filtering by Milestone' do +feature 'Issue filtering by Milestone', feature: true do include Select2Helper - let(:project) { create(:empty_project) } + let(:project) { create(:project) } before do login_as(:admin) diff --git a/spec/features/login_spec.rb b/spec/features/login_spec.rb index 046a9f6191d..cef432e512b 100644 --- a/spec/features/login_spec.rb +++ b/spec/features/login_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper' -feature 'Login' do +feature 'Login', feature: true do describe 'with two-factor authentication' do context 'with valid username/password' do let(:user) { create(:user, :two_factor) } diff --git a/spec/features/markdown_spec.rb b/spec/features/markdown_spec.rb index 902968cebcb..b8199aa5e61 100644 --- a/spec/features/markdown_spec.rb +++ b/spec/features/markdown_spec.rb @@ -32,7 +32,7 @@ require 'erb' # # See the MarkdownFeature class for setup details. -describe 'GitLab Markdown' do +describe 'GitLab Markdown', feature: true do include ActionView::Helpers::TagHelper include ActionView::Helpers::UrlHelper include Capybara::Node::Matchers diff --git a/spec/features/merge_requests/filter_by_milestone_spec.rb b/spec/features/merge_requests/filter_by_milestone_spec.rb index 308d8101bdd..79b226bcd86 100644 --- a/spec/features/merge_requests/filter_by_milestone_spec.rb +++ b/spec/features/merge_requests/filter_by_milestone_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper' -feature 'Merge Request filtering by Milestone' do +feature 'Merge Request filtering by Milestone', feature: true do include Select2Helper let(:project) { create(:project) } diff --git a/spec/features/notes_on_merge_requests_spec.rb b/spec/features/notes_on_merge_requests_spec.rb index ad37b589b84..d7cb3b2e86e 100644 --- a/spec/features/notes_on_merge_requests_spec.rb +++ b/spec/features/notes_on_merge_requests_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper' -describe 'Comments' do +describe 'Comments', feature: true do include RepoHelpers describe 'On a merge request', js: true, feature: true do diff --git a/spec/features/password_reset_spec.rb b/spec/features/password_reset_spec.rb index a34efce09ef..2b6311e4fd7 100644 --- a/spec/features/password_reset_spec.rb +++ b/spec/features/password_reset_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper' -feature 'Password reset' do +feature 'Password reset', feature: true do def forgot_password click_on 'Forgot your password?' fill_in 'Email', with: user.email diff --git a/spec/features/profiles/preferences_spec.rb b/spec/features/profiles/preferences_spec.rb index 03e78c533db..9bc6145dda4 100644 --- a/spec/features/profiles/preferences_spec.rb +++ b/spec/features/profiles/preferences_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper' -describe 'Profile > Preferences' do +describe 'Profile > Preferences', feature: true do let(:user) { create(:user) } before do diff --git a/spec/features/projects_spec.rb b/spec/features/projects_spec.rb index f8eea70ec4a..c8d44efdc8b 100644 --- a/spec/features/projects_spec.rb +++ b/spec/features/projects_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper' -feature 'Project' do +feature 'Project', feature: true do describe 'description' do let(:project) { create(:project) } let(:path) { namespace_project_path(project.namespace, project) } diff --git a/spec/features/users_spec.rb b/spec/features/users_spec.rb index a4c3dfe9205..efcb8a31abe 100644 --- a/spec/features/users_spec.rb +++ b/spec/features/users_spec.rb @@ -1,6 +1,6 @@ require 'spec_helper' -feature 'Users' do +feature 'Users', feature: true do scenario 'GET /users/sign_in creates a new user account' do visit new_user_session_path fill_in 'user_name', with: 'Name Surname' -- cgit v1.2.1 From cf7c57aaf53036483da35868da84596dcdae2aaf Mon Sep 17 00:00:00 2001 From: Robert Speicher Date: Wed, 1 Jul 2015 17:21:51 -0400 Subject: Use stub_application_setting in a few more specs These specs also failed when run by themselves before this change, so we've likely got some kind of cross-test contamination going on. --- spec/features/profile_spec.rb | 6 ++---- spec/requests/api/projects_spec.rb | 4 +--- spec/services/create_snippet_service_spec.rb | 6 +----- spec/services/git_push_service_spec.rb | 8 ++------ spec/services/projects/create_service_spec.rb | 4 +--- spec/services/projects/update_service_spec.rb | 4 +--- spec/services/update_snippet_service_spec.rb | 6 +----- spec/support/stub_configuration.rb | 26 ++++++++++++++++++++++++++ 8 files changed, 35 insertions(+), 29 deletions(-) (limited to 'spec') diff --git a/spec/features/profile_spec.rb b/spec/features/profile_spec.rb index 9fe2e610555..c80253fead8 100644 --- a/spec/features/profile_spec.rb +++ b/spec/features/profile_spec.rb @@ -9,8 +9,7 @@ describe 'Profile account page', feature: true do describe 'when signup is enabled' do before do - allow_any_instance_of(ApplicationSetting). - to receive(:signup_enabled?).and_return(true) + stub_application_setting(signup_enabled: true) visit profile_account_path end @@ -24,8 +23,7 @@ describe 'Profile account page', feature: true do describe 'when signup is disabled' do before do - allow_any_instance_of(ApplicationSetting). - to receive(:signup_enabled?).and_return(false) + stub_application_setting(signup_enabled: false) visit profile_account_path end diff --git a/spec/requests/api/projects_spec.rb b/spec/requests/api/projects_spec.rb index e9ff832603f..4178bb2e836 100644 --- a/spec/requests/api/projects_spec.rb +++ b/spec/requests/api/projects_spec.rb @@ -220,9 +220,7 @@ describe API::API, api: true do context 'when a visibility level is restricted' do before do @project = attributes_for(:project, { public: true }) - allow_any_instance_of(ApplicationSetting).to( - receive(:restricted_visibility_levels).and_return([20]) - ) + stub_application_setting(restricted_visibility_levels: [Gitlab::VisibilityLevel::PUBLIC]) end it 'should not allow a non-admin to use a restricted visibility level' do diff --git a/spec/services/create_snippet_service_spec.rb b/spec/services/create_snippet_service_spec.rb index 08689c15ca8..8edabe9450b 100644 --- a/spec/services/create_snippet_service_spec.rb +++ b/spec/services/create_snippet_service_spec.rb @@ -14,11 +14,7 @@ describe CreateSnippetService do context 'When public visibility is restricted' do before do - allow_any_instance_of(ApplicationSetting).to( - receive(:restricted_visibility_levels).and_return( - [Gitlab::VisibilityLevel::PUBLIC] - ) - ) + stub_application_setting(restricted_visibility_levels: [Gitlab::VisibilityLevel::PUBLIC]) @opts.merge!(visibility_level: Gitlab::VisibilityLevel::PUBLIC) end diff --git a/spec/services/git_push_service_spec.rb b/spec/services/git_push_service_spec.rb index 3373b97bfd4..62cef9db534 100644 --- a/spec/services/git_push_service_spec.rb +++ b/spec/services/git_push_service_spec.rb @@ -124,9 +124,7 @@ describe GitPushService do end it "when pushing a branch for the first time with default branch protection disabled" do - allow(ApplicationSetting.current_application_settings). - to receive(:default_branch_protection). - and_return(Gitlab::Access::PROTECTION_NONE) + stub_application_setting(default_branch_protection: Gitlab::Access::PROTECTION_NONE) expect(project).to receive(:execute_hooks) expect(project.default_branch).to eq("master") @@ -135,9 +133,7 @@ describe GitPushService do end it "when pushing a branch for the first time with default branch protection set to 'developers can push'" do - allow(ApplicationSetting.current_application_settings). - to receive(:default_branch_protection). - and_return(Gitlab::Access::PROTECTION_DEV_CAN_PUSH) + stub_application_setting(default_branch_protection: Gitlab::Access::PROTECTION_DEV_CAN_PUSH) expect(project).to receive(:execute_hooks) expect(project.default_branch).to eq("master") diff --git a/spec/services/projects/create_service_spec.rb b/spec/services/projects/create_service_spec.rb index 337dae592dd..97b206c9854 100644 --- a/spec/services/projects/create_service_spec.rb +++ b/spec/services/projects/create_service_spec.rb @@ -58,9 +58,7 @@ describe Projects::CreateService do context 'restricted visibility level' do before do - allow_any_instance_of(ApplicationSetting).to( - receive(:restricted_visibility_levels).and_return([20]) - ) + stub_application_setting(restricted_visibility_levels: [Gitlab::VisibilityLevel::PUBLIC]) @opts.merge!( visibility_level: Gitlab::VisibilityLevel.options['Public'] diff --git a/spec/services/projects/update_service_spec.rb b/spec/services/projects/update_service_spec.rb index 0dd6980a44f..b347fa15f87 100644 --- a/spec/services/projects/update_service_spec.rb +++ b/spec/services/projects/update_service_spec.rb @@ -47,9 +47,7 @@ describe Projects::UpdateService do context 'respect configured visibility restrictions setting' do before(:each) do - allow_any_instance_of(ApplicationSetting).to( - receive(:restricted_visibility_levels).and_return([20]) - ) + stub_application_setting(restricted_visibility_levels: [Gitlab::VisibilityLevel::PUBLIC]) end context 'should be private when updated to private' do diff --git a/spec/services/update_snippet_service_spec.rb b/spec/services/update_snippet_service_spec.rb index 841ef9bfed1..d7c516e3934 100644 --- a/spec/services/update_snippet_service_spec.rb +++ b/spec/services/update_snippet_service_spec.rb @@ -14,11 +14,7 @@ describe UpdateSnippetService do context 'When public visibility is restricted' do before do - allow_any_instance_of(ApplicationSetting).to( - receive(:restricted_visibility_levels).and_return( - [Gitlab::VisibilityLevel::PUBLIC] - ) - ) + stub_application_setting(restricted_visibility_levels: [Gitlab::VisibilityLevel::PUBLIC]) @snippet = create_snippet(@project, @user, @opts) @opts.merge!(visibility_level: Gitlab::VisibilityLevel::PUBLIC) diff --git a/spec/support/stub_configuration.rb b/spec/support/stub_configuration.rb index ad86abdbb41..e4004ec8f79 100644 --- a/spec/support/stub_configuration.rb +++ b/spec/support/stub_configuration.rb @@ -1,5 +1,10 @@ module StubConfiguration def stub_application_setting(messages) + add_predicates(messages) + + # Stubbing both of these because we're not yet consistent with how we access + # current application settings + allow_any_instance_of(ApplicationSetting).to receive_messages(messages) allow(Gitlab::CurrentSettings.current_application_settings). to receive_messages(messages) end @@ -11,4 +16,25 @@ module StubConfiguration def stub_gravatar_setting(messages) allow(Gitlab.config.gravatar).to receive_messages(messages) end + + private + + # Modifies stubbed messages to also stub possible predicate versions + # + # Examples: + # + # add_predicates(foo: true) + # # => {foo: true, foo?: true} + # + # add_predicates(signup_enabled?: false) + # # => {signup_enabled? false} + def add_predicates(messages) + # Only modify keys that aren't already predicates + keys = messages.keys.map(&:to_s).reject { |k| k.end_with?('?') } + + keys.each do |key| + predicate = key + '?' + messages[predicate.to_sym] = messages[key.to_sym] + end + end end -- cgit v1.2.1 From 098ad0a5b418b2414ab7c20b370d19a254109d19 Mon Sep 17 00:00:00 2001 From: Robert Speicher Date: Wed, 8 Jul 2015 15:49:37 -0400 Subject: Remove "mystery guest" from Milestone filtering features --- spec/features/issues/filter_by_milestone_spec.rb | 20 ++++++++---------- .../merge_requests/filter_by_milestone_spec.rb | 24 +++++++++------------- 2 files changed, 18 insertions(+), 26 deletions(-) (limited to 'spec') diff --git a/spec/features/issues/filter_by_milestone_spec.rb b/spec/features/issues/filter_by_milestone_spec.rb index 575ce23bb67..afefe9d9691 100644 --- a/spec/features/issues/filter_by_milestone_spec.rb +++ b/spec/features/issues/filter_by_milestone_spec.rb @@ -1,34 +1,30 @@ -require 'spec_helper' +require 'rails_helper' feature 'Issue filtering by Milestone', feature: true do include Select2Helper - let(:project) { create(:project) } - - before do - login_as(:admin) - end - - scenario 'User filters by Issues without a Milestone', js: true do + scenario 'filters by no Milestone', js: true do + project = create(:project, :public) create(:issue, project: project) - visit_issues + visit_issues(project) filter_by_milestone(Milestone::None.title) expect(page).to have_css('.issue-title', count: 1) end - scenario 'User filters by Issues with a specific Milestone', js: true do + scenario 'filters by a specific Milestone', js: true do + project = create(:project, :public) milestone = create(:milestone, project: project) create(:issue, project: project, milestone: milestone) - visit_issues + visit_issues(project) filter_by_milestone(milestone.title) expect(page).to have_css('.issue-title', count: 1) end - def visit_issues + def visit_issues(project) visit namespace_project_issues_path(project.namespace, project) end diff --git a/spec/features/merge_requests/filter_by_milestone_spec.rb b/spec/features/merge_requests/filter_by_milestone_spec.rb index 79b226bcd86..86b95e6cc29 100644 --- a/spec/features/merge_requests/filter_by_milestone_spec.rb +++ b/spec/features/merge_requests/filter_by_milestone_spec.rb @@ -1,34 +1,30 @@ -require 'spec_helper' +require 'rails_helper' feature 'Merge Request filtering by Milestone', feature: true do include Select2Helper - let(:project) { create(:project) } + scenario 'filters by no Milestone', js: true do + project = create(:project, :public) + create(:merge_request, :with_diffs, source_project: project) - before do - login_as(:admin) - end - - scenario 'User filters by Merge Requests without a Milestone', js: true do - create(:merge_request, :simple, source_project: project) - - visit_merge_requests + visit_merge_requests(project) filter_by_milestone(Milestone::None.title) expect(page).to have_css('.merge-request-title', count: 1) end - scenario 'User filters by Merge Requests with a specific Milestone', js: true do + scenario 'filters by a specific Milestone', js: true do + project = create(:project, :public) milestone = create(:milestone, project: project) - create(:merge_request, :simple, source_project: project, milestone: milestone) + create(:merge_request, :with_diffs, source_project: project, milestone: milestone) - visit_merge_requests + visit_merge_requests(project) filter_by_milestone(milestone.title) expect(page).to have_css('.merge-request-title', count: 1) end - def visit_merge_requests + def visit_merge_requests(project) visit namespace_project_merge_requests_path(project.namespace, project) end -- cgit v1.2.1 From 098ced4faad8d1048d6735f5b3ad6da6aa49fcfe Mon Sep 17 00:00:00 2001 From: Stan Hu Date: Wed, 8 Jul 2015 08:28:37 -0700 Subject: Improve features to ensure Ajax filter has actually executed --- spec/features/issues/filter_by_milestone_spec.rb | 8 +++++--- spec/features/merge_requests/filter_by_milestone_spec.rb | 8 +++++--- 2 files changed, 10 insertions(+), 6 deletions(-) (limited to 'spec') diff --git a/spec/features/issues/filter_by_milestone_spec.rb b/spec/features/issues/filter_by_milestone_spec.rb index afefe9d9691..f600f8684ac 100644 --- a/spec/features/issues/filter_by_milestone_spec.rb +++ b/spec/features/issues/filter_by_milestone_spec.rb @@ -3,9 +3,12 @@ require 'rails_helper' feature 'Issue filtering by Milestone', feature: true do include Select2Helper + let(:project) { create(:project, :public) } + let(:milestone) { create(:milestone, project: project) } + scenario 'filters by no Milestone', js: true do - project = create(:project, :public) create(:issue, project: project) + create(:issue, project: project, milestone: milestone) visit_issues(project) filter_by_milestone(Milestone::None.title) @@ -14,9 +17,8 @@ feature 'Issue filtering by Milestone', feature: true do end scenario 'filters by a specific Milestone', js: true do - project = create(:project, :public) - milestone = create(:milestone, project: project) create(:issue, project: project, milestone: milestone) + create(:issue, project: project) visit_issues(project) filter_by_milestone(milestone.title) diff --git a/spec/features/merge_requests/filter_by_milestone_spec.rb b/spec/features/merge_requests/filter_by_milestone_spec.rb index 86b95e6cc29..f70214e1122 100644 --- a/spec/features/merge_requests/filter_by_milestone_spec.rb +++ b/spec/features/merge_requests/filter_by_milestone_spec.rb @@ -3,9 +3,12 @@ require 'rails_helper' feature 'Merge Request filtering by Milestone', feature: true do include Select2Helper + let(:project) { create(:project, :public) } + let(:milestone) { create(:milestone, project: project) } + scenario 'filters by no Milestone', js: true do - project = create(:project, :public) create(:merge_request, :with_diffs, source_project: project) + create(:merge_request, :simple, source_project: project, milestone: milestone) visit_merge_requests(project) filter_by_milestone(Milestone::None.title) @@ -14,9 +17,8 @@ feature 'Merge Request filtering by Milestone', feature: true do end scenario 'filters by a specific Milestone', js: true do - project = create(:project, :public) - milestone = create(:milestone, project: project) create(:merge_request, :with_diffs, source_project: project, milestone: milestone) + create(:merge_request, :simple, source_project: project) visit_merge_requests(project) filter_by_milestone(milestone.title) -- cgit v1.2.1