Refine workspaces and event publishing; harden uploads and email delivery
This commit is contained in:
@@ -0,0 +1,22 @@
|
||||
import { describe, expect, test } from "bun:test";
|
||||
import { parseLocationResults } from "./location-search";
|
||||
import { updateEventInputSchema } from "@album/contracts";
|
||||
import { openStreetMapEmbedUrl } from "@/lib/maps";
|
||||
|
||||
describe("event locations", () => {
|
||||
test("maps GeoJSON longitude/latitude correctly and deduplicates matches", () => {
|
||||
const feature = { geometry: { coordinates: [-72.7, 40.9] }, properties: { name: "Raceway", city: "Riverhead" } };
|
||||
expect(parseLocationResults({ features: [feature, feature] })).toEqual([
|
||||
{ address: "Raceway, Riverhead", latitude: 40.9, longitude: -72.7 },
|
||||
]);
|
||||
});
|
||||
test("rejects impossible coordinates from the provider and event input", () => {
|
||||
expect(parseLocationResults({ features: [{ geometry: { coordinates: [200, 95] }, properties: { name: "Bad" } }] })).toEqual([]);
|
||||
expect(updateEventInputSchema.safeParse({ eventId: "7fa618fc-3fcb-4fd4-a0af-03f14124cccc", locationCoordinates: { latitude: 95, longitude: 0 } }).success).toBe(false);
|
||||
});
|
||||
test("keeps zero coordinates and uses latitude first in the OSM marker", () => {
|
||||
const url = new URL(openStreetMapEmbedUrl(0, 12));
|
||||
expect(url.searchParams.get("marker")).toBe("0,12");
|
||||
expect(url.searchParams.get("bbox")).toBe("11.992,-0.008,12.008,0.008");
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user