2026-05-06 14:47:37 -07:00
|
|
|
import { describe, expect, it } from "vitest";
|
2026-05-07 15:54:10 -07:00
|
|
|
import { cloudinaryPublicIdFromUrl } from "../cloudinary.server";
|
2026-05-06 14:47:37 -07:00
|
|
|
|
|
|
|
|
describe("cloudinaryPublicIdFromUrl", () => {
|
2026-05-07 15:54:10 -07:00
|
|
|
it("extracts avatar public IDs", () => {
|
2026-05-06 14:47:37 -07:00
|
|
|
expect(
|
2026-05-07 15:54:10 -07:00
|
|
|
cloudinaryPublicIdFromUrl("https://res.cloudinary.com/demo/image/upload/v123/avatars/team-1.jpg")
|
|
|
|
|
).toBe("avatars/team-1");
|
2026-05-06 14:47:37 -07:00
|
|
|
});
|
|
|
|
|
|
2026-05-07 15:54:10 -07:00
|
|
|
it("extracts sport icon public IDs", () => {
|
2026-05-06 14:47:37 -07:00
|
|
|
expect(
|
2026-05-07 15:54:10 -07:00
|
|
|
cloudinaryPublicIdFromUrl("https://res.cloudinary.com/demo/image/upload/v123/sports-icons/nfl.svg")
|
|
|
|
|
).toBe("sports-icons/nfl");
|
2026-05-06 14:47:37 -07:00
|
|
|
});
|
|
|
|
|
|
2026-05-07 15:54:10 -07:00
|
|
|
it("ignores non-managed URLs", () => {
|
|
|
|
|
expect(cloudinaryPublicIdFromUrl("/sports-icons/nfl.svg")).toBeNull();
|
|
|
|
|
expect(cloudinaryPublicIdFromUrl(null)).toBeNull();
|
2026-05-06 14:47:37 -07:00
|
|
|
});
|
|
|
|
|
});
|