@@ -319,7 +319,7 @@ defmodule Plausible.SitesTest do
319319
320320 Plausible.Teams . complete_setup ( site1 . team )
321321
322- # excluded
322+ # excluded
323323 new_site ( owner: user1 , domain: "consolidated.example.com" , consolidated: true )
324324
325325 # guest site access
@@ -373,7 +373,7 @@ defmodule Plausible.SitesTest do
373373 site5 = new_site ( domain: "team.example.com" , owner: user4 )
374374 add_member ( site5 . team , user: user1 , role: :editor )
375375
376- # excluded
376+ # excluded
377377 new_site ( owner: user1 , domain: "consolidated.example.com" , consolidated: true )
378378
379379 assert % {
@@ -413,7 +413,7 @@ defmodule Plausible.SitesTest do
413413 team5 = Plausible.Teams . complete_setup ( site5 . team )
414414 add_member ( site5 . team , user: user1 , role: :admin )
415415
416- # excluded
416+ # excluded
417417 new_site ( owner: user1 , domain: "consolidated.example.com" , consolidated: true )
418418
419419 assert % {
@@ -435,7 +435,7 @@ defmodule Plausible.SitesTest do
435435
436436 { :ok , _ } = Sites . toggle_pin ( pending_owner , site )
437437
438- # excluded
438+ # excluded
439439 new_site ( owner: owner , domain: "consolidated.example.com" , consolidated: true )
440440 new_site ( owner: pending_owner , domain: "consolidated2.example.com" , consolidated: true )
441441
@@ -1021,4 +1021,28 @@ defmodule Plausible.SitesTest do
10211021 end
10221022 end
10231023 end
1024+
1025+ describe "shared_link_url/2" do
1026+ test "contains base URL and slug" do
1027+ site = new_site ( domain: "example.com/deep/path" )
1028+ link = insert ( :shared_link , site: site )
1029+
1030+ # base url in tests is http://localhost:8000, in prod, it's https://plausible.io
1031+ assert "http://localhost:8000/share/example.com%2Fdeep%2Fpath?auth=" <> slug =
1032+ Sites . shared_link_url ( site , link )
1033+
1034+ # we assume slug is URL safe
1035+ assert ^ slug = link . slug
1036+ end
1037+
1038+ test "doesn't share the same domain formatting with public dashboard links" do
1039+ site = new_site ( domain: "a-café.fr" )
1040+ link = insert ( :shared_link , site: site )
1041+
1042+ assert "http://localhost:8000/a-café.fr" = PlausibleWeb.StatsView . pretty_stats_url ( site )
1043+
1044+ assert "http://localhost:8000/share/a-caf%C3%A9.fr?" <> _q =
1045+ Sites . shared_link_url ( site , link )
1046+ end
1047+ end
10241048end
0 commit comments