diff --git a/app/models/folder.rb b/app/models/folder.rb index f455a6a..91656bd 100644 --- a/app/models/folder.rb +++ b/app/models/folder.rb @@ -28,13 +28,6 @@ class Folder < Article 'folder' end - # FIXME isn't this too much including just to be able to generate some HTML? - include ActionView::Helpers::TagHelper - include ActionView::Helpers::UrlHelper - include ActionController::UrlWriter - include ActionView::Helpers::AssetTagHelper - include FolderHelper - include DatesHelper def to_html(options = {}) send(view_as) diff --git a/test/unit/folder_helper_test.rb b/test/unit/folder_helper_test.rb index 493157b..fa767f5 100644 --- a/test/unit/folder_helper_test.rb +++ b/test/unit/folder_helper_test.rb @@ -2,6 +2,12 @@ require File.dirname(__FILE__) + '/../test_helper' class FolderHelperTest < Test::Unit::TestCase + include ActionView::Helpers::TagHelper + include ActionView::Helpers::UrlHelper + include ActionController::UrlWriter + include ActionView::Helpers::AssetTagHelper + include DatesHelper + include FolderHelper should 'display icon for articles' do @@ -74,7 +80,7 @@ class FolderHelperTest < Test::Unit::TestCase article = fast_create(Article, {:name => 'Article1', :parent_id => folder.id, :profile_id => profile.id}) article = fast_create(Article, {:name => 'Article2', :parent_id => folder.id, :profile_id => profile.id}) - result = folder.list_articles(folder.children) + result = list_articles(folder.children) assert_tag_in_string result, :tag => 'td', :descendant => { :tag => 'a', :attributes => { :href => /.*\/folder-owner\/my-article-[0-9]*(\?|$)/ } }, :content => /Article1/ assert_tag_in_string result, :tag => 'td', :descendant => { :tag => 'a', :attributes => { :href => /.*\/folder-owner\/my-article-[0-9]*(\?|$)/ } }, :content => /Article2/ @@ -83,9 +89,22 @@ class FolderHelperTest < Test::Unit::TestCase should 'explictly advise if empty' do profile = create_user('folder-owner').person folder = fast_create(Folder, {:name => 'Parent Folder', :profile_id => profile.id}) - result = folder.list_articles(folder.children) + result = render 'content_viewer/folder', binding assert_match '(empty folder)', result end + should 'show body (folder description)' do + profile = create_user('folder-owner').person + folder = fast_create(Folder, {:name => 'Parent Folder', :profile_id => profile.id, :body => "This is the folder description"}) + result = render 'content_viewer/folder', binding + assert_match 'This is the folder description', result + end + + + private + def render(template, the_binding) + ERB.new(File.read(RAILS_ROOT + '/app/views/' + template + '.rhtml')).result(the_binding) + end + end diff --git a/test/unit/folder_test.rb b/test/unit/folder_test.rb index 3d9c893..e4d1c80 100644 --- a/test/unit/folder_test.rb +++ b/test/unit/folder_test.rb @@ -18,30 +18,6 @@ class FolderTest < ActiveSupport::TestCase assert_not_equal Article.new.icon_name, Folder.new.icon_name end - should 'list subitems as HTML content' do - p = create_user('testuser').person - f = Folder.create!(:profile => p, :name => 'f') - f.children.create!(:profile => p, :name => 'onearticle') - f.children.create!(:profile => p, :name => 'otherarticle') - f.reload - - assert_tag_in_string f.to_html, :tag => 'td', :descendant => { :tag => 'a', :attributes => { :href => /.*\/testuser\/f\/onearticle(\?|$)/ } }, :content => /onearticle/ - assert_tag_in_string f.to_html, :tag => 'td', :descendant => { :tag => 'a', :attributes => { :href => /.*\/testuser\/f\/otherarticle(\?|$)/ } }, :content => /otherarticle/ - end - - should 'explictly advise if empty' do - p = create_user('testuser').person - f = Folder.create!(:profile => p, :name => 'f') - assert_tag_in_string f.to_html, :content => '(empty folder)' - end - - should 'show text body in HTML content' do - p = create_user('testuser').person - f = Folder.create!(:name => 'f', :profile => p, :body => 'this-is-the-text') - - assert_match(/this-is-the-text/, f.to_html) - end - should 'identify as folder' do assert Folder.new.folder?, 'folder must identity itself as folder' end -- libgit2 0.21.2