From ab1b165b7312dd16e9b49855fcc2f99012d1b7d2 Mon Sep 17 00:00:00 2001 From: An Ju Date: Sat, 20 Apr 2019 17:10:39 -0700 Subject: [PATCH] Update activity (#36) * Added project_id to Activity. * Updated tests. --- app/controllers/application_controller.rb | 1 + spec/controllers/dashboard_controller_spec.rb | 16 +++++++++++++--- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb index f57ae67..6bbb641 100644 --- a/app/controllers/application_controller.rb +++ b/app/controllers/application_controller.rb @@ -36,6 +36,7 @@ def rescue_steps(message) def record_activity activity_param = { activity_type: "#{params[:controller]}\##{params[:action]}", + project_id: session[:last_project], username: current_user.nil? ? nil : current_user['username'] } diff --git a/spec/controllers/dashboard_controller_spec.rb b/spec/controllers/dashboard_controller_spec.rb index 856f785..ae34fe1 100644 --- a/spec/controllers/dashboard_controller_spec.rb +++ b/spec/controllers/dashboard_controller_spec.rb @@ -7,7 +7,7 @@ end def valid_session - {} + {last_project: 1} end describe 'GET index' do @@ -20,14 +20,14 @@ def valid_session it 'should create an activity' do Activity.expects(:create) - .with({username: user.username, activity_type: 'dashboard#index'}) + .with({username: user.username, activity_type: 'dashboard#index', project_id: 1}) get :index, {}, valid_session end end describe 'GET project' do before { @client.stubs(:project) } - let(:params) {{ id: 1 }} + let(:params) {{ id: 2 }} it 'should call find on PivotalTracker::Project' do @client.expects(:project).with(params[:id]) @@ -39,6 +39,10 @@ def valid_session expect(response).to render_template 'dashboard/ajax/project' end + it 'should change the session' do + expect{ xhr :get, :project, params, valid_session, format: :js }.to change { session[:last_project] } + end + it 'should create an acvitiy' do Activity.expects(:create) .with({ @@ -82,6 +86,7 @@ def valid_session username: user.username, activity_type: 'dashboard#vote', story_id: '123', + project_id: 1, activity_data: { story_id: '123', vote: '1', @@ -123,6 +128,7 @@ def valid_session username: user.username, activity_type: 'dashboard#reset', story_id: '123', + project_id: 1, activity_data: {story_id: '123', user: decoded_user(params['user'])}.to_json }) xhr :get, :reset, params, valid_session, format: :js @@ -152,6 +158,7 @@ def valid_session username: user.username, activity_type: 'dashboard#detail', story_id: '123', + project_id: 1, activity_data: { story_id: '123', toggle: 'dashboard', @@ -184,6 +191,7 @@ def valid_session username: user.username, activity_type: 'dashboard#reveal', story_id: '123', + project_id: 1, activity_data: {story_id: '123'}.to_json }) xhr :get, :reveal, params, valid_session, format: :js @@ -233,6 +241,7 @@ def valid_session username: user.username, activity_type: 'dashboard#update', story_id: '1', + project_id: 1, activity_data: fake_return.to_json }) xhr :post, :update, params, valid_session, format: :js @@ -262,6 +271,7 @@ def valid_session username: user.username, activity_type: 'dashboard#select', story_id: '123', + project_id: 1, activity_data: {story_id: '123', username: 'username'}.to_json }) xhr :post, :select, params, valid_session, format: :js