From 47cb69b829b6131b84b5ca129ef1ee9e5e77259d Mon Sep 17 00:00:00 2001 From: gabdevele Date: Tue, 2 Jun 2026 19:22:54 +0200 Subject: [PATCH] Add focused backend tests --- test/test_main.cc | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/test/test_main.cc b/test/test_main.cc index 5a7ec21..33aa568 100644 --- a/test/test_main.cc +++ b/test/test_main.cc @@ -3,6 +3,9 @@ #include #include +#include "common/GeoJson.h" +#include "common/Validation.h" + #include using namespace drogon; @@ -44,6 +47,44 @@ DROGON_TEST(HealthEndpoint) "visione-backend"); } +DROGON_TEST(ValidationRejectsMalformedIdentity) +{ + CHECK(visione::validation::isValidEmail("mario.rossi@example.com")); + CHECK(!visione::validation::isValidEmail("not-an-email")); + CHECK(visione::validation::isValidFiscalCode("RSSMRA80A01H501U")); + CHECK(!visione::validation::isValidFiscalCode("short")); +} + +DROGON_TEST(GeoJsonMatchesPointInsidePolygon) +{ + Json::Value polygon; + polygon["type"] = "Polygon"; + Json::Value ring(Json::arrayValue); + + Json::Value a(Json::arrayValue); + a.append(12.0); + a.append(41.0); + Json::Value b(Json::arrayValue); + b.append(13.0); + b.append(41.0); + Json::Value c(Json::arrayValue); + c.append(13.0); + c.append(42.0); + Json::Value d(Json::arrayValue); + d.append(12.0); + d.append(42.0); + + ring.append(a); + ring.append(b); + ring.append(c); + ring.append(d); + ring.append(a); + polygon["coordinates"].append(ring); + + CHECK(visione::geojson::pointInPolygon(41.5, 12.5, polygon)); + CHECK(!visione::geojson::pointInPolygon(43.0, 12.5, polygon)); +} + int main(int argc, char **argv) { std::promise startedPromise;