From 20ed82ce1c360b8b3c1b786d016fe9414ae2337a Mon Sep 17 00:00:00 2001 From: Daniel Miranda Date: Mon, 18 Jan 2016 18:24:51 -0200 Subject: [PATCH] Fix Metric Configuration controllers unit tests --- spec/controllers/compound_metric_configurations_controller_spec.rb | 23 ++++++++++++++--------- spec/controllers/metric_configurations_controller_spec.rb | 19 ++++++++++++------- 2 files changed, 26 insertions(+), 16 deletions(-) diff --git a/spec/controllers/compound_metric_configurations_controller_spec.rb b/spec/controllers/compound_metric_configurations_controller_spec.rb index 6b741fe..d89289a 100644 --- a/spec/controllers/compound_metric_configurations_controller_spec.rb +++ b/spec/controllers/compound_metric_configurations_controller_spec.rb @@ -1,6 +1,7 @@ require 'rails_helper' describe CompoundMetricConfigurationsController, :type => :controller do + let(:reading_group) { FactoryGirl.build(:reading_group, :with_id) } let(:kalibro_configuration) { FactoryGirl.build(:kalibro_configuration, :with_id) } describe 'new' do @@ -9,11 +10,12 @@ describe CompoundMetricConfigurationsController, :type => :controller do end context 'when the current user owns the kalibro configuration' do - let!(:metric_configuration) { FactoryGirl.build(:metric_configuration) } + let!(:metric_configuration) { FactoryGirl.build(:metric_configuration, reading_group_id: reading_group.id) } before :each do KalibroConfiguration.expects(:find).with(kalibro_configuration.id).returns kalibro_configuration subject.expects(:kalibro_configuration_owner?).returns true MetricConfiguration.expects(:metric_configurations_of).with(kalibro_configuration.id).returns([metric_configuration]) + get :new, kalibro_configuration_id: kalibro_configuration.id end @@ -32,7 +34,7 @@ describe CompoundMetricConfigurationsController, :type => :controller do end describe 'create' do - let(:compound_metric_configuration) { FactoryGirl.build(:compound_metric_configuration, reading_group_id: 1) } + let(:compound_metric_configuration) { FactoryGirl.build(:compound_metric_configuration, reading_group_id: reading_group.id) } let!(:metric_configuration_params) { compound_metric_configuration.to_hash } before do @@ -43,6 +45,7 @@ describe CompoundMetricConfigurationsController, :type => :controller do before :each do KalibroConfiguration.expects(:find).with(kalibro_configuration.id).returns kalibro_configuration subject.expects(:kalibro_configuration_owner?).returns true + ReadingGroup.expects(:find).with(reading_group.id).returns(reading_group) end context 'with valid fields' do @@ -69,13 +72,12 @@ describe CompoundMetricConfigurationsController, :type => :controller do end describe 'show' do - let(:compound_metric_configuration) { FactoryGirl.build(:compound_metric_configuration_with_id) } - let(:reading_group) { FactoryGirl.build(:reading_group, :with_id) } + let(:compound_metric_configuration) { FactoryGirl.build(:compound_metric_configuration, :with_id, reading_group_id: reading_group.id) } let(:kalibro_range) { FactoryGirl.build(:kalibro_range) } before :each do KalibroConfiguration.expects(:find).with(kalibro_configuration.id).returns kalibro_configuration - ReadingGroup.expects(:find).with(compound_metric_configuration.reading_group_id).returns(reading_group) + ReadingGroup.expects(:find).with(reading_group.id).returns(reading_group) MetricConfiguration.expects(:find).with(compound_metric_configuration.id).returns(compound_metric_configuration) compound_metric_configuration.expects(:kalibro_ranges).returns([kalibro_range]) @@ -86,7 +88,7 @@ describe CompoundMetricConfigurationsController, :type => :controller do end describe 'edit' do - let(:compound_metric_configuration) { FactoryGirl.build(:compound_metric_configuration_with_id) } + let(:compound_metric_configuration) { FactoryGirl.build(:compound_metric_configuration, :with_id, reading_group_id: reading_group.id) } context 'with a User logged in' do before do @@ -97,8 +99,10 @@ describe CompoundMetricConfigurationsController, :type => :controller do before :each do KalibroConfiguration.expects(:find).with(kalibro_configuration.id).returns kalibro_configuration subject.expects(:metric_configuration_owner?).returns(true) + ReadingGroup.expects(:find).with(reading_group.id).returns(reading_group) MetricConfiguration.expects(:find).with(compound_metric_configuration.id).returns(compound_metric_configuration) MetricConfiguration.expects(:metric_configurations_of).with(kalibro_configuration.id).returns([compound_metric_configuration]) + get :edit, id: compound_metric_configuration.id, kalibro_configuration_id: compound_metric_configuration.kalibro_configuration_id.to_s end @@ -126,13 +130,13 @@ describe CompoundMetricConfigurationsController, :type => :controller do end describe 'update' do - let(:compound_metric_configuration) { FactoryGirl.build(:compound_metric_configuration_with_id) } + let(:compound_metric_configuration) { FactoryGirl.build(:compound_metric_configuration, :with_id, reading_group_id: reading_group.id) } # Exclude the parameters that come in the URL (as the ones in the body will always be ignored) let(:metric_configuration_params) { compound_metric_configuration.to_hash.except('id', 'kalibro_configuration_id', 'type') } # Exclude the reading group id since it is set beforehand and not in the update params let(:update_params) do - params = metric_configuration_params.except('reading_group_id') - params['metric'].except!('type') + params = metric_configuration_params.dup + params['metric'] = params['metric'].except('type') params end @@ -144,6 +148,7 @@ describe CompoundMetricConfigurationsController, :type => :controller do context 'when user owns the metric configuration' do before :each do KalibroConfiguration.expects(:find).with(kalibro_configuration.id).returns kalibro_configuration + ReadingGroup.expects(:find).with(reading_group.id).returns(reading_group) MetricConfiguration.expects(:find).with(compound_metric_configuration.id).returns(compound_metric_configuration) subject.expects(:metric_configuration_owner?).returns true end diff --git a/spec/controllers/metric_configurations_controller_spec.rb b/spec/controllers/metric_configurations_controller_spec.rb index 05cf8b2..8f9d292 100644 --- a/spec/controllers/metric_configurations_controller_spec.rb +++ b/spec/controllers/metric_configurations_controller_spec.rb @@ -1,6 +1,7 @@ require 'rails_helper' describe MetricConfigurationsController, :type => :controller do + let(:reading_group) { FactoryGirl.build(:reading_group, :with_id) } let(:kalibro_configuration) { FactoryGirl.build(:kalibro_configuration, :with_id) } describe 'choose_metric' do @@ -39,6 +40,7 @@ describe MetricConfigurationsController, :type => :controller do subject.expects(:kalibro_configuration_owner?).returns true KalibroClient::Entities::Processor::MetricCollectorDetails.expects(:find_by_name).with(metric_collector.name).returns(metric_collector) metric_collector.expects(:find_metric_by_name).with(native_metric.name).returns(native_metric) + get :new, kalibro_configuration_id: kalibro_configuration.id, metric_name: native_metric.name, metric_collector_name: metric_collector.name end @@ -57,7 +59,7 @@ describe MetricConfigurationsController, :type => :controller do end describe 'create' do - let!(:metric_configuration) { FactoryGirl.build(:metric_configuration) } + let!(:metric_configuration) { FactoryGirl.build(:metric_configuration, reading_group_id: reading_group.id) } let(:metric_configuration_params) { metric_configuration.to_hash } let(:metric_collector) { FactoryGirl.build(:metric_collector) } @@ -69,6 +71,7 @@ describe MetricConfigurationsController, :type => :controller do before :each do KalibroConfiguration.expects(:find).with(kalibro_configuration.id).returns kalibro_configuration subject.expects(:kalibro_configuration_owner?).returns true + ReadingGroup.expects(:find).with(reading_group.id).returns(reading_group) end context 'with valid fields' do @@ -98,8 +101,7 @@ describe MetricConfigurationsController, :type => :controller do end describe 'show' do - let(:metric_configuration) { FactoryGirl.build(:metric_configuration_with_id) } - let(:reading_group) { FactoryGirl.build(:reading_group, :with_id) } + let(:metric_configuration) { FactoryGirl.build(:metric_configuration, :with_id, reading_group_id: reading_group.id) } let(:kalibro_range) { FactoryGirl.build(:kalibro_range) } before :each do @@ -115,7 +117,7 @@ describe MetricConfigurationsController, :type => :controller do end describe 'edit' do - let(:metric_configuration) { FactoryGirl.build(:metric_configuration_with_id) } + let(:metric_configuration) { FactoryGirl.build(:metric_configuration, :with_id, reading_group_id: reading_group.id) } let!(:reading_groups) { [FactoryGirl.build(:reading_group)] } let!(:user) { FactoryGirl.create(:user) } @@ -127,9 +129,11 @@ describe MetricConfigurationsController, :type => :controller do context 'when the user owns the metric configuration' do before :each do KalibroConfiguration.expects(:find).with(kalibro_configuration.id).returns kalibro_configuration + ReadingGroup.expects(:find).with(reading_group.id).returns(reading_group) ReadingGroup.expects(:public_or_owned_by_user).with(user).returns(reading_groups) subject.expects(:metric_configuration_owner?).returns(true) MetricConfiguration.expects(:find).with(metric_configuration.id).returns(metric_configuration) + get :edit, id: metric_configuration.id, kalibro_configuration_id: metric_configuration.kalibro_configuration_id.to_s end @@ -137,7 +141,7 @@ describe MetricConfigurationsController, :type => :controller do end context 'when the user does not own the metric configuration' do - before do + before :each do get :edit, id: metric_configuration.id, kalibro_configuration_id: metric_configuration.kalibro_configuration_id.to_s end @@ -156,9 +160,9 @@ describe MetricConfigurationsController, :type => :controller do end describe 'update' do - let(:metric_configuration) { FactoryGirl.build(:metric_configuration_with_id) } + let(:metric_configuration) { FactoryGirl.build(:metric_configuration_with_id, reading_group_id: reading_group.id) } let(:metric_configuration_params) { metric_configuration.to_hash.except('id', 'metric') } - let(:update_params) { metric_configuration_params.except('kalibro_configuration_id', 'reading_group_id') } + let(:update_params) { metric_configuration_params.except('kalibro_configuration_id') } context 'when the user is logged in' do before do @@ -169,6 +173,7 @@ describe MetricConfigurationsController, :type => :controller do before :each do KalibroConfiguration.expects(:find).with(kalibro_configuration.id).returns kalibro_configuration subject.expects(:metric_configuration_owner?).returns true + ReadingGroup.expects(:find).with(reading_group.id).returns(reading_group) end context 'with valid fields' do -- libgit2 0.21.2