Commit 7e706658a2e7c56e334953107703db6000b5e048

Authored by Rafael Manzo
1 parent e9f589a5

Full tet coverage for BaseConfigurationsController

spec/controllers/base_metric_configurations_controller_spec.rb
1 require 'spec_helper' 1 require 'spec_helper'
2 2
  3 +class CleanInheritsFromBaseConfigurationsController < BaseConfigurationsController
  4 + def metric_configuration; super; end
  5 + def update_metric_configuration (new_metric_configuration); super; end
  6 +end
  7 +
3 class InheritsFromBaseConfigurationsController < BaseConfigurationsController 8 class InheritsFromBaseConfigurationsController < BaseConfigurationsController
4 -  
5 def new 9 def new
6 render :nothing => true 10 render :nothing => true
7 super 11 super
@@ -13,9 +17,9 @@ class InheritsFromBaseConfigurationsController &lt; BaseConfigurationsController @@ -13,9 +17,9 @@ class InheritsFromBaseConfigurationsController &lt; BaseConfigurationsController
13 end 17 end
14 18
15 def show 19 def show
16 - render :nothing => true  
17 update_metric_configuration(@metric_configuration) 20 update_metric_configuration(@metric_configuration)
18 super 21 super
  22 + render :nothing => true
19 end 23 end
20 24
21 def metric_configuration 25 def metric_configuration
@@ -112,16 +116,44 @@ describe InheritsFromBaseConfigurationsController do @@ -112,16 +116,44 @@ describe InheritsFromBaseConfigurationsController do
112 let(:reading_group) { FactoryGirl.build(:reading_group) } 116 let(:reading_group) { FactoryGirl.build(:reading_group) }
113 let(:mezuro_range) { FactoryGirl.build(:mezuro_range) } 117 let(:mezuro_range) { FactoryGirl.build(:mezuro_range) }
114 118
115 - before :each do  
116 - ReadingGroup.expects(:find).with(metric_configuration.reading_group_id).returns(reading_group)  
117 - MetricConfiguration.expects(:find).with(metric_configuration.id).returns(metric_configuration)  
118 - MezuroRange.expects(:ranges_of).with(metric_configuration.id).returns([mezuro_range]) 119 + context 'with a valid metric_configuration' do
  120 + before :each do
  121 + ReadingGroup.expects(:find).with(metric_configuration.reading_group_id).returns(reading_group)
  122 + MetricConfiguration.expects(:find).with(metric_configuration.id).returns(metric_configuration)
  123 + MezuroRange.expects(:ranges_of).with(metric_configuration.id).returns([mezuro_range])
119 124
120 - get :show, mezuro_configuration_id: metric_configuration.configuration_id.to_s, id: metric_configuration.id 125 + get :show, mezuro_configuration_id: metric_configuration.configuration_id.to_s, id: metric_configuration.id
  126 + end
  127 +
  128 + it { subject.mezuro_ranges.should_not be_nil}
  129 + it { subject.reading_group.should_not be_nil }
121 end 130 end
122 131
123 - it { subject.mezuro_ranges.should_not be_nil}  
124 - it { subject.reading_group.should_not be_nil } 132 + context 'with a invalid metric_configuration' do
  133 + before :each do
  134 + subject.expects(:metric_configuration).returns(false)
  135 + end
  136 +
  137 + it 'should raise a NotImplementedError' do
  138 + expect { subject.show }.to raise_error(NotImplementedError)
  139 + end
  140 + end
125 end 141 end
126 142
  143 +
  144 + context 'with a inheritance without overrides methods' do
  145 + subject { CleanInheritsFromBaseConfigurationsController.new }
  146 +
  147 + describe 'metric_configuration' do
  148 + it 'should raise a NotImplementedError' do
  149 + expect { subject.metric_configuration }.to raise_error(NotImplementedError)
  150 + end
  151 + end
  152 +
  153 + describe 'update_metric_configuration' do
  154 + it 'should raise a NotImplementedError' do
  155 + expect { subject.update_metric_configuration(nil) }.to raise_error(NotImplementedError)
  156 + end
  157 + end
  158 + end
127 end 159 end