Commit 3d724355f53a7970ed6aff507608ce2ee49fd966

Authored by Heitor
Committed by Rafael Manzo
1 parent 82bc8ca4

Remove BaseMetricConfigurationsController unit test

All of it's code is covered by the concrete class tests, and the
abstract class tests were nothing like real usage, and will be made
totally obsolete with the refactor.

Signed off by: Daniel Miranda <danielkza2@gmail.com>
spec/controllers/base_metric_configurations_controller_spec.rb
... ... @@ -1,157 +0,0 @@
1   -require 'rails_helper'
2   -
3   -class CleanInheritsFromBaseMetricConfigurationsController < BaseMetricConfigurationsController
4   - def metric_configuration; super; end
5   - def update_metric_configuration (new_metric_configuration); super; end
6   -end
7   -
8   -class InheritsFromBaseMetricConfigurationsController < BaseMetricConfigurationsController
9   - def new
10   - render :nothing => true
11   - super
12   - end
13   -
14   - def create
15   - render :nothing => true
16   - super
17   - end
18   -
19   - def show
20   - update_metric_configuration(@metric_configuration)
21   - super
22   - render :nothing => true
23   - end
24   -
25   - def metric_configuration
26   - @metric_configuration
27   - end
28   -
29   - def update_metric_configuration (new_metric_configuration)
30   - @metric_configuration = new_metric_configuration
31   - end
32   -
33   - def kalibro_ranges
34   - @kalibro_ranges
35   - end
36   -
37   - def reading_group
38   - @reading_group
39   - end
40   -end
41   -
42   -
43   -describe InheritsFromBaseMetricConfigurationsController, :type => :controller do
44   - let(:kalibro_configuration) { FactoryGirl.build(:kalibro_configuration, :with_id) }
45   -
46   - before do
47   - Rails.application.routes.draw do
48   - resources :kalibro_configurations do
49   - match '/metric_configurations/choose_metric' => 'metric_configurations#choose_metric', as: :choose_metric, :via => [:get]
50   - resources :inherits_from_base_metric_configurations do
51   - match '/metric_configurations/new' => 'metric_configurations#new', as: :new_metric_configuration, :via => [:post]
52   - match '/metric_configurations/:id' => 'metric_configurations#update', as: :metric_configuration_update, :via => [:put]
53   - end
54   - end
55   - end
56   - end
57   -
58   - after do
59   - Rails.application.reload_routes!
60   - end
61   -
62   - describe 'new' do
63   - before :each do
64   - sign_in FactoryGirl.create(:user)
65   - end
66   -
67   - context 'when the current user owns the kalibro configuration' do
68   - let!(:metric_configuration) { FactoryGirl.build(:metric_configuration_with_id) }
69   - before :each do
70   - subject.expects(:kalibro_configuration_owner?).returns true
71   - get :new, kalibro_configuration_id: kalibro_configuration.id
72   - end
73   -
74   - it { expect(metric_configuration).not_to be_nil }
75   - it { is_expected.to respond_with(:success) }
76   - end
77   -
78   - context "when the current user doesn't own the kalibro configuration" do
79   - before :each do
80   - get :new, kalibro_configuration_id: kalibro_configuration.id
81   - end
82   -
83   - it { is_expected.to redirect_to(kalibro_configurations_url(id: kalibro_configuration.id)) }
84   - it { is_expected.to respond_with(:redirect) }
85   - end
86   - end
87   -
88   - describe 'create' do
89   - let!(:metric_configuration_params) { FactoryGirl.build(:metric_configuration, metric: FactoryGirl.build(:metric)).to_hash }
90   - let(:metric_collector) { FactoryGirl.build(:metric_collector) }
91   -
92   - before :each do
93   - sign_in FactoryGirl.create(:user)
94   - end
95   -
96   - context 'when the current user owns the kalibro configuration' do
97   - before :each do
98   - subject.expects(:kalibro_configuration_owner?).returns true
99   - end
100   -
101   - context 'with valid fields' do
102   - before :each do
103   - post :create, kalibro_configuration_id: kalibro_configuration.id, metric_configuration: metric_configuration_params, metric_collector_name: metric_collector.name
104   - end
105   -
106   - it { expect(subject.metric_configuration).not_to be_nil }
107   - it { is_expected.to respond_with(:success) }
108   - end
109   - end
110   - end
111   -
112   - describe 'show' do
113   - let(:metric_configuration) { FactoryGirl.build(:metric_configuration_with_id) }
114   - let(:reading_group) { FactoryGirl.build(:reading_group, :with_id) }
115   - let(:kalibro_range) { FactoryGirl.build(:kalibro_range) }
116   -
117   - context 'with a valid metric_configuration' do
118   - before :each do
119   - ReadingGroup.expects(:find).with(metric_configuration.reading_group_id).returns(reading_group)
120   - MetricConfiguration.expects(:find).with(metric_configuration.id).returns(metric_configuration)
121   - metric_configuration.expects(:kalibro_ranges).returns([kalibro_range])
122   -
123   - get :show, kalibro_configuration_id: metric_configuration.kalibro_configuration_id.to_s, id: metric_configuration.id
124   - end
125   -
126   - it { expect(subject.kalibro_ranges).not_to be_nil}
127   - it { expect(subject.reading_group).not_to be_nil }
128   - end
129   -
130   - context 'with a invalid metric_configuration' do
131   - before :each do
132   - subject.expects(:metric_configuration).returns(false)
133   - end
134   -
135   - it 'should raise a NotImplementedError' do
136   - expect { subject.show }.to raise_error(NotImplementedError)
137   - end
138   - end
139   - end
140   -
141   -
142   - context 'with a inheritance without overrides methods' do
143   - subject { CleanInheritsFromBaseMetricConfigurationsController.new }
144   -
145   - describe 'metric_configuration' do
146   - it 'should raise a NotImplementedError' do
147   - expect { subject.metric_configuration }.to raise_error(NotImplementedError)
148   - end
149   - end
150   -
151   - describe 'update_metric_configuration' do
152   - it 'should raise a NotImplementedError' do
153   - expect { subject.update_metric_configuration(nil) }.to raise_error(NotImplementedError)
154   - end
155   - end
156   - end
157   -end