Commit 20ed82ce1c360b8b3c1b786d016fe9414ae2337a

Authored by Daniel
Committed by Rafael Manzo
1 parent eaaf4f2f

Fix Metric Configuration controllers unit tests

spec/controllers/compound_metric_configurations_controller_spec.rb
1 require 'rails_helper' 1 require 'rails_helper'
2 2
3 describe CompoundMetricConfigurationsController, :type => :controller do 3 describe CompoundMetricConfigurationsController, :type => :controller do
  4 + let(:reading_group) { FactoryGirl.build(:reading_group, :with_id) }
4 let(:kalibro_configuration) { FactoryGirl.build(:kalibro_configuration, :with_id) } 5 let(:kalibro_configuration) { FactoryGirl.build(:kalibro_configuration, :with_id) }
5 6
6 describe 'new' do 7 describe 'new' do
@@ -9,11 +10,12 @@ describe CompoundMetricConfigurationsController, :type => :controller do @@ -9,11 +10,12 @@ describe CompoundMetricConfigurationsController, :type => :controller do
9 end 10 end
10 11
11 context 'when the current user owns the kalibro configuration' do 12 context 'when the current user owns the kalibro configuration' do
12 - let!(:metric_configuration) { FactoryGirl.build(:metric_configuration) } 13 + let!(:metric_configuration) { FactoryGirl.build(:metric_configuration, reading_group_id: reading_group.id) }
13 before :each do 14 before :each do
14 KalibroConfiguration.expects(:find).with(kalibro_configuration.id).returns kalibro_configuration 15 KalibroConfiguration.expects(:find).with(kalibro_configuration.id).returns kalibro_configuration
15 subject.expects(:kalibro_configuration_owner?).returns true 16 subject.expects(:kalibro_configuration_owner?).returns true
16 MetricConfiguration.expects(:metric_configurations_of).with(kalibro_configuration.id).returns([metric_configuration]) 17 MetricConfiguration.expects(:metric_configurations_of).with(kalibro_configuration.id).returns([metric_configuration])
  18 +
17 get :new, kalibro_configuration_id: kalibro_configuration.id 19 get :new, kalibro_configuration_id: kalibro_configuration.id
18 end 20 end
19 21
@@ -32,7 +34,7 @@ describe CompoundMetricConfigurationsController, :type => :controller do @@ -32,7 +34,7 @@ describe CompoundMetricConfigurationsController, :type => :controller do
32 end 34 end
33 35
34 describe 'create' do 36 describe 'create' do
35 - let(:compound_metric_configuration) { FactoryGirl.build(:compound_metric_configuration, reading_group_id: 1) } 37 + let(:compound_metric_configuration) { FactoryGirl.build(:compound_metric_configuration, reading_group_id: reading_group.id) }
36 let!(:metric_configuration_params) { compound_metric_configuration.to_hash } 38 let!(:metric_configuration_params) { compound_metric_configuration.to_hash }
37 39
38 before do 40 before do
@@ -43,6 +45,7 @@ describe CompoundMetricConfigurationsController, :type => :controller do @@ -43,6 +45,7 @@ describe CompoundMetricConfigurationsController, :type => :controller do
43 before :each do 45 before :each do
44 KalibroConfiguration.expects(:find).with(kalibro_configuration.id).returns kalibro_configuration 46 KalibroConfiguration.expects(:find).with(kalibro_configuration.id).returns kalibro_configuration
45 subject.expects(:kalibro_configuration_owner?).returns true 47 subject.expects(:kalibro_configuration_owner?).returns true
  48 + ReadingGroup.expects(:find).with(reading_group.id).returns(reading_group)
