Commit e54677680837dfe6ca0b9662ef94206b3fdddce3

Authored by Heitor
1 parent 5f6f16b3

Unit test for creating a kalibro range with a compound metric configuration

spec/controllers/kalibro_ranges_controller_spec.rb
1 1 require 'rails_helper'
2 2  
3 3 describe KalibroRangesController, :type => :controller do
4   - let(:kalibro_range) { FactoryGirl.build(:kalibro_range_with_id) }
5 4 let(:metric_configuration) { FactoryGirl.build(:metric_configuration_with_id) }
  5 + let(:kalibro_range) { FactoryGirl.build(:kalibro_range_with_id, metric_configuration_id: metric_configuration.id) }
6 6  
7 7 describe 'new' do
8 8 let(:kalibro_configuration) { FactoryGirl.build(:kalibro_configuration_with_id) }
... ... @@ -46,7 +46,7 @@ describe KalibroRangesController, :type => :controller do
46 46 subject.expects(:metric_configuration_owner?).returns true
47 47 end
48 48  
49   - context 'with valid fields' do
  49 + context 'with valid fields and a native metric configuration' do
50 50 before :each do
51 51 KalibroRange.any_instance.expects(:save).returns(true)
52 52 MetricConfiguration.expects(:find).with(kalibro_range.metric_configuration_id).returns(metric_configuration)
... ... @@ -54,6 +54,22 @@ describe KalibroRangesController, :type => :controller do
54 54 post :create, kalibro_configuration_id: kalibro_configuration.id, metric_configuration_id: kalibro_range.metric_configuration_id, kalibro_range: kalibro_range_params
55 55 end
56 56  
  57 + it { is_expected.to redirect_to(kalibro_configuration_metric_configuration_path(metric_configuration.kalibro_configuration_id, metric_configuration.id)) }
  58 + it { is_expected.to respond_with(:redirect) }
  59 + end
  60 +
  61 + context 'with valid fields and a compound metric configuration' do
  62 + let(:compound_metric_configuration) { FactoryGirl.build(:compound_metric_configuration_with_id) }
  63 + let(:new_kalibro_range) { FactoryGirl.build(:kalibro_range, metric_configuration_id: compound_metric_configuration.id) }
  64 +
  65 + before :each do
  66 + KalibroRange.any_instance.expects(:save).returns(true)
  67 + MetricConfiguration.expects(:find).with(new_kalibro_range.metric_configuration_id).returns(compound_metric_configuration)
  68 +
  69 + post :create, kalibro_configuration_id: kalibro_configuration.id, metric_configuration_id: new_kalibro_range.metric_configuration_id, kalibro_range: new_kalibro_range.to_hash
  70 + end
  71 +
  72 + it { is_expected.to redirect_to(kalibro_configuration_compound_metric_configuration_path(compound_metric_configuration.kalibro_configuration_id, compound_metric_configuration.id)) }
57 73 it { is_expected.to respond_with(:redirect) }
58 74 end
59 75  
... ...