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