diff --git a/plugins/community_track/lib/community_track_plugin/track_list_block.rb b/plugins/community_track/lib/community_track_plugin/track_list_block.rb index dd5e2e5..d664984 100644 --- a/plugins/community_track/lib/community_track_plugin/track_list_block.rb +++ b/plugins/community_track/lib/community_track_plugin/track_list_block.rb @@ -34,6 +34,10 @@ class CommunityTrackPlugin::TrackListBlock < Block settings[:category_ids] = ids.uniq.map{|item| item.to_i unless item.to_i.zero?}.compact end + def categories + Category.find(category_ids) + end + def all_tracks tracks = owner.articles.where(:type => 'CommunityTrackPlugin::Track') if !category_ids.empty? diff --git a/plugins/community_track/test/unit/community_track_plugin/track_list_block_test.rb b/plugins/community_track/test/unit/community_track_plugin/track_list_block_test.rb index 2e716e4..d47edf2 100644 --- a/plugins/community_track/test/unit/community_track_plugin/track_list_block_test.rb +++ b/plugins/community_track/test/unit/community_track_plugin/track_list_block_test.rb @@ -99,4 +99,16 @@ class TrackListBlockTest < ActiveSupport::TestCase assert !condition[:environment].empty? end + should 'return track list block categories' do + category1 = fast_create(Category) + category2 = fast_create(Category) + @block.category_ids = [category1.id, category2.id] + assert_equivalent [category1, category2], @block.categories + end + + should 'return nothing if track list block has no categories' do + @block.category_ids = [] + assert_equivalent [], @block.categories + end + end -- libgit2 0.21.2