From e54677680837dfe6ca0b9662ef94206b3fdddce3 Mon Sep 17 00:00:00 2001 From: Heitor Reis Date: Tue, 24 Feb 2015 10:51:08 -0300 Subject: [PATCH] Unit test for creating a kalibro range with a compound metric configuration --- spec/controllers/kalibro_ranges_controller_spec.rb | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/spec/controllers/kalibro_ranges_controller_spec.rb b/spec/controllers/kalibro_ranges_controller_spec.rb index ea86a66..a7e6ee9 100644 --- a/spec/controllers/kalibro_ranges_controller_spec.rb +++ b/spec/controllers/kalibro_ranges_controller_spec.rb @@ -1,8 +1,8 @@ require 'rails_helper' describe KalibroRangesController, :type => :controller do - let(:kalibro_range) { FactoryGirl.build(:kalibro_range_with_id) } let(:metric_configuration) { FactoryGirl.build(:metric_configuration_with_id) } + let(:kalibro_range) { FactoryGirl.build(:kalibro_range_with_id, metric_configuration_id: metric_configuration.id) } describe 'new' do let(:kalibro_configuration) { FactoryGirl.build(:kalibro_configuration_with_id) } @@ -46,7 +46,7 @@ describe KalibroRangesController, :type => :controller do subject.expects(:metric_configuration_owner?).returns true end - context 'with valid fields' do + context 'with valid fields and a native metric configuration' do before :each do KalibroRange.any_instance.expects(:save).returns(true) MetricConfiguration.expects(:find).with(kalibro_range.metric_configuration_id).returns(metric_configuration) @@ -54,6 +54,22 @@ describe KalibroRangesController, :type => :controller do post :create, kalibro_configuration_id: kalibro_configuration.id, metric_configuration_id: kalibro_range.metric_configuration_id, kalibro_range: kalibro_range_params end + it { is_expected.to redirect_to(kalibro_configuration_metric_configuration_path(metric_configuration.kalibro_configuration_id, metric_configuration.id)) } + 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, metric_configuration_id: compound_metric_configuration.id) } + + before :each do + KalibroRange.any_instance.expects(:save).returns(true) + MetricConfiguration.expects(:find).with(new_kalibro_range.metric_configuration_id).returns(compound_metric_configuration) + + post :create, kalibro_configuration_id: kalibro_configuration.id, metric_configuration_id: new_kalibro_range.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 -- libgit2 0.21.2