46 end 49 end
47 50
48 context 'with valid fields' do 51 context 'with valid fields' do
@@ -69,13 +72,12 @@ describe CompoundMetricConfigurationsController, :type => :controller do @@ -69,13 +72,12 @@ describe CompoundMetricConfigurationsController, :type => :controller do
69 end 72 end
70 73
71 describe 'show' do 74 describe 'show' do
72 - let(:compound_metric_configuration) { FactoryGirl.build(:compound_metric_configuration_with_id) }  
73 - let(:reading_group) { FactoryGirl.build(:reading_group, :with_id) } 75 + let(:compound_metric_configuration) { FactoryGirl.build(:compound_metric_configuration, :with_id, reading_group_id: reading_group.id) }
74 let(:kalibro_range) { FactoryGirl.build(:kalibro_range) } 76 let(:kalibro_range) { FactoryGirl.build(:kalibro_range) }
75 77
76 before :each do 78 before :each do
77 KalibroConfiguration.expects(:find).with(kalibro_configuration.id).returns kalibro_configuration 79 KalibroConfiguration.expects(:find).with(kalibro_configuration.id).returns kalibro_configuration
78 - ReadingGroup.expects(:find).with(compound_metric_configuration.reading_group_id).returns(reading_group) 80 + ReadingGroup.expects(:find).with(reading_group.id).returns(reading_group)
79 MetricConfiguration.expects(:find).with(compound_metric_configuration.id).returns(compound_metric_configuration) 81 MetricConfiguration.expects(:find).with(compound_metric_configuration.id).returns(compound_metric_configuration)
80 compound_metric_configuration.expects(:kalibro_ranges).returns([kalibro_range]) 82 compound_metric_configuration.expects(:kalibro_ranges).returns([kalibro_range])
81 83
@@ -86,7 +88,7 @@ describe CompoundMetricConfigurationsController, :type => :controller do @@ -86,7 +88,7 @@ describe CompoundMetricConfigurationsController, :type => :controller do
86 end 88 end
87 89
88 describe 'edit' do 90 describe 'edit' do
89 - let(:compound_metric_configuration) { FactoryGirl.build(:compound_metric_configuration_with_id) } 91 + let(:compound_metric_configuration) { FactoryGirl.build(:compound_metric_configuration, :with_id, reading_group_id: reading_group.id) }
90 92
91 context 'with a User logged in' do 93 context 'with a User logged in' do
92 before do 94 before do
@@ -97,8 +99,10 @@ describe CompoundMetricConfigurationsController, :type => :controller do @@ -97,8 +99,10 @@ describe CompoundMetricConfigurationsController, :type => :controller do
97 before :each do 99 before :each do
98 KalibroConfiguration.expects(:find).with(kalibro_configuration.id).returns kalibro_configuration 100 KalibroConfiguration.expects(:find).with(kalibro_configuration.id).returns kalibro_configuration
99 subject.expects(:metric_configuration_owner?).returns(true) 101 subject.expects(:metric_configuration_owner?).returns(true)
  102 + ReadingGroup.expects(:find).with(reading_group.id).returns(reading_group)
100 MetricConfiguration.expects(:find).with(compound_metric_configuration.id).returns(compound_metric_configuration) 103 MetricConfiguration.expects(:find).with(compound_metric_configuration.id).returns(compound_metric_configuration)
101 MetricConfiguration.expects(:metric_configurations_of).with(kalibro_configuration.id).returns([compound_metric_configuration]) 104 MetricConfiguration.expects(:metric_configurations_of).with(kalibro_configuration.id).returns([compound_metric_configuration])
  105 +
102 get :edit, id: compound_metric_configuration.id, kalibro_configuration_id: compound_metric_configuration.kalibro_configuration_id.to_s 106 get :edit, id: compound_metric_configuration.id, kalibro_configuration_id: compound_metric_configuration.kalibro_configuration_id.to_s
103 end 107 end
104 108
@@ -126,13 +130,13 @@ describe CompoundMetricConfigurationsController, :type => :controller do @@ -126,13 +130,13 @@ describe CompoundMetricConfigurationsController, :type => :controller do
126 end 130 end
127 131
128 describe 'update' do 132 describe 'update' do
129 - let(:compound_metric_configuration) { FactoryGirl.build(:compound_metric_configuration_with_id) } 133 + let(:compound_metric_configuration) { FactoryGirl.build(:compound_metric_configuration, :with_id, reading_group_id: reading_group.id) }
130 # Exclude the parameters that come in the URL (as the ones in the body will always be ignored) 134 # Exclude the parameters that come in the URL (as the ones in the body will always be ignored)
131 let(:metric_configuration_params) { compound_metric_configuration.to_hash.except('id', 'kalibro_configuration_id', 'type') } 135 let(:metric_configuration_params) { compound_metric_configuration.to_hash.except('id', 'kalibro_configuration_id', 'type') }
132 # Exclude the reading group id since it is set beforehand and not in the update params 136 # Exclude the reading group id since it is set beforehand and not in the update params
133 let(:update_params) do 137 let(:update_params) do
134 - params = metric_configuration_params.except('reading_group_id')  
135 - params['metric'].except!('type') 138 + params = metric_configuration_params.dup
  139 + params['metric'] = params['metric'].except('type')
136 params 140 params
137 end 141 end
138 142
@@ -144,6 +148,7 @@ describe CompoundMetricConfigurationsController, :type => :controller do @@ -144,6 +148,7 @@ describe CompoundMetricConfigurationsController, :type => :controller do
144 context 'when user owns the metric configuration' do 148 context 'when user owns the metric configuration' do
145 before :each do 149 before :each do
146 KalibroConfiguration.expects(:find).with(kalibro_configuration.id).returns kalibro_configuration 150 KalibroConfiguration.expects(:find).with(kalibro_configuration.id).returns kalibro_configuration
  151 + ReadingGroup.expects(:find).with(reading_group.id).returns(reading_group)
