From cead3ff7b3ffc6e66d73afb4d5cb5c568057eb5d Mon Sep 17 00:00:00 2001 From: Heitor Reis Date: Tue, 24 Feb 2015 11:05:02 -0300 Subject: [PATCH] Unit test for updating a kalibro range with a compound metric configuration --- spec/controllers/kalibro_ranges_controller_spec.rb | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/spec/controllers/kalibro_ranges_controller_spec.rb b/spec/controllers/kalibro_ranges_controller_spec.rb index b976cc3..56803c1 100644 --- a/spec/controllers/kalibro_ranges_controller_spec.rb +++ b/spec/controllers/kalibro_ranges_controller_spec.rb @@ -126,17 +126,17 @@ describe KalibroRangesController, :type => :controller do context "when the user doesn't own the metric configuration" do before :each do - delete :destroy, id: kalibro_range.id.to_s, metric_configuration_id: metric_configuration.id.to_s, kalibro_configuration_id: metric_configuration.kalibro_configuration_id.to_s + delete :destroy, id: kalibro_range.id, metric_configuration_id: metric_configuration.id, kalibro_configuration_id: metric_configuration.kalibro_configuration_id end - it { is_expected.to redirect_to(kalibro_configurations_path(metric_configuration.kalibro_configuration_id)) } - it { is_expected.to respond_with(:redirect) } + it { is_expected.to redirect_to(kalibro_configurations_path(metric_configuration.kalibro_configuration_id)) } + it { is_expected.to respond_with(:redirect) } end end context 'with no User logged in' do before :each do - delete :destroy, id: kalibro_range.id.to_s, metric_configuration_id: metric_configuration.id.to_s, kalibro_configuration_id: metric_configuration.kalibro_configuration_id.to_s + delete :destroy, id: kalibro_range.id, metric_configuration_id: metric_configuration.id, kalibro_configuration_id: metric_configuration.kalibro_configuration_id end it { is_expected.to redirect_to new_user_session_path } @@ -216,6 +216,22 @@ describe KalibroRangesController, :type => :controller do it { is_expected.to respond_with(:redirect) } end + context 'with valid fields and a compound metric configuration' do + let(:compound_metric_configuration) { FactoryGirl.build(:compound_metric_configuration_with_id) } + let(:new_kalibro_range) { FactoryGirl.build(:kalibro_range_with_id, metric_configuration_id: compound_metric_configuration.id) } + + before :each do + subject.expects(:find_resource).with(KalibroRange, new_kalibro_range.id).returns(new_kalibro_range) + KalibroRange.any_instance.expects(:update).with(new_kalibro_range.to_hash).returns(true) + MetricConfiguration.expects(:find).with(new_kalibro_range.metric_configuration_id).returns(compound_metric_configuration) + + post :update, kalibro_configuration_id: compound_metric_configuration.kalibro_configuration_id, id: new_kalibro_range.id, metric_configuration_id: compound_metric_configuration.id, kalibro_range: new_kalibro_range.to_hash + end + + it { is_expected.to redirect_to(kalibro_configuration_compound_metric_configuration_path(compound_metric_configuration.kalibro_configuration_id, compound_metric_configuration.id)) } + it { is_expected.to respond_with(:redirect) } + end + context 'with an invalid field' do before :each do subject.expects(:find_resource).with(KalibroRange, kalibro_range.id).returns(kalibro_range) -- libgit2 0.21.2