From 73af33e4b1aed1cbde3644a0e94ab2d40340e31b Mon Sep 17 00:00:00 2001 From: Dmitriy Zaporozhets Date: Wed, 25 Dec 2013 12:45:54 +0200 Subject: [PATCH] Improve FilterContext tests Signed-off-by: Dmitriy Zaporozhets --- spec/contexts/filter_context_spec.rb | 58 +++++++++++++++------------- 1 file changed, 32 insertions(+), 26 deletions(-) diff --git a/spec/contexts/filter_context_spec.rb b/spec/contexts/filter_context_spec.rb index db27742b9b5..06aef5d7ed1 100644 --- a/spec/contexts/filter_context_spec.rb +++ b/spec/contexts/filter_context_spec.rb @@ -1,38 +1,38 @@ require 'spec_helper' describe FilterContext do - let(:user) { create :user } let(:user2) { create :user } - let(:project1) { create(:project, creator_id: user.id) } - let(:project2) { create(:project, creator_id: user.id) } - let(:merge_request1) { create(:merge_request, author_id: user.id, source_project: project1, target_project: project2) } - let(:merge_request2) { create(:merge_request, author_id: user.id, source_project: project2, target_project: project1) } - let(:merge_request3) { create(:merge_request, author_id: user.id, source_project: project2, target_project: project2) } - let(:merge_request4) { create(:merge_request, author_id: user2.id, source_project: project2, target_project: project2, target_branch:"notes_refactoring") } - let(:issue1) { create(:issue, assignee_id: user.id, project: project1) } - let(:issue2) { create(:issue, assignee_id: user.id, project: project2) } - let(:issue3) { create(:issue, assignee_id: user2.id, project: project2) } + let(:project1) { create(:project) } + let(:project2) { create(:project) } + let(:merge_request1) { create(:merge_request, author: user, source_project: project1, target_project: project2) } + let(:merge_request2) { create(:merge_request, author: user, source_project: project2, target_project: project1) } + let(:merge_request3) { create(:merge_request, author: user, source_project: project2, target_project: project2) } + let(:issue1) { create(:issue, assignee: user, project: project1) } + let(:issue2) { create(:issue, assignee: user, project: project2) } + let(:issue3) { create(:issue, assignee: user2, project: project2) } + + before do + project1.team << [user, :master] + project2.team << [user, :developer] + end describe 'merge requests' do before :each do merge_request1 merge_request2 merge_request3 - merge_request4 end - it 'should by default filter properly' do - merge_requests = user.cared_merge_requests - params ={} - merge_requests = FilterContext.new(merge_requests, params).execute + it 'should filter by scope' do + params = { scope: 'authored' } + merge_requests = FilterContext.new(MergeRequest, user, params).execute merge_requests.size.should == 3 end - it 'should apply blocks passed in on creation to the filters' do - merge_requests = user.cared_merge_requests - params = {:project_id => project1.id} - merge_requests = FilterContext.new(merge_requests, params).execute + it 'should filter by project' do + params = { project_id: project1.id, scope: 'authored' } + merge_requests = FilterContext.new(MergeRequest, user, params).execute merge_requests.size.should == 1 end end @@ -43,16 +43,22 @@ describe FilterContext do issue2 issue3 end - it 'should by default filter projects properly' do - issues = user.assigned_issues + + it 'should filter by all' do + params = { scope: "all" } + issues = FilterContext.new(Issue, user, params).execute + issues.size.should == 3 + end + + it 'should filter by assignee' do params = {} - issues = FilterContext.new(issues, params).execute + issues = FilterContext.new(Issue, user, params).execute issues.size.should == 2 end - it 'should apply blocks passed in on creation to the filters' do - issues = user.assigned_issues - params = {:project_id => project1.id} - issues = FilterContext.new(issues, params).execute + + it 'should filter by project' do + params = { project_id: project1.id } + issues = FilterContext.new(Issue, user, params).execute issues.size.should == 1 end end -- GitLab