metric_configuration_test.rb
3.01 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
require "test_helper"
require "#{RAILS_ROOT}/plugins/mezuro/test/fixtures/metric_configuration_fixtures"
require "#{RAILS_ROOT}/plugins/mezuro/test/fixtures/range_fixtures"
class MetricConfigurationTest < ActiveSupport::TestCase
def setup
@hash = MetricConfigurationFixtures.amloc_metric_configuration_hash
@metric_configuration1 = MetricConfigurationFixtures.amloc_metric_configuration
@metric_configuration2 = MetricConfigurationFixtures.sc_metric_configuration
@metric_configuration_without_ranges = MetricConfigurationFixtures.metric_configuration_without_ranges
@range1 = RangeFixtures.range_excellent
@range2 = RangeFixtures.range_bad
end
should 'create metric configuration from hash' do
assert_equal @hash[:code], Kalibro::MetricConfiguration.new(@hash).code
end
should 'convert metric configuration to hash' do
assert_equal @hash, @metric_configuration1.to_hash
end
should 'create appropriate metric type' do
assert @metric_configuration1.metric.instance_of?(Kalibro::NativeMetric)
assert @metric_configuration2.metric.instance_of?(Kalibro::CompoundMetric)
end
should 'add a range to an empty range list' do
@metric_configuration_without_ranges.add_range @range1
assert_equal @metric_configuration_without_ranges.ranges, [@range1]
end
should 'add a range to an non-empty range list' do
@metric_configuration_without_ranges.ranges = [@range1]
@metric_configuration_without_ranges.add_range @range2
assert_equal @metric_configuration_without_ranges.ranges, [@range1, @range2]
end
should 'save metric configuration' do
Kalibro::MetricConfiguration.expects(:request).with("MetricConfiguration", :save_metric_configuration, {
:metric_configuration => @metric_configuration1.to_hash,
:configuration_name => @metric_configuration1.configuration_name
})
@metric_configuration1.save
end
should 'get metric configuration by name and configuration name' do
request_body = {
:configuration_name => @metric_configuration1.configuration_name,
:metric_name => @metric_configuration1.metric.name
}
response_hash = {:metric_configuration => @metric_configuration1.to_hash}
Kalibro::MetricConfiguration.expects(:request).with("MetricConfiguration", :get_metric_configuration, request_body).returns(response_hash)
metric_configuration = Kalibro::MetricConfiguration.find_by_configuration_name_and_metric_name(@metric_configuration1.configuration_name,
@metric_configuration1.metric.name)
assert_equal @metric_configuration1.code, metric_configuration.code
end
should 'destroy metric configuration by name' do
request_body = {
:configuration_name => @metric_configuration1.configuration_name,
:metric_name => @metric_configuration1.metric.name
}
Kalibro::MetricConfiguration.expects(:request).with("MetricConfiguration", :remove_metric_configuration, request_body)
@metric_configuration1.destroy
end
end