diff options
author | rpereira2 <rpereira@gitlab.com> | 2019-02-06 16:15:25 +0300 |
---|---|---|
committer | rpereira2 <rpereira@gitlab.com> | 2019-02-06 16:15:25 +0300 |
commit | 904403f8e45394e3991066c0a12db9949ce65628 (patch) | |
tree | 77d61907b4f8b21150a7ef3cf45063468480f9f5 | |
parent | b080d7dcad8a73d6e33757e5f6367aa33edb6fcd (diff) | |
parent | 5d61a7dee4b47a08c549717d43b0b0cff146cb22 (diff) |
Merge remote-tracking branch55199-error-tracking-project-selection
'origin/55199-list-projects-service' into
55199-error-tracking-project-selection
-rw-r--r-- | spec/services/error_tracking/list_projects_service_spec.rb | 31 |
1 files changed, 17 insertions, 14 deletions
diff --git a/spec/services/error_tracking/list_projects_service_spec.rb b/spec/services/error_tracking/list_projects_service_spec.rb index 2ae3b1a65ec..6204ca87576 100644 --- a/spec/services/error_tracking/list_projects_service_spec.rb +++ b/spec/services/error_tracking/list_projects_service_spec.rb @@ -3,8 +3,6 @@ require 'spec_helper' describe ErrorTracking::ListProjectsService do - include ReactiveCachingHelpers - set(:user) { create(:user) } set(:project) { create(:project) } @@ -28,26 +26,24 @@ describe ErrorTracking::ListProjectsService do let(:result) { subject.execute } context 'with authorized user' do - let(:sentry_client) { spy(:sentry_client) } - before do expect(project).to receive(:error_tracking_setting).at_least(:once) .and_return(error_tracking_setting) end - context 'call sentry client' do + context 'set model attributes to new values' do + let(:new_api_url) { new_api_host + 'api/0/projects/' } + before do - synchronous_reactive_cache(error_tracking_setting) + expect(error_tracking_setting).to receive(:list_sentry_projects) + .and_return({ projects: [] }) end it 'uses new api_url and token' do - expect(Sentry::Client).to receive(:new) - .with(new_api_host + 'api/0/projects/', new_token) - .and_return(sentry_client) - expect(sentry_client).to receive(:list_projects).and_return([]) - subject.execute + expect(error_tracking_setting.api_url).to eq(new_api_url) + expect(error_tracking_setting.token).to eq(new_token) error_tracking_setting.reload expect(error_tracking_setting.api_url).to eq(sentry_url) expect(error_tracking_setting.token).to eq(token) @@ -150,11 +146,9 @@ describe ErrorTracking::ListProjectsService do context 'error_tracking_setting is nil' do let(:error_tracking_setting) { build(:project_error_tracking_setting) } + let(:new_api_url) { new_api_host + 'api/0/projects/' } before do - expect(project).to receive(:error_tracking_setting).at_least(:once) - .and_return(nil) - expect(project).to receive(:build_error_tracking_setting).once .and_return(error_tracking_setting) @@ -163,7 +157,16 @@ describe ErrorTracking::ListProjectsService do end it 'builds a new error_tracking_setting' do + expect(project.error_tracking_setting).to be_nil + expect(result[:projects]).to eq([:project1, :project2]) + + expect(error_tracking_setting.api_url).to eq(new_api_url) + expect(error_tracking_setting.token).to eq(new_token) + expect(error_tracking_setting.enabled).to be true + expect(error_tracking_setting.persisted?).to be false + expect(error_tracking_setting.project_id).not_to be_nil + expect(project.error_tracking_setting).to be_nil end end |