kalibro_entities 0.0.1.rc1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.gitignore +19 -0
- data/.ruby-gemset +1 -0
- data/.ruby-version +1 -0
- data/.travis.yml +21 -0
- data/AUTHORS +4 -0
- data/COPYING +674 -0
- data/COPYING.LESSER +165 -0
- data/Gemfile +4 -0
- data/README.md +77 -0
- data/Rakefile +6 -0
- data/cucumber.yml +1 -0
- data/features/base_tool/all_names.feature +8 -0
- data/features/base_tool/find_by_name.feature +12 -0
- data/features/configuration/all.feature +10 -0
- data/features/metric_configuration/find.feature +18 -0
- data/features/metric_configuration/metric_configurations_of.feature +18 -0
- data/features/metric_result/descendant_results.feature +19 -0
- data/features/metric_result/history_of.feature +20 -0
- data/features/metric_result/metric_results_of.feature +19 -0
- data/features/module_result/children.feature +18 -0
- data/features/module_result/find.feature +15 -0
- data/features/module_result/history_of.feature +11 -0
- data/features/processing/first_processing_after.feature +18 -0
- data/features/processing/first_processing_of.feature +18 -0
- data/features/processing/has_processing.feature +18 -0
- data/features/processing/has_processing_after.feature +18 -0
- data/features/processing/has_processing_before.feature +18 -0
- data/features/processing/has_ready_processing.feature +18 -0
- data/features/processing/last_processing_before.feature +18 -0
- data/features/processing/last_processing_of.feature +18 -0
- data/features/processing/last_processing_state_of.feature +18 -0
- data/features/processing/last_ready_processing_of.feature +18 -0
- data/features/processing/processing_of.feature +32 -0
- data/features/processing/processing_with_date_of.feature +32 -0
- data/features/project/all.feature +10 -0
- data/features/project/creation.feature +9 -0
- data/features/project/destroy.feature +10 -0
- data/features/project/exists.feature +9 -0
- data/features/project/find.feature +10 -0
- data/features/range/ranges_of.feature +22 -0
- data/features/range/save.feature +32 -0
- data/features/reading/find.feature +11 -0
- data/features/reading/readings_of.feature +11 -0
- data/features/reading_group/all.feature +10 -0
- data/features/repository/all.feature +14 -0
- data/features/repository/cancel_processing.feature +14 -0
- data/features/repository/find.feature +14 -0
- data/features/repository/of.feature +15 -0
- data/features/repository/process.feature +16 -0
- data/features/repository/types.feature +9 -0
- data/features/step_definitions/base_tool_steps.rb +28 -0
- data/features/step_definitions/configuration_steps.rb +11 -0
- data/features/step_definitions/metric_configuration_steps.rb +52 -0
- data/features/step_definitions/metric_result_steps.rb +29 -0
- data/features/step_definitions/metric_steps.rb +3 -0
- data/features/step_definitions/module_result_steps.rb +30 -0
- data/features/step_definitions/processing_steps.rb +91 -0
- data/features/step_definitions/project_steps.rb +48 -0
- data/features/step_definitions/range_steps.rb +41 -0
- data/features/step_definitions/reading_group_steps.rb +19 -0
- data/features/step_definitions/reading_steps.rb +20 -0
- data/features/step_definitions/repository_steps.rb +57 -0
- data/features/support/env.rb +25 -0
- data/features/support/kalibro_cucumber_helpers.yml.sample +10 -0
- data/kalibro_entities.gemspec +48 -0
- data/lib/kalibro_entities.rb +61 -0
- data/lib/kalibro_entities/entities.rb +37 -0
- data/lib/kalibro_entities/entities/base_tool.rb +54 -0
- data/lib/kalibro_entities/entities/configuration.rb +33 -0
- data/lib/kalibro_entities/entities/date_metric_result.rb +39 -0
- data/lib/kalibro_entities/entities/date_module_result.rb +39 -0
- data/lib/kalibro_entities/entities/metric.rb +21 -0
- data/lib/kalibro_entities/entities/metric_configuration.rb +70 -0
- data/lib/kalibro_entities/entities/metric_configuration_snapshot.rb +57 -0
- data/lib/kalibro_entities/entities/metric_result.rb +63 -0
- data/lib/kalibro_entities/entities/model.rb +162 -0
- data/lib/kalibro_entities/entities/module.rb +27 -0
- data/lib/kalibro_entities/entities/module_result.rb +69 -0
- data/lib/kalibro_entities/entities/process_time.rb +31 -0
- data/lib/kalibro_entities/entities/processing.rb +113 -0
- data/lib/kalibro_entities/entities/project.rb +34 -0
- data/lib/kalibro_entities/entities/range.rb +75 -0
- data/lib/kalibro_entities/entities/range_snapshot.rb +37 -0
- data/lib/kalibro_entities/entities/reading.rb +51 -0
- data/lib/kalibro_entities/entities/reading_group.rb +43 -0
- data/lib/kalibro_entities/entities/repository.rb +78 -0
- data/lib/kalibro_entities/entities/repository_observer.rb +50 -0
- data/lib/kalibro_entities/entities/stack_trace_element.rb +31 -0
- data/lib/kalibro_entities/entities/throwable.rb +42 -0
- data/lib/kalibro_entities/errors.rb +18 -0
- data/lib/kalibro_entities/errors/record_not_found.rb +22 -0
- data/lib/kalibro_entities/errors/standard.rb +24 -0
- data/lib/kalibro_entities/helpers/aggregation_options.rb +25 -0
- data/lib/kalibro_entities/helpers/hash_converters.rb +48 -0
- data/lib/kalibro_entities/helpers/request_methods.rb +47 -0
- data/lib/kalibro_entities/helpers/xml_converters.rb +20 -0
- data/lib/kalibro_entities/kalibro_cucumber_helpers.rb +40 -0
- data/lib/kalibro_entities/kalibro_cucumber_helpers/configuration.rb +39 -0
- data/lib/kalibro_entities/kalibro_cucumber_helpers/hooks.rb +50 -0
- data/lib/kalibro_entities/kalibro_cucumber_helpers/scripts/delete_all_kalibro_entries.sh +23 -0
- data/lib/kalibro_entities/kalibro_cucumber_helpers/scripts/prepare_kalibro_query_file.sh +38 -0
- data/lib/kalibro_entities/kalibro_cucumber_helpers/scripts/put_kalibro_on_test_mode.sh +35 -0
- data/lib/kalibro_entities/kalibro_cucumber_helpers/scripts/return_kalibro_from_test_mode.sh +26 -0
- data/lib/kalibro_entities/version.rb +19 -0
- data/lib/rake/test_task.rb +57 -0
- data/spec/entities/base_tool_spec.rb +168 -0
- data/spec/entities/configuration_spec.rb +61 -0
- data/spec/entities/date_metric_result_spec.rb +62 -0
- data/spec/entities/date_module_result_spec.rb +61 -0
- data/spec/entities/metric_configuration_snapshot_spec.rb +107 -0
- data/spec/entities/metric_configuration_spec.rb +149 -0
- data/spec/entities/metric_result_spec.rb +193 -0
- data/spec/entities/metric_spec.rb +47 -0
- data/spec/entities/model_spec.rb +275 -0
- data/spec/entities/module_result_spec.rb +135 -0
- data/spec/entities/process_time_spec.rb +33 -0
- data/spec/entities/processing_spec.rb +334 -0
- data/spec/entities/project_spec.rb +68 -0
- data/spec/entities/range_snapshot_spec.rb +50 -0
- data/spec/entities/range_spec.rb +181 -0
- data/spec/entities/reading_group_spec.rb +90 -0
- data/spec/entities/reading_spec.rb +106 -0
- data/spec/entities/repository_observer_spec.rb +123 -0
- data/spec/entities/repository_spec.rb +167 -0
- data/spec/entities/stack_trace_element_spec.rb +26 -0
- data/spec/entities/throwable_spec.rb +51 -0
- data/spec/factories/base_tools.rb +31 -0
- data/spec/factories/configurations.rb +29 -0
- data/spec/factories/date_metric_results.rb +28 -0
- data/spec/factories/date_module_results.rb +22 -0
- data/spec/factories/metric_configurations.rb +28 -0
- data/spec/factories/metric_configurations_snapshot.rb +26 -0
- data/spec/factories/metric_results.rb +24 -0
- data/spec/factories/metrics.rb +35 -0
- data/spec/factories/models.rb +20 -0
- data/spec/factories/module_results.rb +33 -0
- data/spec/factories/modules.rb +22 -0
- data/spec/factories/process_times.rb +27 -0
- data/spec/factories/processings.rb +25 -0
- data/spec/factories/projects.rb +29 -0
- data/spec/factories/ranges.rb +30 -0
- data/spec/factories/ranges_snapshot.rb +26 -0
- data/spec/factories/reading_groups.rb +23 -0
- data/spec/factories/readings.rb +25 -0
- data/spec/factories/repositories.rb +34 -0
- data/spec/factories/repository_observers.rb +24 -0
- data/spec/factories/stack_trace_elements.rb +24 -0
- data/spec/factories/throwables.rb +23 -0
- data/spec/helpers/aggregation_options_spec.rb +31 -0
- data/spec/helpers/hash_converters_spec.rb +111 -0
- data/spec/helpers/xml_converters_spec.rb +64 -0
- data/spec/kalibro_entities_spec.rb +108 -0
- data/spec/savon/fixtures/config.yml +1 -0
- data/spec/savon/fixtures/invalid_config.yml +2 -0
- data/spec/savon/fixtures/project/does_not_exists.xml +1 -0
- data/spec/savon/savon_test_helper.rb +14 -0
- data/spec/spec_helper.rb +60 -0
- metadata +461 -0
@@ -0,0 +1,26 @@
|
|
1
|
+
#!/bin/bash
|
2
|
+
|
3
|
+
# This file is part of KalibroEntities
|
4
|
+
# Copyright (C) 2013 it's respectives authors (please see the AUTHORS file)
|
5
|
+
#
|
6
|
+
# This program is free software: you can redistribute it and/or modify
|
7
|
+
# it under the terms of the GNU General Public License as published by
|
8
|
+
# the Free Software Foundation, either version 3 of the License, or
|
9
|
+
# (at your option) any later version.
|
10
|
+
#
|
11
|
+
# This program is distributed in the hope that it will be useful,
|
12
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
13
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
14
|
+
# GNU General Public License for more details.
|
15
|
+
|
16
|
+
# You should have received a copy of the GNU General Public License
|
17
|
+
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
18
|
+
|
19
|
+
KALIBRO_HOME=$1
|
20
|
+
TOMCAT_RESTART_COMMAND=$2
|
21
|
+
|
22
|
+
echo "--> Removing tests directory"
|
23
|
+
sudo rm -rf $KALIBRO_HOME/tests
|
24
|
+
|
25
|
+
# you must restart tomcat6
|
26
|
+
$TOMCAT_RESTART_COMMAND
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# This file is part of KalibroEntities
|
2
|
+
# Copyright (C) 2013 it's respectives authors (please see the AUTHORS file)
|
3
|
+
#
|
4
|
+
# This program is free software: you can redistribute it and/or modify
|
5
|
+
# it under the terms of the GNU General Public License as published by
|
6
|
+
# the Free Software Foundation, either version 3 of the License, or
|
7
|
+
# (at your option) any later version.
|
8
|
+
#
|
9
|
+
# This program is distributed in the hope that it will be useful,
|
10
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
11
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
12
|
+
# GNU General Public License for more details.
|
13
|
+
|
14
|
+
# You should have received a copy of the GNU General Public License
|
15
|
+
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
16
|
+
|
17
|
+
module KalibroEntities
|
18
|
+
VERSION = "0.0.1.rc1"
|
19
|
+
end
|
@@ -0,0 +1,57 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
# This file is part of KalibroEntities
|
4
|
+
# Copyright (C) 2013 it's respectives authors (please see the AUTHORS file)
|
5
|
+
#
|
6
|
+
# This program is free software: you can redistribute it and/or modify
|
7
|
+
# it under the terms of the GNU General Public License as published by
|
8
|
+
# the Free Software Foundation, either version 3 of the License, or
|
9
|
+
# (at your option) any later version.
|
10
|
+
#
|
11
|
+
# This program is distributed in the hope that it will be useful,
|
12
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
13
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
14
|
+
# GNU General Public License for more details.
|
15
|
+
|
16
|
+
# You should have received a copy of the GNU General Public License
|
17
|
+
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
18
|
+
|
19
|
+
# Inspired on: https://github.com/fog/fog/blob/master/lib/tasks/test_task.rb
|
20
|
+
|
21
|
+
require 'rake'
|
22
|
+
require 'rake/tasklib'
|
23
|
+
|
24
|
+
module KalibroEntities
|
25
|
+
module Rake
|
26
|
+
class TestTask < ::Rake::TaskLib
|
27
|
+
def initialize
|
28
|
+
|
29
|
+
namespace :test do
|
30
|
+
desc 'Runs acceptance and unit tests'
|
31
|
+
task :all => [:units, :acceptance]
|
32
|
+
|
33
|
+
desc 'Runs the unit tests'
|
34
|
+
task :units do
|
35
|
+
unit_tests_command = "bundle exec rspec spec"
|
36
|
+
|
37
|
+
puts "Running the unit tests with \"#{unit_tests_command}\"\n\n"
|
38
|
+
system unit_tests_command
|
39
|
+
end
|
40
|
+
|
41
|
+
desc 'Runs the acceptance tests'
|
42
|
+
task :acceptance, [:feature] do |t, args|
|
43
|
+
if args.feature.nil?
|
44
|
+
acceptance_tests_command = "bundle exec cucumber"
|
45
|
+
else
|
46
|
+
acceptance_tests_command = "bundle exec cucumber #{args.feature} features/step_definitions/ features/support/"
|
47
|
+
end
|
48
|
+
|
49
|
+
puts "Running the acceptance tests with \"#{acceptance_tests_command}\"\n\n"
|
50
|
+
system acceptance_tests_command
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
57
|
+
|
@@ -0,0 +1,168 @@
|
|
1
|
+
# This file is part of KalibroEntities
|
2
|
+
# Copyright (C) 2013 it's respectives authors (please see the AUTHORS file)
|
3
|
+
#
|
4
|
+
# This program is free software: you can redistribute it and/or modify
|
5
|
+
# it under the terms of the GNU General Public License as published by
|
6
|
+
# the Free Software Foundation, either version 3 of the License, or
|
7
|
+
# (at your option) any later version.
|
8
|
+
#
|
9
|
+
# This program is distributed in the hope that it will be useful,
|
10
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
11
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
12
|
+
# GNU General Public License for more details.
|
13
|
+
|
14
|
+
# You should have received a copy of the GNU General Public License
|
15
|
+
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
16
|
+
|
17
|
+
require 'spec_helper'
|
18
|
+
|
19
|
+
describe KalibroEntities::Entities::BaseTool do
|
20
|
+
describe 'all_names' do
|
21
|
+
context 'with no base tools' do
|
22
|
+
before :each do
|
23
|
+
KalibroEntities::Entities::BaseTool.
|
24
|
+
expects(:request).
|
25
|
+
with(:all_base_tool_names).
|
26
|
+
returns({:base_tool_name => nil})
|
27
|
+
end
|
28
|
+
|
29
|
+
it 'should return empty array' do
|
30
|
+
KalibroEntities::Entities::BaseTool.all_names.should be_empty
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
context 'with many base tools' do
|
35
|
+
let(:base_tool_hash) { FactoryGirl.build(:base_tool).to_hash }
|
36
|
+
let(:another_base_tool_hash) { FactoryGirl.build(:another_base_tool).to_hash }
|
37
|
+
|
38
|
+
before :each do
|
39
|
+
KalibroEntities::Entities::BaseTool.
|
40
|
+
expects(:request).
|
41
|
+
with(:all_base_tool_names).
|
42
|
+
returns({:base_tool_name => [base_tool_hash, another_base_tool_hash]})
|
43
|
+
end
|
44
|
+
|
45
|
+
it 'should return the two elements' do
|
46
|
+
base_tool_names = KalibroEntities::Entities::BaseTool.all_names
|
47
|
+
|
48
|
+
base_tool_names.size.should eq(2)
|
49
|
+
base_tool_names.first.should eq(base_tool_hash)
|
50
|
+
base_tool_names.last.should eq(another_base_tool_hash)
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
54
|
+
|
55
|
+
describe 'all' do
|
56
|
+
context 'with no base tools' do
|
57
|
+
before :each do
|
58
|
+
KalibroEntities::Entities::BaseTool.
|
59
|
+
expects(:request).
|
60
|
+
with(:all_base_tool_names).
|
61
|
+
returns({:base_tool_name => nil})
|
62
|
+
end
|
63
|
+
|
64
|
+
it 'should return empty array' do
|
65
|
+
KalibroEntities::Entities::BaseTool.all_names.should be_empty
|
66
|
+
end
|
67
|
+
end
|
68
|
+
|
69
|
+
context 'with many base tools' do
|
70
|
+
let(:base_tool) { FactoryGirl.build(:base_tool) }
|
71
|
+
let(:another_base_tool) { FactoryGirl.build(:another_base_tool) }
|
72
|
+
|
73
|
+
before :each do
|
74
|
+
KalibroEntities::Entities::BaseTool.
|
75
|
+
expects(:request).
|
76
|
+
with(:all_base_tool_names).
|
77
|
+
returns({:base_tool_name => [base_tool.name, another_base_tool.name]})
|
78
|
+
|
79
|
+
KalibroEntities::Entities::BaseTool.
|
80
|
+
expects(:request).
|
81
|
+
with(:get_base_tool, {:base_tool_name => base_tool.name}).
|
82
|
+
returns({:base_tool => base_tool.to_hash})
|
83
|
+
|
84
|
+
KalibroEntities::Entities::BaseTool.
|
85
|
+
expects(:request).
|
86
|
+
with(:get_base_tool, {:base_tool_name => another_base_tool.name}).
|
87
|
+
returns({:base_tool => another_base_tool.to_hash})
|
88
|
+
end
|
89
|
+
|
90
|
+
it 'should return the two elements' do
|
91
|
+
base_tools = KalibroEntities::Entities::BaseTool.all
|
92
|
+
|
93
|
+
base_tools.size.should eq(2)
|
94
|
+
base_tools.first.name.should eq(base_tool.name)
|
95
|
+
base_tools.last.name.should eq(another_base_tool.name)
|
96
|
+
end
|
97
|
+
end
|
98
|
+
end
|
99
|
+
|
100
|
+
describe 'find_by_name' do
|
101
|
+
subject { FactoryGirl.build(:base_tool) }
|
102
|
+
|
103
|
+
context 'with an inexistent name' do
|
104
|
+
before :each do
|
105
|
+
KalibroEntities::Entities::BaseTool.
|
106
|
+
expects(:request).
|
107
|
+
with(:get_base_tool, {:base_tool_name => subject.name}).
|
108
|
+
returns({:base_tool => nil})
|
109
|
+
end
|
110
|
+
|
111
|
+
it 'should raise a RecordNotFound error' do
|
112
|
+
expect { KalibroEntities::Entities::BaseTool.find_by_name(subject.name)}.
|
113
|
+
to raise_error(KalibroEntities::Errors::RecordNotFound)
|
114
|
+
end
|
115
|
+
end
|
116
|
+
|
117
|
+
context 'with an existent name' do
|
118
|
+
before :each do
|
119
|
+
KalibroEntities::Entities::BaseTool.
|
120
|
+
expects(:request).
|
121
|
+
with(:get_base_tool,{:base_tool_name => subject.name}).
|
122
|
+
returns({:base_tool => subject.to_hash})
|
123
|
+
end
|
124
|
+
|
125
|
+
it 'should return a base_tool' do
|
126
|
+
KalibroEntities::Entities::BaseTool.find_by_name(subject.name).name.should eq(subject.name)
|
127
|
+
end
|
128
|
+
end
|
129
|
+
end
|
130
|
+
|
131
|
+
describe 'Supported Metric' do
|
132
|
+
let(:metric) { FactoryGirl.build(:metric) }
|
133
|
+
|
134
|
+
before :each do
|
135
|
+
KalibroEntities::Entities::Metric.
|
136
|
+
expects(:to_objects_array).at_least_once.
|
137
|
+
with(metric.to_hash).
|
138
|
+
returns([metric])
|
139
|
+
end
|
140
|
+
|
141
|
+
context 'supported_metric=' do
|
142
|
+
it 'should set the value of the array of supported metrics' do
|
143
|
+
subject.supported_metric = metric.to_hash
|
144
|
+
subject.supported_metric.first.name.should eq(metric.name)
|
145
|
+
end
|
146
|
+
end
|
147
|
+
|
148
|
+
context 'supported_metrics' do
|
149
|
+
it 'should return the array of the supported metrics' do
|
150
|
+
subject.supported_metric = metric.to_hash
|
151
|
+
subject.supported_metrics.first.name.should eq(metric.name)
|
152
|
+
end
|
153
|
+
end
|
154
|
+
end
|
155
|
+
|
156
|
+
describe 'metric' do
|
157
|
+
subject { FactoryGirl.build(:base_tool) }
|
158
|
+
let(:metric) { subject.supported_metrics.first }
|
159
|
+
|
160
|
+
it 'should return nil with an inexistent name' do
|
161
|
+
subject.metric("fake name").should be_nil
|
162
|
+
end
|
163
|
+
|
164
|
+
it 'should return a metric with an existent name' do
|
165
|
+
subject.metric(metric.name).name.should eq(metric.name)
|
166
|
+
end
|
167
|
+
end
|
168
|
+
end
|
@@ -0,0 +1,61 @@
|
|
1
|
+
# This file is part of KalibroEntities
|
2
|
+
# Copyright (C) 2013 it's respectives authors (please see the AUTHORS file)
|
3
|
+
#
|
4
|
+
# This program is free software: you can redistribute it and/or modify
|
5
|
+
# it under the terms of the GNU General Public License as published by
|
6
|
+
# the Free Software Foundation, either version 3 of the License, or
|
7
|
+
# (at your option) any later version.
|
8
|
+
#
|
9
|
+
# This program is distributed in the hope that it will be useful,
|
10
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
11
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
12
|
+
# GNU General Public License for more details.
|
13
|
+
|
14
|
+
# You should have received a copy of the GNU General Public License
|
15
|
+
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
16
|
+
|
17
|
+
require 'spec_helper'
|
18
|
+
|
19
|
+
describe KalibroEntities::Entities::Configuration do
|
20
|
+
describe 'id=' do
|
21
|
+
it 'should set the value of the attribute id as an Integer' do
|
22
|
+
subject.id = "42"
|
23
|
+
subject.id.should eq(42)
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
describe 'all' do
|
28
|
+
context 'with no configurations' do
|
29
|
+
before :each do
|
30
|
+
KalibroEntities::Entities::Configuration.
|
31
|
+
expects(:request).
|
32
|
+
with(:all_configurations).
|
33
|
+
returns({:configuration => nil})
|
34
|
+
end
|
35
|
+
|
36
|
+
it 'should return nil' do
|
37
|
+
KalibroEntities::Entities::Configuration.all.should be_empty
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
context 'with many configurations' do
|
42
|
+
let(:configuration) { FactoryGirl.build(:configuration) }
|
43
|
+
let(:another_configuration) { FactoryGirl.build(:another_configuration) }
|
44
|
+
|
45
|
+
before :each do
|
46
|
+
KalibroEntities::Entities::Configuration.
|
47
|
+
expects(:request).
|
48
|
+
with(:all_configurations).
|
49
|
+
returns({:configuration => [configuration.to_hash, another_configuration.to_hash]})
|
50
|
+
end
|
51
|
+
|
52
|
+
it 'should return the two elements' do
|
53
|
+
configurations = KalibroEntities::Entities::Configuration.all
|
54
|
+
|
55
|
+
configurations.size.should eq(2)
|
56
|
+
configurations.first.name.should eq(configuration.name)
|
57
|
+
configurations.last.name.should eq(another_configuration.name)
|
58
|
+
end
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
@@ -0,0 +1,62 @@
|
|
1
|
+
# This file is part of KalibroEntities
|
2
|
+
# Copyright (C) 2013 it's respectives authors (please see the AUTHORS file)
|
3
|
+
#
|
4
|
+
# This program is free software: you can redistribute it and/or modify
|
5
|
+
# it under the terms of the GNU General Public License as published by
|
6
|
+
# the Free Software Foundation, either version 3 of the License, or
|
7
|
+
# (at your option) any later version.
|
8
|
+
#
|
9
|
+
# This program is distributed in the hope that it will be useful,
|
10
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
11
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
12
|
+
# GNU General Public License for more details.
|
13
|
+
|
14
|
+
# You should have received a copy of the GNU General Public License
|
15
|
+
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
16
|
+
|
17
|
+
require 'spec_helper'
|
18
|
+
|
19
|
+
describe KalibroEntities::Entities::DateMetricResult do
|
20
|
+
describe 'date=' do
|
21
|
+
context 'when the given value is a String' do
|
22
|
+
it 'should set the date and convert it to DateTime' do
|
23
|
+
subject.date = "21/12/1995" # Ruby's first publication
|
24
|
+
|
25
|
+
subject.date.should be_a(DateTime)
|
26
|
+
subject.date.should eq(DateTime.parse("21/12/1995"))
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
context 'when the given value is something else than a String' do
|
31
|
+
it 'should just set the value' do
|
32
|
+
subject.date = :something_else
|
33
|
+
|
34
|
+
subject.date.should eq(:something_else)
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
describe 'metric_result=' do
|
40
|
+
let(:metric_result) { FactoryGirl.build(:metric_result) }
|
41
|
+
|
42
|
+
before :each do
|
43
|
+
KalibroEntities::Entities::MetricResult.
|
44
|
+
expects(:to_object).
|
45
|
+
with(metric_result.to_hash).
|
46
|
+
returns(metric_result)
|
47
|
+
end
|
48
|
+
|
49
|
+
it 'should set the metric_result with the given one' do
|
50
|
+
subject.metric_result = metric_result.to_hash
|
51
|
+
subject.metric_result.should eq(metric_result)
|
52
|
+
end
|
53
|
+
end
|
54
|
+
|
55
|
+
describe 'result' do
|
56
|
+
subject { FactoryGirl.build(:date_metric_result) }
|
57
|
+
|
58
|
+
it 'should return the metric result value' do
|
59
|
+
subject.result.should eq(10)
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
@@ -0,0 +1,61 @@
|
|
1
|
+
# This file is part of KalibroEntities
|
2
|
+
# Copyright (C) 2013 it's respectives authors (please see the AUTHORS file)
|
3
|
+
#
|
4
|
+
# This program is free software: you can redistribute it and/or modify
|
5
|
+
# it under the terms of the GNU General Public License as published by
|
6
|
+
# the Free Software Foundation, either version 3 of the License, or
|
7
|
+
# (at your option) any later version.
|
8
|
+
#
|
9
|
+
# This program is distributed in the hope that it will be useful,
|
10
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
11
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
12
|
+
# GNU General Public License for more details.
|
13
|
+
|
14
|
+
# You should have received a copy of the GNU General Public License
|
15
|
+
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
16
|
+
|
17
|
+
require 'spec_helper'
|
18
|
+
|
19
|
+
describe KalibroEntities::Entities::DateModuleResult do
|
20
|
+
describe 'date=' do
|
21
|
+
context 'when the given value is a String' do
|
22
|
+
it 'should set the date and convert it to DateTime' do
|
23
|
+
subject.date = "21/12/1995" # Ruby's first publication
|
24
|
+
|
25
|
+
subject.date.should be_a(DateTime)
|
26
|
+
subject.date.should eq(DateTime.parse("21/12/1995"))
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
context 'when the given value is something else than a String' do
|
31
|
+
it 'should just set the value' do
|
32
|
+
subject.date = :something_else
|
33
|
+
|
34
|
+
subject.date.should eq(:something_else)
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
describe 'module_result=' do
|
40
|
+
let(:module_result) { FactoryGirl.build(:module_result) }
|
41
|
+
before :each do
|
42
|
+
KalibroEntities::Entities::ModuleResult.
|
43
|
+
expects(:to_object).
|
44
|
+
with(module_result.to_hash).
|
45
|
+
returns(module_result)
|
46
|
+
end
|
47
|
+
|
48
|
+
it 'should set the module_result with the given one' do
|
49
|
+
subject.module_result = module_result.to_hash
|
50
|
+
subject.module_result.should eq(module_result)
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
54
|
+
describe 'result' do
|
55
|
+
subject {FactoryGirl.build(:date_module_result)}
|
56
|
+
|
57
|
+
it 'should return the module_result grade' do
|
58
|
+
subject.result.should eq(10)
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|