Commit 59c59bd5f2c3b1177b5c7ccfeea41fd4dd9d8db1
Committed by
Paulo Meireles
1 parent
7bed0f95
Exists in
staging
and in
42 other branches
[Mezuro] Fixed project content edition and "all" methods in project and reading group.
Showing
4 changed files
with
32 additions
and
7 deletions
Show diff stats
plugins/mezuro/lib/kalibro/reading_group.rb
| ... | ... | @@ -2,8 +2,15 @@ class Kalibro::ReadingGroup < Kalibro::Model |
| 2 | 2 | |
| 3 | 3 | attr_accessor :id, :name, :description |
| 4 | 4 | |
| 5 | + def id=(value) | |
| 6 | + @id = value.to_i | |
| 7 | + end | |
| 8 | + | |
| 5 | 9 | def self.all |
| 6 | - request(:all_reading_groups)[:reading_group].to_a.map { |reading_group| new reading_group } | |
| 10 | + response = request(:all_reading_groups)[:reading_group] | |
| 11 | + response = [] if response.nil? | |
| 12 | + response = [response] if response.is_a?(Hash) | |
| 13 | + response.map { |reading_group| new reading_group } | |
| 7 | 14 | end |
| 8 | 15 | |
| 9 | 16 | def self.reading_group_of( metric_configuration_id ) | ... | ... |
plugins/mezuro/lib/mezuro_plugin/project_content.rb
plugins/mezuro/test/unit/kalibro/project_test.rb
| ... | ... | @@ -43,11 +43,18 @@ class ProjectTest < ActiveSupport::TestCase |
| 43 | 43 | assert_equal @hash[:name], Kalibro::Project.project_of(repository_id).name |
| 44 | 44 | end |
| 45 | 45 | |
| 46 | - should 'get all project' do | |
| 47 | - Kalibro::Project.expects(:request).with(:all_projects).returns({:project => [@hash]}) | |
| 46 | + should 'get all projects when there is only one project' do | |
| 47 | + Kalibro::Project.expects(:request).with(:all_projects).returns({:project => @hash}) | |
| 48 | 48 | assert_equal @hash[:name], Kalibro::Project.all.first.name |
| 49 | 49 | end |
| 50 | 50 | |
| 51 | + should 'get all projects when there are many projects' do | |
| 52 | + Kalibro::Project.expects(:request).with(:all_projects).returns({:project => [@hash, @hash]}) | |
| 53 | + projects = Kalibro::Project.all | |
| 54 | + assert_equal @hash[:name], projects.first.name | |
| 55 | + assert_equal @hash[:name], projects.last.name | |
| 56 | + end | |
| 57 | + | |
| 51 | 58 | should 'return empty when there are no projects' do |
| 52 | 59 | Kalibro::Project.expects(:request).with(:all_projects).returns({:project => nil}) |
| 53 | 60 | assert_equal [], Kalibro::Project.all | ... | ... |
plugins/mezuro/test/unit/kalibro/reading_group_test.rb
| ... | ... | @@ -32,11 +32,21 @@ class ReadingGroupTest < ActiveSupport::TestCase |
| 32 | 32 | assert_equal @hash[:name], Kalibro::ReadingGroup.find(@hash[:id]).name |
| 33 | 33 | end |
| 34 | 34 | |
| 35 | + should 'get all reading groups when there is only one reading group' do | |
| 36 | + Kalibro::ReadingGroup.expects(:request).with(:all_reading_groups).returns({:reading_group => @hash}) | |
| 37 | + assert_equal @hash[:name], Kalibro::ReadingGroup.all.first.name | |
| 38 | + end | |
| 35 | 39 | |
| 40 | + should 'get all reading groups when there are many reading groups' do | |
| 41 | + Kalibro::ReadingGroup.expects(:request).with(:all_reading_groups).returns({:reading_group => [@hash, @hash]}) | |
| 42 | + reading_groups = Kalibro::ReadingGroup.all | |
| 43 | + assert_equal @hash[:name], reading_groups.first.name | |
| 44 | + assert_equal @hash[:name], reading_groups.last.name | |
| 45 | + end | |
| 36 | 46 | |
| 37 | - should 'get all reading groups' do | |
| 38 | - Kalibro::ReadingGroup.expects(:request).with(:all_reading_groups).returns({:reading_group => [@hash]}) | |
| 39 | - assert_equal @hash[:name], Kalibro::ReadingGroup.all.first.name | |
| 47 | + should 'return empty when there are no reading groups' do | |
| 48 | + Kalibro::ReadingGroup.expects(:request).with(:all_reading_groups).returns({:reading_group => nil}) | |
| 49 | + assert_equal [], Kalibro::ReadingGroup.all | |
| 40 | 50 | end |
| 41 | 51 | |
| 42 | 52 | should 'get reading group of a metric configuration' do | ... | ... |