diff options
Diffstat (limited to 'spec/finders')
-rw-r--r-- | spec/finders/issues_finder_spec.rb | 81 | ||||
-rw-r--r-- | spec/finders/merge_requests_finder_spec.rb | 33 | ||||
-rw-r--r-- | spec/finders/notes_finder_spec.rb | 38 | ||||
-rw-r--r-- | spec/finders/projects_finder_spec.rb | 51 | ||||
-rw-r--r-- | spec/finders/snippets_finder_spec.rb | 101 |
5 files changed, 0 insertions, 304 deletions
diff --git a/spec/finders/issues_finder_spec.rb b/spec/finders/issues_finder_spec.rb deleted file mode 100644 index 479fa950387..00000000000 --- a/spec/finders/issues_finder_spec.rb +++ /dev/null @@ -1,81 +0,0 @@ -require 'spec_helper' - -describe IssuesFinder do - let(:user) { create :user } - let(:user2) { create :user } - let(:project1) { create(:project) } - let(:project2) { create(:project) } - let(:milestone) { create(:milestone, project: project1) } - let(:issue1) { create(:issue, author: user, assignee: user, project: project1, milestone: milestone) } - let(:issue2) { create(:issue, author: user, assignee: user, project: project2) } - let(:issue3) { create(:issue, author: user2, assignee: user2, project: project2) } - - before do - project1.team << [user, :master] - project2.team << [user, :developer] - project2.team << [user2, :developer] - end - - describe :execute do - before :each do - issue1 - issue2 - issue3 - end - - context 'scope: all' do - it 'should filter by all' do - params = { scope: "all", state: 'opened' } - issues = IssuesFinder.new.execute(user, params) - expect(issues.size).to eq(3) - end - - it 'should filter by assignee id' do - params = { scope: "all", assignee_id: user.id, state: 'opened' } - issues = IssuesFinder.new.execute(user, params) - expect(issues.size).to eq(2) - end - - it 'should filter by author id' do - params = { scope: "all", author_id: user2.id, state: 'opened' } - issues = IssuesFinder.new.execute(user, params) - expect(issues).to eq([issue3]) - end - - it 'should filter by milestone id' do - params = { scope: "all", milestone_id: milestone.id, state: 'opened' } - issues = IssuesFinder.new.execute(user, params) - expect(issues).to eq([issue1]) - end - - it 'should be empty for unauthorized user' do - params = { scope: "all", state: 'opened' } - issues = IssuesFinder.new.execute(nil, params) - expect(issues.size).to be_zero - end - - it 'should not include unauthorized issues' do - params = { scope: "all", state: 'opened' } - issues = IssuesFinder.new.execute(user2, params) - expect(issues.size).to eq(2) - expect(issues).not_to include(issue1) - expect(issues).to include(issue2) - expect(issues).to include(issue3) - end - end - - context 'personal scope' do - it 'should filter by assignee' do - params = { scope: "assigned-to-me", state: 'opened' } - issues = IssuesFinder.new.execute(user, params) - expect(issues.size).to eq(2) - end - - it 'should filter by project' do - params = { scope: "assigned-to-me", state: 'opened', project_id: project1.id } - issues = IssuesFinder.new.execute(user, params) - expect(issues.size).to eq(1) - end - end - end -end diff --git a/spec/finders/merge_requests_finder_spec.rb b/spec/finders/merge_requests_finder_spec.rb deleted file mode 100644 index 8536377a7f0..00000000000 --- a/spec/finders/merge_requests_finder_spec.rb +++ /dev/null @@ -1,33 +0,0 @@ -require 'spec_helper' - -describe MergeRequestsFinder do - let(:user) { create :user } - let(:user2) { create :user } - - let(:project1) { create(:project) } - let(:project2) { create(:project, forked_from_project: project1) } - - let!(:merge_request1) { create(:merge_request, :simple, author: user, source_project: project2, target_project: project1) } - let!(:merge_request2) { create(:merge_request, :simple, author: user, source_project: project2, target_project: project1, state: 'closed') } - let!(:merge_request3) { create(:merge_request, :simple, author: user, source_project: project2, target_project: project2) } - - before do - project1.team << [user, :master] - project2.team << [user, :developer] - project2.team << [user2, :developer] - end - - describe "#execute" do - it 'should filter by scope' do - params = { scope: 'authored', state: 'opened' } - merge_requests = MergeRequestsFinder.new.execute(user, params) - expect(merge_requests.size).to eq(2) - end - - it 'should filter by project' do - params = { project_id: project1.id, scope: 'authored', state: 'opened' } - merge_requests = MergeRequestsFinder.new.execute(user, params) - expect(merge_requests.size).to eq(1) - end - end -end diff --git a/spec/finders/notes_finder_spec.rb b/spec/finders/notes_finder_spec.rb deleted file mode 100644 index c83824b900d..00000000000 --- a/spec/finders/notes_finder_spec.rb +++ /dev/null @@ -1,38 +0,0 @@ -require 'spec_helper' - -describe NotesFinder do - let(:user) { create :user } - let(:project) { create :project } - let(:note1) { create :note_on_commit, project: project } - let(:note2) { create :note_on_commit, project: project } - let(:commit) { note1.noteable } - - before do - project.team << [user, :master] - end - - describe :execute do - let(:params) { { target_id: commit.id, target_type: 'commit', last_fetched_at: 1.hour.ago.to_i } } - - before do - note1 - note2 - end - - it 'should find all notes' do - notes = NotesFinder.new.execute(project, user, params) - expect(notes.size).to eq(2) - end - - it 'should raise an exception for an invalid target_type' do - params.merge!(target_type: 'invalid') - expect { NotesFinder.new.execute(project, user, params) }.to raise_error('invalid target_type') - end - - it 'filters out old notes' do - note2.update_attribute(:updated_at, 2.hours.ago) - notes = NotesFinder.new.execute(project, user, params) - expect(notes).to eq([note1]) - end - end -end diff --git a/spec/finders/projects_finder_spec.rb b/spec/finders/projects_finder_spec.rb deleted file mode 100644 index 2ab71b05968..00000000000 --- a/spec/finders/projects_finder_spec.rb +++ /dev/null @@ -1,51 +0,0 @@ -require 'spec_helper' - -describe ProjectsFinder do - let(:user) { create :user } - let(:group) { create :group } - - let(:project1) { create(:empty_project, :public, group: group) } - let(:project2) { create(:empty_project, :internal, group: group) } - let(:project3) { create(:empty_project, :private, group: group) } - let(:project4) { create(:empty_project, :private, group: group) } - - context 'non authenticated' do - subject { ProjectsFinder.new.execute(nil, group: group) } - - it { is_expected.to include(project1) } - it { is_expected.not_to include(project2) } - it { is_expected.not_to include(project3) } - it { is_expected.not_to include(project4) } - end - - context 'authenticated' do - subject { ProjectsFinder.new.execute(user, group: group) } - - it { is_expected.to include(project1) } - it { is_expected.to include(project2) } - it { is_expected.not_to include(project3) } - it { is_expected.not_to include(project4) } - end - - context 'authenticated, project member' do - before { project3.team << [user, :developer] } - - subject { ProjectsFinder.new.execute(user, group: group) } - - it { is_expected.to include(project1) } - it { is_expected.to include(project2) } - it { is_expected.to include(project3) } - it { is_expected.not_to include(project4) } - end - - context 'authenticated, group member' do - before { group.add_user(user, Gitlab::Access::DEVELOPER) } - - subject { ProjectsFinder.new.execute(user, group: group) } - - it { is_expected.to include(project1) } - it { is_expected.to include(project2) } - it { is_expected.to include(project3) } - it { is_expected.to include(project4) } - end -end diff --git a/spec/finders/snippets_finder_spec.rb b/spec/finders/snippets_finder_spec.rb deleted file mode 100644 index 1b4ffc2d717..00000000000 --- a/spec/finders/snippets_finder_spec.rb +++ /dev/null @@ -1,101 +0,0 @@ -require 'spec_helper' - -describe SnippetsFinder do - let(:user) { create :user } - let(:user1) { create :user } - let(:group) { create :group } - - let(:project1) { create(:empty_project, :public, group: group) } - let(:project2) { create(:empty_project, :private, group: group) } - - - context ':all filter' do - before do - @snippet1 = create(:personal_snippet, visibility_level: Snippet::PRIVATE) - @snippet2 = create(:personal_snippet, visibility_level: Snippet::INTERNAL) - @snippet3 = create(:personal_snippet, visibility_level: Snippet::PUBLIC) - end - - it "returns all private and internal snippets" do - snippets = SnippetsFinder.new.execute(user, filter: :all) - expect(snippets).to include(@snippet2, @snippet3) - expect(snippets).not_to include(@snippet1) - end - - it "returns all public snippets" do - snippets = SnippetsFinder.new.execute(nil, filter: :all) - expect(snippets).to include(@snippet3) - expect(snippets).not_to include(@snippet1, @snippet2) - end - end - - context ':by_user filter' do - before do - @snippet1 = create(:personal_snippet, visibility_level: Snippet::PRIVATE, author: user) - @snippet2 = create(:personal_snippet, visibility_level: Snippet::INTERNAL, author: user) - @snippet3 = create(:personal_snippet, visibility_level: Snippet::PUBLIC, author: user) - end - - it "returns all public and internal snippets" do - snippets = SnippetsFinder.new.execute(user1, filter: :by_user, user: user) - expect(snippets).to include(@snippet2, @snippet3) - expect(snippets).not_to include(@snippet1) - end - - it "returns internal snippets" do - snippets = SnippetsFinder.new.execute(user, filter: :by_user, user: user, scope: "are_internal") - expect(snippets).to include(@snippet2) - expect(snippets).not_to include(@snippet1, @snippet3) - end - - it "returns private snippets" do - snippets = SnippetsFinder.new.execute(user, filter: :by_user, user: user, scope: "are_private") - expect(snippets).to include(@snippet1) - expect(snippets).not_to include(@snippet2, @snippet3) - end - - it "returns public snippets" do - snippets = SnippetsFinder.new.execute(user, filter: :by_user, user: user, scope: "are_public") - expect(snippets).to include(@snippet3) - expect(snippets).not_to include(@snippet1, @snippet2) - end - - it "returns all snippets" do - snippets = SnippetsFinder.new.execute(user, filter: :by_user, user: user) - expect(snippets).to include(@snippet1, @snippet2, @snippet3) - end - - it "returns only public snippets if unauthenticated user" do - snippets = SnippetsFinder.new.execute(nil, filter: :by_user, user: user) - expect(snippets).to include(@snippet3) - expect(snippets).not_to include(@snippet2, @snippet1) - end - - end - - context 'by_project filter' do - before do - @snippet1 = create(:project_snippet, visibility_level: Snippet::PRIVATE, project: project1) - @snippet2 = create(:project_snippet, visibility_level: Snippet::INTERNAL, project: project1) - @snippet3 = create(:project_snippet, visibility_level: Snippet::PUBLIC, project: project1) - end - - it "returns public snippets for unauthorized user" do - snippets = SnippetsFinder.new.execute(nil, filter: :by_project, project: project1) - expect(snippets).to include(@snippet3) - expect(snippets).not_to include(@snippet1, @snippet2) - end - - it "returns public and internal snippets for none project members" do - snippets = SnippetsFinder.new.execute(user, filter: :by_project, project: project1) - expect(snippets).to include(@snippet2, @snippet3) - expect(snippets).not_to include(@snippet1) - end - - it "returns all snippets for project members" do - project1.team << [user, :developer] - snippets = SnippetsFinder.new.execute(user, filter: :by_project, project: project1) - expect(snippets).to include(@snippet1, @snippet2, @snippet3) - end - end -end |