147 MetricConfiguration.expects(:find).with(compound_metric_configuration.id).returns(compound_metric_configuration) 152 MetricConfiguration.expects(:find).with(compound_metric_configuration.id).returns(compound_metric_configuration)
148 subject.expects(:metric_configuration_owner?).returns true 153 subject.expects(:metric_configuration_owner?).returns true
149 end 154 end
spec/controllers/metric_configurations_controller_spec.rb
1 require 'rails_helper' 1 require 'rails_helper'
2 2
3 describe MetricConfigurationsController, :type => :controller do 3 describe MetricConfigurationsController, :type => :controller do
  4 + let(:reading_group) { FactoryGirl.build(:reading_group, :with_id) }
4 let(:kalibro_configuration) { FactoryGirl.build(:kalibro_configuration, :with_id) } 5 let(:kalibro_configuration) { FactoryGirl.build(:kalibro_configuration, :with_id) }
5 6
6 describe 'choose_metric' do 7 describe 'choose_metric' do
@@ -39,6 +40,7 @@ describe MetricConfigurationsController, :type => :controller do @@ -39,6 +40,7 @@ describe MetricConfigurationsController, :type => :controller do
39 subject.expects(:kalibro_configuration_owner?).returns true 40 subject.expects(:kalibro_configuration_owner?).returns true
40 KalibroClient::Entities::Processor::MetricCollectorDetails.expects(:find_by_name).with(metric_collector.name).returns(metric_collector) 41 KalibroClient::Entities::Processor::MetricCollectorDetails.expects(:find_by_name).with(metric_collector.name).returns(metric_collector)
41 metric_collector.expects(:find_metric_by_name).with(native_metric.name).returns(native_metric) 42 metric_collector.expects(:find_metric_by_name).with(native_metric.name).returns(native_metric)
  43 +
42 get :new, kalibro_configuration_id: kalibro_configuration.id, metric_name: native_metric.name, metric_collector_name: metric_collector.name 44 get :new, kalibro_configuration_id: kalibro_configuration.id, metric_name: native_metric.name, metric_collector_name: metric_collector.name
43 end 45 end
44 46
@@ -57,7 +59,7 @@ describe MetricConfigurationsController, :type => :controller do @@ -57,7 +59,7 @@ describe MetricConfigurationsController, :type => :controller do
57 end 59 end
58 60
59 describe 'create' do 61 describe 'create' do
60 - let!(:metric_configuration) { FactoryGirl.build(:metric_configuration) } 62 + let!(:metric_configuration) { FactoryGirl.build(:metric_configuration, reading_group_id: reading_group.id) }
61 let(:metric_configuration_params) { metric_configuration.to_hash } 63 let(:metric_configuration_params) { metric_configuration.to_hash }
62 let(:metric_collector) { FactoryGirl.build(:metric_collector) } 64 let(:metric_collector) { FactoryGirl.build(:metric_collector) }
63 65
@@ -69,6 +71,7 @@ describe MetricConfigurationsController, :type => :controller do @@ -69,6 +71,7 @@ describe MetricConfigurationsController, :type => :controller do
69 before :each do 71 before :each do
70 KalibroConfiguration.expects(:find).with(kalibro_configuration.id).returns kalibro_configuration 72 KalibroConfiguration.expects(:find).with(kalibro_configuration.id).returns kalibro_configuration
71 subject.expects(:kalibro_configuration_owner?).returns true 73 subject.expects(:kalibro_configuration_owner?).returns true
  74 + ReadingGroup.expects(:find).with(reading_group.id).returns(reading_group)
