🐛 Fix Clicking "Subscribe" on the Professional plan redirects to a broken URL

This commit is contained in:
Pablo Alba 2026-07-23 16:21:30 +02:00
parent 09730d10d0
commit d13f54f653
2 changed files with 17 additions and 1 deletions

View File

@ -93,7 +93,7 @@
:profile-id profile-id
:team-permissions team-permissions}))
(def go-to-subscription-url (u/join cf/public-uri "#/settings/subscriptions"))
(def go-to-subscription-url (dm/str (u/join cf/public-uri "#/settings/subscriptions")))
(def go-to-ac-url (build-admin-console-url ""))

View File

@ -64,3 +64,19 @@
(u/uri "https://localhost:3449/#/settings/subscriptions"))]
(t/is (= "https://localhost:3449/#/settings/subscriptions?subscription=nitrate-checkout-error"
(:error-callback callbacks))))))
(t/deftest go-to-subscription-url-is-a-string
(t/testing "must be a string so licenses/billing?callback=... survives query encoding"
(t/is (string? dnt/go-to-subscription-url))
(t/is (not (u/uri? dnt/go-to-subscription-url)))))
(t/deftest build-admin-console-billing-url-encodes-string-callback
(t/testing "billing callback query param round-trips as a real URL string"
(let [public-uri (u/uri "https://localhost:3449/")
callback "https://localhost:3449/#/settings/subscriptions"
href (dnt/build-admin-console-url
public-uri
"licenses/billing"
{:callback callback})
parsed (-> href u/uri :query u/query-string->map :callback)]
(t/is (= callback parsed)))))