import { describe, expect, it } from "vitest";
import { polygonToWkt } from "./requestGeometry";

describe("polygonToWkt", () => {
  it("формирует WKT POLYGON с замыканием кольца", () => {
    const wkt = polygonToWkt([
      { lon: 10, lat: 20 },
      { lon: 30, lat: 20 },
      { lon: 30, lat: 40 }
    ]);
    expect(wkt).toBe("POLYGON((10 20, 30 20, 30 40, 10 20))");
  });

  it("не дублирует замыкающую точку, если кольцо уже замкнуто", () => {
    const wkt = polygonToWkt([
      { lon: 0, lat: 0 },
      { lon: 5, lat: 0 },
      { lon: 5, lat: 5 },
      { lon: 0, lat: 0 }
    ]);
    expect(wkt).toBe("POLYGON((0 0, 5 0, 5 5, 0 0))");
  });

  it("бросает ошибку при менее чем 3 вершинах", () => {
    expect(() => polygonToWkt([{ lon: 0, lat: 0 }, { lon: 1, lat: 1 }])).toThrow();
  });
});
