]> git.openstreetmap.org Git - rails.git/blobdiff - test/helpers/social_share_button_helper_test.rb
Split api changeset comment hide fail tests
[rails.git] / test / helpers / social_share_button_helper_test.rb
index 4903c3aed8d9a5dd32a5869717fc82a39ffccf5c..0634632b850c5209ee759623813c5dd4ab718801 100644 (file)
@@ -3,23 +3,20 @@ require "test_helper"
 class SocialShareButtonHelperTest < ActionView::TestCase
   include SocialShareButtonHelper
 
-  def setup
-    @options = {
-      :title => "Test Title",
-      :url => "https://example.com",
-      :desc => "Test Description",
-      :via => "testuser"
-    }
+  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)
+
+    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_social_share_buttons
-    result = social_share_buttons(@options)
-    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"
+  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