Commit 6d8f5022b712df7c0050c2de5e038f3ec2fd7e44

Authored by João M. M. da Silva + Diego Araújo
Committed by Paulo Meireles
1 parent b36660ac

[Mezuro] Tests for metric configuration.

plugins/mezuro/controllers/myprofile/mezuro_plugin_metric_configuration_controller.rb
@@ -15,8 +15,7 @@ class MezuroPluginMetricConfigurationController < MezuroPluginMyprofileControlle @@ -15,8 +15,7 @@ class MezuroPluginMetricConfigurationController < MezuroPluginMyprofileControlle
15 end 15 end
16 16
17 def create_native 17 def create_native
18 - metric_configuration = Kalibro::MetricConfiguration.new(params[:metric_configuration])  
19 - metric_configuration.save 18 + metric_configuration = Kalibro::MetricConfiguration.create(params[:metric_configuration])
20 19
21 if metric_configuration_has_errors? metric_configuration 20 if metric_configuration_has_errors? metric_configuration
22 redirect_to_error_page metric_configuration.errors[0].message 21 redirect_to_error_page metric_configuration.errors[0].message
plugins/mezuro/test/functional/myprofile/mezuro_plugin_metric_configuration_controller_test.rb
@@ -5,6 +5,8 @@ require "#{RAILS_ROOT}/plugins/mezuro/test/fixtures/metric_fixtures" @@ -5,6 +5,8 @@ require "#{RAILS_ROOT}/plugins/mezuro/test/fixtures/metric_fixtures"
5 require "#{RAILS_ROOT}/plugins/mezuro/test/fixtures/metric_configuration_fixtures" 5 require "#{RAILS_ROOT}/plugins/mezuro/test/fixtures/metric_configuration_fixtures"
6 require "#{RAILS_ROOT}/plugins/mezuro/test/fixtures/configuration_fixtures" 6 require "#{RAILS_ROOT}/plugins/mezuro/test/fixtures/configuration_fixtures"
7 require "#{RAILS_ROOT}/plugins/mezuro/test/fixtures/reading_group_fixtures" 7 require "#{RAILS_ROOT}/plugins/mezuro/test/fixtures/reading_group_fixtures"
  8 +require "#{RAILS_ROOT}/plugins/mezuro/test/fixtures/range_fixtures"
  9 +require "#{RAILS_ROOT}/plugins/mezuro/test/fixtures/reading_fixtures"
8 10
9 class MezuroPluginMetricConfigurationControllerTest < ActionController::TestCase 11 class MezuroPluginMetricConfigurationControllerTest < ActionController::TestCase
10 12
@@ -30,6 +32,8 @@ class MezuroPluginMetricConfigurationControllerTest &lt; ActionController::TestCase @@ -30,6 +32,8 @@ class MezuroPluginMetricConfigurationControllerTest &lt; ActionController::TestCase
30 @metric = MetricFixtures.amloc 32 @metric = MetricFixtures.amloc
31 33
32 @reading_group = ReadingGroupFixtures.reading_group 34 @reading_group = ReadingGroupFixtures.reading_group
  35 + @range = RangeFixtures.range
  36 + @reading = ReadingFixtures.reading
33 37
34 @metric_configuration = MetricConfigurationFixtures.amloc_metric_configuration 38 @metric_configuration = MetricConfigurationFixtures.amloc_metric_configuration
35 @metric_configuration_hash = MetricConfigurationFixtures.amloc_metric_configuration_hash 39 @metric_configuration_hash = MetricConfigurationFixtures.amloc_metric_configuration_hash
@@ -41,8 +45,8 @@ class MezuroPluginMetricConfigurationControllerTest &lt; ActionController::TestCase @@ -41,8 +45,8 @@ class MezuroPluginMetricConfigurationControllerTest &lt; ActionController::TestCase
41 45
42 @native_hash = @metric_configuration.to_hash.merge({:configuration_name => @metric_configuration.configuration_name}) 46 @native_hash = @metric_configuration.to_hash.merge({:configuration_name => @metric_configuration.configuration_name})
43 @native_hash.delete :attributes! 47 @native_hash.delete :attributes!
44 - @compound_hash = @compound_metric_configuration.to_hash.merge({:configuration_name => @compound_metric_configuration.configuration_name})  
45 @compound_hash.delete :attributes! 48 @compound_hash.delete :attributes!
  49 + @compound_hash = @compound_metric_configuration.to_hash.merge({:configuration_name => @compound_metric_configuration.configuration_name})
