defmodule HexWan30Test do
use ExUnit.Case, async: true
test "builds root url" do
assert HexWan30.url() == "https://wan30.video"
end
test "builds campaign url" do
assert HexWan30.campaign_url("/pricing",
source: "hex",
medium: "package",
campaign: "launch"
) ==
"https://wan30.video/pricing?utm_campaign=launch&utm_medium=package&utm_source=hex"
end
test "builds referral url" do
assert HexWan30.referral_url("creator-42") == "https://wan30.video?ref=creator-42"
end
test "builds share url" do
assert HexWan30.generate_share_url("/gallery", ref: "creator-42", source: "hex") ==
"https://wan30.video/gallery?ref=creator-42&utm_source=hex"
end
test "builds embed url" do
assert HexWan30.embed_url("demo-video", autoplay: true) ==
"https://wan30.video/embed?asset=demo-video&autoplay=1"
end
test "signs and verifies webhooks" do
payload = ~s({"event":"render.completed"})
signature = HexWan30.sign_webhook(payload, "topsecret")
assert HexWan30.verify_webhook_signature(payload, signature, "topsecret")
refute HexWan30.verify_webhook_signature(payload, signature, "wrong-secret")
end
end