Commit 9f532746832b4b7377c8626788cf843b40ccd064
1 parent
20ed82ce
Exists in
colab
and in
4 other branches
Fix MetricConfigurationController#update unit test
It was missing proper mocks for the set_metric! before_action from BaseMetricConfigurationsController. Signed off by: Heitor Reis <marcheing@gmail.com>
Showing
1 changed file
with
39 additions
and
27 deletions
Show diff stats
spec/controllers/metric_configurations_controller_spec.rb
... | ... | @@ -169,42 +169,54 @@ describe MetricConfigurationsController, :type => :controller do |
169 | 169 | sign_in FactoryGirl.create(:user) |
170 | 170 | end |
171 | 171 | |
172 | - context 'when user owns the metric configuration' do | |
172 | + context 'when the given metric exists' do | |
173 | + let!(:metric_collector) { mock('metric_collector') } | |
174 | + | |
173 | 175 | before :each do |
174 | - KalibroConfiguration.expects(:find).with(kalibro_configuration.id).returns kalibro_configuration | |
175 | - subject.expects(:metric_configuration_owner?).returns true | |
176 | - ReadingGroup.expects(:find).with(reading_group.id).returns(reading_group) | |
176 | + metric_collector.expects(:find_metric_by_code).with(metric_configuration.metric.code).returns(metric_configuration.metric) | |
177 | + | |
178 | + KalibroClient::Entities::Processor::MetricCollectorDetails.expects(:find_by_name). | |
179 | + with(metric_configuration.metric.metric_collector_name). | |
180 | + returns(metric_collector) | |
177 | 181 | end |
178 | 182 | |
179 | - context 'with valid fields' do | |
183 | + context 'and the user owns the metric configuration' do | |
180 | 184 | before :each do |
181 | - MetricConfiguration.expects(:find).with(metric_configuration.id).returns(metric_configuration) | |
182 | - MetricConfiguration.any_instance.expects(:update).with(update_params).returns(true) | |
183 | - | |
184 | - post :update, | |
185 | - kalibro_configuration_id: metric_configuration.kalibro_configuration_id, id: metric_configuration.id, | |
186 | - metric_configuration: metric_configuration_params, | |
187 | - metric_collector_name: metric_configuration.metric.metric_collector_name, | |
188 | - metric_code: metric_configuration.metric.code | |
185 | + KalibroConfiguration.expects(:find).with(kalibro_configuration.id).returns kalibro_configuration | |
186 | + subject.expects(:metric_configuration_owner?).returns true | |
187 | + ReadingGroup.expects(:find).with(reading_group.id).returns(reading_group) | |
189 | 188 | end |
190 | 189 | |
191 | - it { is_expected.to redirect_to(kalibro_configuration_path(id: metric_configuration.kalibro_configuration_id)) } | |
192 | - it { is_expected.to respond_with(:redirect) } | |
193 | - end | |
190 | + context 'with valid fields' do | |
191 | + before :each do | |
192 | + MetricConfiguration.expects(:find).with(metric_configuration.id).returns(metric_configuration) | |
193 | + MetricConfiguration.any_instance.expects(:update).with(update_params).returns(true) | |
194 | 194 | |
195 | - context 'with an invalid field' do | |
196 | - before :each do | |
197 | - MetricConfiguration.expects(:find).with(metric_configuration.id).returns(metric_configuration) | |
198 | - MetricConfiguration.any_instance.expects(:update).with(update_params).returns(false) | |
199 | - | |
200 | - post :update, | |
201 | - kalibro_configuration_id: metric_configuration.kalibro_configuration_id, id: metric_configuration.id, | |
202 | - metric_configuration: metric_configuration_params, | |
203 | - metric_collector_name: metric_configuration.metric.metric_collector_name, | |
204 | - metric_code: metric_configuration.metric.code | |
195 | + post :update, | |
196 | + kalibro_configuration_id: metric_configuration.kalibro_configuration_id, id: metric_configuration.id, | |
197 | + metric_configuration: metric_configuration_params, | |
198 | + metric_collector_name: metric_configuration.metric.metric_collector_name, | |
199 | + metric_code: metric_configuration.metric.code | |
200 | + end | |
201 | + | |
202 | + it { is_expected.to redirect_to(kalibro_configuration_path(id: metric_configuration.kalibro_configuration_id)) } | |
203 | + it { is_expected.to respond_with(:redirect) } | |
205 | 204 | end |
206 | 205 | |
207 | - it { is_expected.to render_template(:edit) } | |
206 | + context 'with an invalid field' do | |
207 | + before :each do | |
208 | + MetricConfiguration.expects(:find).with(metric_configuration.id).returns(metric_configuration) | |
209 | + MetricConfiguration.any_instance.expects(:update).with(update_params).returns(false) | |
210 | + | |
211 | + post :update, | |
212 | + kalibro_configuration_id: metric_configuration.kalibro_configuration_id, id: metric_configuration.id, | |
213 | + metric_configuration: metric_configuration_params, | |
214 | + metric_collector_name: metric_configuration.metric.metric_collector_name, | |
215 | + metric_code: metric_configuration.metric.code | |
216 | + end | |
217 | + | |
218 | + it { is_expected.to render_template(:edit) } | |
219 | + end | |
208 | 220 | end |
209 | 221 | end |
210 | 222 | ... | ... |