Commit aaae224631f0da915d164132d74de1e91f6f7f2d

Authored by Heitor
Committed by Rafael Manzo
1 parent 9f532746

Cover MetricConfigurationsController failed_action

There was no test case for failed_action when the action was neither
create or update. The coverage was achieved through show action with
invalid reading group id.

Signed-off-by: Rafael Reggiani Manzo <rr.manzo@gmail.com>
spec/controllers/metric_configurations_controller_spec.rb
@@ -105,15 +105,30 @@ describe MetricConfigurationsController, :type =&gt; :controller do @@ -105,15 +105,30 @@ describe MetricConfigurationsController, :type =&gt; :controller do
105 let(:kalibro_range) { FactoryGirl.build(:kalibro_range) } 105 let(:kalibro_range) { FactoryGirl.build(:kalibro_range) }
106 106
107 before :each do 107 before :each do
108 - KalibroConfiguration.expects(:find).with(kalibro_configuration.id).returns kalibro_configuration  
109 - ReadingGroup.expects(:find).with(metric_configuration.reading_group_id).returns(reading_group)  
110 - MetricConfiguration.expects(:find).with(metric_configuration.id).returns(metric_configuration)  
111 - metric_configuration.expects(:kalibro_ranges).returns([kalibro_range]) 108 + KalibroConfiguration.expects(:find).with(kalibro_configuration.id).returns kalibro_configuration
  109 + MetricConfiguration.expects(:find).with(metric_configuration.id).returns(metric_configuration)
  110 + end
  111 +
  112 + context 'with valid parameters' do
  113 + before :each do
  114 + ReadingGroup.expects(:find).with(metric_configuration.reading_group_id).returns(reading_group)
  115 + metric_configuration.expects(:kalibro_ranges).returns([kalibro_range])
  116 +
  117 + get :show, kalibro_configuration_id: metric_configuration.kalibro_configuration_id.to_s, id: metric_configuration.id
  118 + end
112 119
113 - get :show, kalibro_configuration_id: metric_configuration.kalibro_configuration_id.to_s, id: metric_configuration.id 120 + it { is_expected.to render_template(:show) }
114 end 121 end
115 122
116 - it { is_expected.to render_template(:show) } 123 + context 'with invalid parameters' do
  124 + before :each do
  125 + ReadingGroup.expects(:find).with(metric_configuration.reading_group_id).raises(KalibroClient::Errors::RecordNotFound)
  126 +
  127 + get :show, kalibro_configuration_id: metric_configuration.kalibro_configuration_id.to_s, id: metric_configuration.id
  128 + end
  129 +
  130 + it { is_expected.to redirect_to(kalibro_configuration_path(kalibro_configuration.id)) }
  131 + end
117 end 132 end
118 133
119 describe 'edit' do 134 describe 'edit' do