72 end 75 end
73 76
74 context 'with valid fields' do 77 context 'with valid fields' do
@@ -98,8 +101,7 @@ describe MetricConfigurationsController, :type => :controller do @@ -98,8 +101,7 @@ describe MetricConfigurationsController, :type => :controller do
98 end 101 end
99 102
100 describe 'show' do 103 describe 'show' do
101 - let(:metric_configuration) { FactoryGirl.build(:metric_configuration_with_id) }  
102 - let(:reading_group) { FactoryGirl.build(:reading_group, :with_id) } 104 + let(:metric_configuration) { FactoryGirl.build(:metric_configuration, :with_id, reading_group_id: reading_group.id) }
103 let(:kalibro_range) { FactoryGirl.build(:kalibro_range) } 105 let(:kalibro_range) { FactoryGirl.build(:kalibro_range) }
104 106
105 before :each do 107 before :each do
@@ -115,7 +117,7 @@ describe MetricConfigurationsController, :type => :controller do @@ -115,7 +117,7 @@ describe MetricConfigurationsController, :type => :controller do
115 end 117 end
116 118
117 describe 'edit' do 119 describe 'edit' do
118 - let(:metric_configuration) { FactoryGirl.build(:metric_configuration_with_id) } 120 + let(:metric_configuration) { FactoryGirl.build(:metric_configuration, :with_id, reading_group_id: reading_group.id) }
119 let!(:reading_groups) { [FactoryGirl.build(:reading_group)] } 121 let!(:reading_groups) { [FactoryGirl.build(:reading_group)] }
120 let!(:user) { FactoryGirl.create(:user) } 122 let!(:user) { FactoryGirl.create(:user) }
121 123
@@ -127,9 +129,11 @@ describe MetricConfigurationsController, :type => :controller do @@ -127,9 +129,11 @@ describe MetricConfigurationsController, :type => :controller do
127 context 'when the user owns the metric configuration' do 129 context 'when the user owns the metric configuration' do
128 before :each do 130 before :each do
129 KalibroConfiguration.expects(:find).with(kalibro_configuration.id).returns kalibro_configuration 131 KalibroConfiguration.expects(:find).with(kalibro_configuration.id).returns kalibro_configuration
  132 + ReadingGroup.expects(:find).with(reading_group.id).returns(reading_group)
130 ReadingGroup.expects(:public_or_owned_by_user).with(user).returns(reading_groups) 133 ReadingGroup.expects(:public_or_owned_by_user).with(user).returns(reading_groups)
131 subject.expects(:metric_configuration_owner?).returns(true) 134 subject.expects(:metric_configuration_owner?).returns(true)
132 MetricConfiguration.expects(:find).with(metric_configuration.id).returns(metric_configuration) 135 MetricConfiguration.expects(:find).with(metric_configuration.id).returns(metric_configuration)
  136 +
133 get :edit, id: metric_configuration.id, kalibro_configuration_id: metric_configuration.kalibro_configuration_id.to_s 137 get :edit, id: metric_configuration.id, kalibro_configuration_id: metric_configuration.kalibro_configuration_id.to_s
134 end 138 end
135 139
@@ -137,7 +141,7 @@ describe MetricConfigurationsController, :type => :controller do @@ -137,7 +141,7 @@ describe MetricConfigurationsController, :type => :controller do
137 end 141 end
138 142
139 context 'when the user does not own the metric configuration' do 143 context 'when the user does not own the metric configuration' do
140 - before do 144 + before :each do
141 get :edit, id: metric_configuration.id, kalibro_configuration_id: metric_configuration.kalibro_configuration_id.to_s 145 get :edit, id: metric_configuration.id, kalibro_configuration_id: metric_configuration.kalibro_configuration_id.to_s
142 end 146 end
143 147
@@ -156,9 +160,9 @@ describe MetricConfigurationsController, :type => :controller do @@ -156,9 +160,9 @@ describe MetricConfigurationsController, :type => :controller do
156 end 160 end
157 161
158 describe 'update' do 162 describe 'update' do
159 - let(:metric_configuration) { FactoryGirl.build(:metric_configuration_with_id) } 163 + let(:metric_configuration) { FactoryGirl.build(:metric_configuration_with_id, reading_group_id: reading_group.id) }
160 let(:metric_configuration_params) { metric_configuration.to_hash.except('id', 'metric') } 164 let(:metric_configuration_params) { metric_configuration.to_hash.except('id', 'metric') }
161 - let(:update_params) { metric_configuration_params.except('kalibro_configuration_id', 'reading_group_id') } 165 + let(:update_params) { metric_configuration_params.except('kalibro_configuration_id') }
162 166
163 context 'when the user is logged in' do 167 context 'when the user is logged in' do
164 before do 168 before do
@@ -169,6 +173,7 @@ describe MetricConfigurationsController, :type => :controller do @@ -169,6 +173,7 @@ describe MetricConfigurationsController, :type => :controller do
169 before :each do 173 before :each do
170 KalibroConfiguration.expects(:find).with(kalibro_configuration.id).returns kalibro_configuration 174 KalibroConfiguration.expects(:find).with(kalibro_configuration.id).returns kalibro_configuration
171 subject.expects(:metric_configuration_owner?).returns true 175 subject.expects(:metric_configuration_owner?).returns true
  176 + ReadingGroup.expects(:find).with(reading_group.id).returns(reading_group)
172 end 177 end
173 178
174 context 'with valid fields' do 179 context 'with valid fields' do