ref: master
test/unit/cms_helper_test.rb
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 71 72 73 74 75 76 77 78 79 80 81 82 83 84 |
require_relative "../test_helper" class CmsHelperTest < ActionView::TestCase include CmsHelper include BlogHelper include ApplicationHelper include ActionView::Helpers::UrlHelper include Noosfero::Plugin::HotSpot should 'show default options for article' do result = options_for_article(build(RssFeed, :profile => Profile.new)) assert_tag_in_string result, tag: 'input', attributes: {id: 'article_published_true', name:'article[published]', type: 'radio', value: 'true'} assert_tag_in_string result, tag: 'input', attributes: {id: 'article_published_false', name:'article[published]', type: 'radio', value: 'false'} assert_tag_in_string result, tag: 'input', attributes: {id: 'article_accept_comments', name:'article[accept_comments]', type: 'checkbox', value: '1'} end should 'show custom options for blog' do result = options_for_article(Blog.new(:profile => fast_create(Profile))) assert_tag_in_string result, :tag => 'input', :attributes => { :name => 'article[published]' , :type => "hidden", :value => "1" } assert_tag_in_string result, :tag => 'input', :attributes => { :name => "article[accept_comments]", :type => "hidden", :value => "0" } end should 'display link to folder content if article is folder' do profile = fast_create(Profile) folder = fast_create(Folder, :name => 'My folder', :profile_id => profile.id) expects(:link_to).with('My folder', {:action => 'view', :id => folder.id}, :class => icon_for_article(folder)) result = link_to_article(folder) end should 'display link to article if article is not folder' do profile = fast_create(Profile) article = fast_create(TextArticle, :name => 'My article', :profile_id => profile.id) expects(:link_to).with('My article', article.url, :class => icon_for_article(article)) result = link_to_article(article) end should 'display image and link if article is an image' do profile = fast_create(Profile) file = UploadedFile.create!(:profile => profile, :uploaded_data => fixture_file_upload('/files/rails.png', 'image/png')) file = FilePresenter.for file icon = icon_for_article(file) expects(:image_tag).with(icon).returns('icon') expects(:link_to).with('rails.png', file.url).returns('link') result = link_to_article(file) end should 'display spread button' do plugins.stubs(:dispatch).returns([]) profile = fast_create(Person) article = fast_create(TextArticle, :name => 'My article', :profile_id => profile.id) expects(:link_to).with('Spread this', {:action => 'publish', :id => article.id}, :class => 'modal-toggle button with-text icon-spread', :title => nil) result = display_spread_button(article) end should 'display delete_button to folder' do plugins.stubs(:dispatch).returns([]) profile = fast_create(Profile) name = 'My folder' folder = fast_create(Folder, :name => name, :profile_id => profile.id) confirm_message = "Are you sure that you want to remove the folder \"#{name}\"? Note that all the items inside it will also be removed!" expects(:link_to).with('Delete', {action: 'destroy', id: folder.id}, method: :post, 'data-confirm' => confirm_message, class: 'button with-text icon-delete', title: nil) result = display_delete_button(folder) end should 'display delete_button to article' do plugins.stubs(:dispatch).returns([]) profile = fast_create(Profile) name = 'My article' article = fast_create(TextArticle, :name => name, :profile_id => profile.id) confirm_message = "Are you sure that you want to remove the item \"#{name}\"?" expects(:link_to).with('Delete', {action: 'destroy', id: article.id}, method: :post, 'data-confirm' => confirm_message, class: 'button with-text icon-delete', title: nil) result = display_delete_button(article) end end module RssFeedHelper end |