46 =end 50 =end
47 end 51 end
48 52
@@ -51,7 +55,7 @@ class MezuroPluginMetricConfigurationControllerTest &lt; ActionController::TestCase @@ -51,7 +55,7 @@ class MezuroPluginMetricConfigurationControllerTest &lt; ActionController::TestCase
51 get :choose_metric, :profile => @profile.identifier, :id => @configuration_content.id 55 get :choose_metric, :profile => @profile.identifier, :id => @configuration_content.id
52 assert_equal @configuration_content, assigns(:configuration_content) 56 assert_equal @configuration_content, assigns(:configuration_content)
53 assert_equal [@base_tool], assigns(:base_tools) 57 assert_equal [@base_tool], assigns(:base_tools)
54 - assert_response 200 58 + assert_response :success
55 end 59 end
56 60
57 should 'initialize native' do 61 should 'initialize native' do
@@ -62,40 +66,37 @@ class MezuroPluginMetricConfigurationControllerTest &lt; ActionController::TestCase @@ -62,40 +66,37 @@ class MezuroPluginMetricConfigurationControllerTest &lt; ActionController::TestCase
62 assert_equal @metric.name, assigns(:metric).name 66 assert_equal @metric.name, assigns(:metric).name
63 assert_equal @base_tool.name, assigns(:base_tool_name) 67 assert_equal @base_tool.name, assigns(:base_tool_name)
64 assert_equal [[@reading_group.name,@reading_group.id]], assigns(:reading_group_names_and_ids) 68 assert_equal [[@reading_group.name,@reading_group.id]], assigns(:reading_group_names_and_ids)
65 - assert_response 200 69 + assert_response :success
66 end 70 end
67 71
68 should 'create native' do 72 should 'create native' do
69 - #Kalibro::MetricConfiguration.expects(:new).returns(@created_metric_configuration) #FIXME need .with(some_hash).  
70 - #@created_metric_configuration.expects(:save).returns(true)  
71 -=begin  
72 - #TODO ARRUMAR ESTE TESTE!!!  
73 - Kalibro::MetricConfiguration.expects(:request).with(:save_metric_configuration, {:metric_configuration => @metric_configuration.to_hash, :configuration_id => @configuration_content.configuration_id}).returns(@metric_configuration.id) 73 + Kalibro::MetricConfiguration.expects(:create).returns(@created_metric_configuration) #FIXME need .with(some_hash), should it mock the request?.
74 get :create_native, :profile => @profile.identifier, :id => @configuration_content.id, :metric_configuration => @metric_configuration_hash 74 get :create_native, :profile => @profile.identifier, :id => @configuration_content.id, :metric_configuration => @metric_configuration_hash
75 - assert_response 200  
76 -=end 75 + assert_response :redirect
77 end 76 end
78 77
79 should 'edit native' do 78 should 'edit native' do
80 Kalibro::MetricConfiguration.expects(:metric_configurations_of).with(@configuration.id).returns([@metric_configuration]) 79 Kalibro::MetricConfiguration.expects(:metric_configurations_of).with(@configuration.id).returns([@metric_configuration])
81 Kalibro::ReadingGroup.expects(:all).returns([@reading_group]) 80 Kalibro::ReadingGroup.expects(:all).returns([@reading_group])
  81 + Kalibro::Range.expects(:ranges_of).with(@metric_configuration.id).returns([@range])
  82 + Kalibro::Reading.expects(:find).with(@range.reading_id).returns(@reading)
82 get :edit_native, :profile => @profile.identifier, :id => @configuration_content.id, :metric_configuration_id => @metric_configuration.id 83 get :edit_native, :profile => @profile.identifier, :id => @configuration_content.id, :metric_configuration_id => @metric_configuration.id
83 assert_equal @configuration_content, assigns(:configuration_content) 84 assert_equal @configuration_content, assigns(:configuration_content)
84 assert_equal @metric_configuration.code, assigns(:metric_configuration).code 85 assert_equal @metric_configuration.code, assigns(:metric_configuration).code
85 assert_equal @metric_configuration.metric.name, assigns(:metric).name 86 assert_equal @metric_configuration.metric.name, assigns(:metric).name
86 assert_equal [[@reading_group.name,@reading_group.id]], assigns(:reading_group_names_and_ids) 87 assert_equal [[@reading_group.name,@reading_group.id]], assigns(:reading_group_names_and_ids)
87 - assert_response 200 88 + assert_equal [@range], assigns(:ranges)
  89 + assert_response :success
88 end 90 end
89 91
90 should 'initialize compound' do 92 should 'initialize compound' do
91 Kalibro::ReadingGroup.expects(:all).returns([@reading_group]) 93 Kalibro::ReadingGroup.expects(:all).returns([@reading_group])
  94 + Kalibro::MetricConfiguration.expects(:metric_configurations_of).with(@configuration_content.configuration_id).returns([@compound_metric_configuration])
92 get :new_compound, :profile => @profile.identifier, :id => @configuration_content.id 95 get :new_compound, :profile => @profile.identifier, :id => @configuration_content.id
93 assert_equal @configuration_content, assigns(:configuration_content) 96 assert_equal @configuration_content, assigns(:configuration_content)
94 - #FIXME mock is not working. configuration_id is not being set.  
95 - #MezuroPlugin::ConfigurationContent.expects(:metric_configurations).returns([@compound_metric_configuration])  
96 - #assert_equal @compound_metric_configuration.code, assigns(:metric_configurations).first.code 97 + assert_equal @compound_metric_configuration.code, assigns(:metric_configurations).first.code
97 assert_equal [[@reading_group.name,@reading_group.id]], assigns(:reading_group_names_and_ids) 98 assert_equal [[@reading_group.name,@reading_group.id]], assigns(:reading_group_names_and_ids)
98 - assert_response 200 99 + assert_response :success
99 end 100 end
100 101
101 should 'create compound' do 102 should 'create compound' do