Commit 8c64ffc8af338a0f632e5422e10fdc73492ffafe
1 parent
2f185be5
Exists in
colab
and in
4 other branches
Coverup all metric_con finding branches on Base
We were not testing the case when the returned metric_configuration was from a different KalibroConfiguration. This prevents different ownership MetricConfiguration editions and false positives for ownership_authentication helper. Signed off by: Heitor Reis <marcheing@gmail.com>
Showing
1 changed file
with
33 additions
and
12 deletions
Show diff stats
spec/controllers/metric_configurations_controller_spec.rb
| ... | ... | @@ -105,29 +105,50 @@ describe MetricConfigurationsController, :type => :controller do |
| 105 | 105 | let(:kalibro_range) { FactoryGirl.build(:kalibro_range) } |
| 106 | 106 | |
| 107 | 107 | before :each do |
| 108 | - KalibroConfiguration.expects(:find).with(kalibro_configuration.id).returns kalibro_configuration | |
| 109 | - MetricConfiguration.expects(:find).with(metric_configuration.id).returns(metric_configuration) | |
| 108 | + KalibroConfiguration.expects(:find).with(kalibro_configuration.id).returns kalibro_configuration | |
| 110 | 109 | end |
| 111 | 110 | |
| 112 | - context 'with valid parameters' do | |
| 111 | + context 'with a valid metric configuration instance' do | |
| 113 | 112 | before :each do |
| 114 | - ReadingGroup.expects(:find).with(metric_configuration.reading_group_id).returns(reading_group) | |
| 115 | - metric_configuration.expects(:kalibro_ranges).returns([kalibro_range]) | |
| 113 | + MetricConfiguration.expects(:find).with(metric_configuration.id).returns(metric_configuration) | |
| 114 | + end | |
| 115 | + | |
| 116 | + context 'with valid parameters' do | |
| 117 | + before :each do | |
| 118 | + ReadingGroup.expects(:find).with(metric_configuration.reading_group_id).returns(reading_group) | |
| 119 | + metric_configuration.expects(:kalibro_ranges).returns([kalibro_range]) | |
| 120 | + | |
| 121 | + get :show, kalibro_configuration_id: metric_configuration.kalibro_configuration_id.to_s, id: metric_configuration.id | |
| 122 | + end | |
| 116 | 123 | |
| 117 | - get :show, kalibro_configuration_id: metric_configuration.kalibro_configuration_id.to_s, id: metric_configuration.id | |
| 124 | + it { is_expected.to render_template(:show) } | |
| 118 | 125 | end |
| 119 | 126 | |
| 120 | - it { is_expected.to render_template(:show) } | |
| 127 | + context 'with invalid parameters' do | |
| 128 | + before :each do | |
| 129 | + ReadingGroup.expects(:find).with(metric_configuration.reading_group_id).raises(KalibroClient::Errors::RecordNotFound) | |
| 130 | + | |
| 131 | + get :show, kalibro_configuration_id: metric_configuration.kalibro_configuration_id.to_s, id: metric_configuration.id | |
| 132 | + end | |
| 133 | + | |
| 134 | + it { is_expected.to redirect_to(kalibro_configuration_path(kalibro_configuration.id)) } | |
| 135 | + end | |
| 121 | 136 | end |
| 122 | 137 | |
| 123 | - context 'with invalid parameters' do | |
| 124 | - before :each do | |
| 125 | - ReadingGroup.expects(:find).with(metric_configuration.reading_group_id).raises(KalibroClient::Errors::RecordNotFound) | |
| 138 | + context 'with an invalid metric configuration instance' do | |
| 139 | + let!(:invalid_metric_configuration) { FactoryGirl.build(:metric_configuration, reading_group_id: reading_group.id, kalibro_configuration_id: metric_configuration.kalibro_configuration_id + 1) } | |
| 126 | 140 | |
| 127 | - get :show, kalibro_configuration_id: metric_configuration.kalibro_configuration_id.to_s, id: metric_configuration.id | |
| 141 | + before :each do | |
| 142 | + MetricConfiguration.expects(:find).with(metric_configuration.id).returns(invalid_metric_configuration) | |
| 128 | 143 | end |
| 129 | 144 | |
| 130 | - it { is_expected.to redirect_to(kalibro_configuration_path(kalibro_configuration.id)) } | |
| 145 | + context 'with valid parameters' do | |
| 146 | + before :each do | |
| 147 | + get :show, kalibro_configuration_id: metric_configuration.kalibro_configuration_id.to_s, id: metric_configuration.id | |
| 148 | + end | |
| 149 | + | |
| 150 | + it { is_expected.to respond_with(:not_found) } | |
| 151 | + end | |
| 131 | 152 | end |
| 132 | 153 | end |
| 133 | 154 | ... | ... |