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