]> git.openstreetmap.org Git - rails.git/blobdiff - test/helpers/social_share_button_helper_test.rb
Merge remote-tracking branch 'upstream/pull/5495'
[rails.git] / test / helpers / social_share_button_helper_test.rb
index 9c7569334d04a423f2482edb4351a519d3737b3a..136298381ae8f094f94ecb3d44b7a3a016690257 100644 (file)
@@ -2,47 +2,16 @@ require "test_helper"
 
 class SocialShareButtonHelperTest < ActionView::TestCase
   include SocialShareButtonHelper
-  include ApplicationHelper
 
-  def setup
-    @options = {
-      :allow_sites => %w[x facebook linkedin],
-      :title => "Test Title",
-      :url => "https://example.com",
-      :desc => "Test Description",
-      :via => "testuser"
-    }
-  end
-
-  def test_render_social_share_buttons_with_valid_sites
-    result = render_social_share_buttons(@options)
-    assert_includes result, "x"
-    assert_includes result, "facebook"
-    assert_includes result, "linkedin"
-  end
-
-  def test_render_social_share_buttons_with_invalid_site
-    @options[:allow_sites] << "invalid_site"
-    result = render_social_share_buttons(@options)
-    assert_not_includes result, "invalid_site"
-  end
+  def test_social_share_buttons
+    buttons = social_share_buttons(:title => "Test Title", :url => "https://example.com")
+    buttons_dom = Rails::Dom::Testing.html_document_fragment.parse(buttons)
 
-  def test_render_social_share_buttons_with_no_sites
-    @options[:allow_sites] = []
-    result = render_social_share_buttons(@options)
-    SocialShareButtonHelper::SOCIAL_SHARE_CONFIG.each_key do |site|
-      assert_includes result, site.to_s # Convert symbol to string
+    SOCIAL_SHARE_CONFIG.each_value do |icon|
+      assert_dom buttons_dom, "div:has(a img[src='/images/#{icon}'])", :count => 1 do
+        assert_dom "a[href*='Test+Title']"
+        assert_dom "a[href*='https%3A%2F%2Fexample.com']"
+      end
     end
   end
-
-  def test_filter_allowed_sites
-    valid_sites, invalid_sites = SocialShareButtonHelper.filter_allowed_sites(%w[x facebook invalid_site])
-    assert_equal %w[x facebook], valid_sites
-    assert_equal %w[invalid_site], invalid_sites
-  end
-
-  def test_icon_path
-    assert_equal "social_icons/x.svg", SocialShareButtonHelper.icon_path("x")
-    assert_equal "", SocialShareButtonHelper.icon_path("invalid_site")
-  end
 end