]> git.openstreetmap.org Git - rails.git/blobdiff - test/helpers/social_share_button_helper_test.rb
Merge remote-tracking branch 'upstream/pull/5588'
[rails.git] / test / helpers / social_share_button_helper_test.rb
index 89ee3ff08d748211c89c7af47a7cd0853c2f4b04..0634632b850c5209ee759623813c5dd4ab718801 100644 (file)
@@ -4,13 +4,19 @@ class SocialShareButtonHelperTest < ActionView::TestCase
   include SocialShareButtonHelper
 
   def test_social_share_buttons
-    result = social_share_buttons(:title => "Test Title", :url => "https://example.com")
-    assert_includes result, "email"
-    assert_includes result, "bluesky"
-    assert_includes result, "facebook"
-    assert_includes result, "linkedin"
-    assert_includes result, "mastodon"
-    assert_includes result, "telegram"
-    assert_includes result, "x"
+    buttons = social_share_buttons(:title => "Test Title", :url => "https://example.com")
+    buttons_dom = Rails::Dom::Testing.html_document_fragment.parse(buttons)
+
+    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%20Title']"
+        assert_dom "a[href*='https%3A%2F%2Fexample.com']"
+      end
+    end
+  end
+
+  def test_generate_share_url_email
+    url = generate_share_url(:email, "Diary Entry Title", "https://osm.example.com/some/diary/entry")
+    assert_equal "mailto:?subject=Diary%20Entry%20Title&body=https%3A%2F%2Fosm.example.com%2Fsome%2Fdiary%2Fentry", url
   end
 end