diff options
author | Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com> | 2013-12-25 12:45:54 +0200 |
---|---|---|
committer | Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com> | 2013-12-25 12:45:54 +0200 |
commit | 73af33e4b1aed1cbde3644a0e94ab2d40340e31b (patch) | |
tree | c597a919e95cf83b006d2b8f70ee7f86ea488b33 /spec | |
parent | 34f994b7c50fa45c4257cbe5f0fef61f58abb549 (diff) | |
download | gitlab-ce-73af33e4b1aed1cbde3644a0e94ab2d40340e31b.tar.gz |
Improve FilterContext tests
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
Diffstat (limited to 'spec')
-rw-r--r-- | spec/contexts/filter_context_spec.rb | 58 |
1 files 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 |