diff options
Diffstat (limited to 'spec')
-rw-r--r-- | spec/controllers/users_controller_spec.rb | 34 | ||||
-rw-r--r-- | spec/lib/gitlab/git/repository_spec.rb | 10 | ||||
-rw-r--r-- | spec/lib/gitlab/github_import/importer/milestones_importer_spec.rb | 24 | ||||
-rw-r--r-- | spec/services/merge_requests/merge_service_spec.rb | 2 |
4 files changed, 56 insertions, 14 deletions
diff --git a/spec/controllers/users_controller_spec.rb b/spec/controllers/users_controller_spec.rb index af61026098b..4f6a6881193 100644 --- a/spec/controllers/users_controller_spec.rb +++ b/spec/controllers/users_controller_spec.rb @@ -185,13 +185,32 @@ describe UsersController do context 'for user' do context 'with public profile' do - it 'renders calendar_activities' do - push_data = Gitlab::DataBuilder::Push.build_sample(project, public_user) - EventCreateService.new.push(project, public_user, push_data) + let(:issue) { create(:issue, project: project, author: user) } + let(:note) { create(:note, noteable: issue, author: user, project: project) } + + render_views + + before do + create_push_event + create_note_event + end + it 'renders calendar_activities' do get :calendar_activities, params: { username: public_user.username } + expect(assigns[:events]).not_to be_empty end + + it 'avoids N+1 queries', :request_store do + get :calendar_activities, params: { username: public_user.username } + + control = ActiveRecord::QueryRecorder.new { get :calendar_activities, params: { username: public_user.username } } + + create_push_event + create_note_event + + expect { get :calendar_activities, params: { username: public_user.username } }.not_to exceed_query_limit(control) + end end context 'with private profile' do @@ -203,6 +222,15 @@ describe UsersController do expect(response).to have_gitlab_http_status(:not_found) end end + + def create_push_event + push_data = Gitlab::DataBuilder::Push.build_sample(project, public_user) + EventCreateService.new.push(project, public_user, push_data) + end + + def create_note_event + EventCreateService.new.leave_note(note, public_user) + end end end diff --git a/spec/lib/gitlab/git/repository_spec.rb b/spec/lib/gitlab/git/repository_spec.rb index e3dd02f1478..7e6dfa30e37 100644 --- a/spec/lib/gitlab/git/repository_spec.rb +++ b/spec/lib/gitlab/git/repository_spec.rb @@ -619,16 +619,6 @@ describe Gitlab::Git::Repository, :seed_helper do repository.search_files_by_content('search-files-by-content', 'search-files-by-content-branch') end end - - it_should_behave_like 'search files by content' do - let(:search_results) do - repository.gitaly_repository_client.search_files_by_content( - 'search-files-by-content-branch', - 'search-files-by-content', - chunked_response: false - ) - end - end end describe '#find_remote_root_ref' do diff --git a/spec/lib/gitlab/github_import/importer/milestones_importer_spec.rb b/spec/lib/gitlab/github_import/importer/milestones_importer_spec.rb index b1cac3b6e46..120a07ff2b3 100644 --- a/spec/lib/gitlab/github_import/importer/milestones_importer_spec.rb +++ b/spec/lib/gitlab/github_import/importer/milestones_importer_spec.rb @@ -4,6 +4,7 @@ describe Gitlab::GithubImport::Importer::MilestonesImporter, :clean_gitlab_redis let(:project) { create(:project, import_source: 'foo/bar') } let(:client) { double(:client) } let(:importer) { described_class.new(project, client) } + let(:due_on) { Time.new(2017, 2, 1, 12, 00) } let(:created_at) { Time.new(2017, 1, 1, 12, 00) } let(:updated_at) { Time.new(2017, 1, 1, 12, 15) } @@ -14,6 +15,20 @@ describe Gitlab::GithubImport::Importer::MilestonesImporter, :clean_gitlab_redis title: '1.0', description: 'The first release', state: 'open', + due_on: due_on, + created_at: created_at, + updated_at: updated_at + ) + end + + let(:milestone2) do + double( + :milestone, + number: 1, + title: '1.0', + description: 'The first release', + state: 'open', + due_on: nil, created_at: created_at, updated_at: updated_at ) @@ -72,6 +87,7 @@ describe Gitlab::GithubImport::Importer::MilestonesImporter, :clean_gitlab_redis describe '#build' do let(:milestone_hash) { importer.build(milestone) } + let(:milestone_hash2) { importer.build(milestone2) } it 'returns the attributes of the milestone as a Hash' do expect(milestone_hash).to be_an_instance_of(Hash) @@ -98,6 +114,14 @@ describe Gitlab::GithubImport::Importer::MilestonesImporter, :clean_gitlab_redis expect(milestone_hash[:state]).to eq(:active) end + it 'includes the due date' do + expect(milestone_hash[:due_date]).to eq(due_on.to_date) + end + + it 'responds correctly to no due date value' do + expect(milestone_hash2[:due_date]).to be nil + end + it 'includes the created timestamp' do expect(milestone_hash[:created_at]).to eq(created_at) end diff --git a/spec/services/merge_requests/merge_service_spec.rb b/spec/services/merge_requests/merge_service_spec.rb index ede79b87bcc..9d674263259 100644 --- a/spec/services/merge_requests/merge_service_spec.rb +++ b/spec/services/merge_requests/merge_service_spec.rb @@ -244,7 +244,7 @@ describe MergeRequests::MergeService do service.execute(merge_request) - expect(merge_request.merge_error).to include('Something went wrong during merge pre-receive hook') + expect(merge_request.merge_error).to include("Something went wrong during merge pre-receive hook: #{error_message}") expect(Rails.logger).to have_received(:error).with(a_string_matching(error_message)) end |