From 70fa338f2fd8189c0941a4bcb7d5dd18d07d5e8a Mon Sep 17 00:00:00 2001 From: Clement Date: Sat, 18 May 2024 14:35:07 +0200 Subject: [PATCH] add otm tes box --- Express/barAndCafe/test/openTripMaps.test.ts | 171 ++++++++++++++----- 1 file changed, 128 insertions(+), 43 deletions(-) diff --git a/Express/barAndCafe/test/openTripMaps.test.ts b/Express/barAndCafe/test/openTripMaps.test.ts index 1f5c99c..44fdc1f 100644 --- a/Express/barAndCafe/test/openTripMaps.test.ts +++ b/Express/barAndCafe/test/openTripMaps.test.ts @@ -1,7 +1,7 @@ -import request from "supertest"; -import app from "../src/app"; -import { Server, IncomingMessage, ServerResponse } from "http"; -import * as dotenv from "dotenv"; +import request from "supertest" +import app from "../src/app" +import { Server, IncomingMessage, ServerResponse } from "http" +import * as dotenv from "dotenv" dotenv.config({path: '../../.env'}) const port = parseInt(process.env.BAR_PORT || '3000') @@ -15,10 +15,10 @@ describe("Test the otm city path", () => { .get("/otm/city") .query({'name':'La roche sur yon'}) .then(response => { - expect(response.statusCode).toBe(200); - done(); - }); - }); + expect(response.statusCode).toBe(200) + done() + }) + }) test("It should response the GET method with content", done => { const out = { @@ -50,48 +50,48 @@ describe("Test the otm city path", () => { .then(response => { console.log(response.text) expect(response.text).toEqual(JSON.stringify(out)) - done(); - }); - }); + done() + }) + }) test("It should response the 400 code for GET method", done => { request(app) .get("/otm/city") .then(response => { console.log(response.text) - expect(response.statusCode).toBe(400); - done(); - }); - }); + expect(response.statusCode).toBe(400) + done() + }) + }) test("It should response the 200 code for GET method", done => { request(app) .get("/otm/radius") .query({'lon':'-1.4344594', 'lat' : '46.6686478', 'radius': '10'}) .then(response => { - expect(response.statusCode).toBe(200); - done(); - }); - }); + expect(response.statusCode).toBe(200) + done() + }) + }) test("It should response the 200 code for GET method (default radius)", done => { request(app) .get("/otm/radius") .query({'lon':'-1.4344594', 'lat' : '46.6686478'}) .then(response => { - expect(response.statusCode).toBe(200); - done(); - }); - }); + expect(response.statusCode).toBe(200) + done() + }) + }) test("It should response the 400 code for GET method (missing lon and lat)", done => { request(app) .get("/otm/radius") .then(response => { - expect(response.statusCode).toBe(400); - done(); - }); - }); + expect(response.statusCode).toBe(400) + done() + }) + }) test("Get bar in radius from API", done => { @@ -121,9 +121,9 @@ describe("Test the otm city path", () => { .get("/otm/radius") .query({'lon':'-1.4344594', 'lat' : '46.6686478', 'radius': '10'}) .then(response => { - expect(response.text).toEqual(JSON.stringify(out)); - done(); - }); + expect(response.text).toEqual(JSON.stringify(out)) + done() + }) }) test("It should response the 200 code for GET method", done => { @@ -131,10 +131,10 @@ describe("Test the otm city path", () => { .get("/otm/poidetaill") .query({'id':'562635'}) .then(response => { - expect(response.statusCode).toBe(200); - done(); - }); - }); + expect(response.statusCode).toBe(200) + done() + }) + }) test("Get bar in radius from API", done => { const out = { @@ -171,17 +171,102 @@ describe("Test the otm city path", () => { .get("/otm/poidetaill") .query({'id':'562635'}) .then(response => { - expect(response.text).toEqual(JSON.stringify(out)); - done(); - }); + expect(response.text).toEqual(JSON.stringify(out)) + done() + }) + }) + + test("It should response the 400 code for GET method (no id)", done => { + request(app) + .get("/otm/poidetaill") + .then(response => { + expect(response.statusCode).toBe(400) + done() + }) }) test("It should response the 200 code for GET method", done => { request(app) - .get("/otm/poidetaill") + .get("/otm/box") + .query({'lon1':'-1.435199','lon2':'-1.43519', 'lat1':'46.668460', 'lat2':'46.668461'}) .then(response => { - expect(response.statusCode).toBe(400); - done(); - }); - }); -}); \ No newline at end of file + expect(response.statusCode).toBe(200) + done() + }) + }) + + test("Get bar in box from API", done => { + const out = { + "type": "FeatureCollection", + "features": [ + { + "type": "Feature", + "id": "562633", + "geometry": { + "type": "Point", + "coordinates": [ + -1.435197, + 46.6684608 + ] + }, + "properties": { + "xid": "N4032296323", + "name": "Le Cube", + "rate": 1, + "osm": "node/4032296323", + "kinds": "foods,cafes,tourist_facilities" + } + } + ] + } + request(app) + .get("/otm/box") + .query({'lon1':'-1.435199','lon2':'-1.43519', 'lat1':'46.668460', 'lat2':'46.668461'}) + .then(response => { + expect(response.text).toEqual(JSON.stringify(out)) + done() + }) + }) + + test("Get bar in box from API lat reversed", done => { + const out = { + "type": "FeatureCollection", + "features": [ + { + "type": "Feature", + "id": "562633", + "geometry": { + "type": "Point", + "coordinates": [ + -1.435197, + 46.6684608 + ] + }, + "properties": { + "xid": "N4032296323", + "name": "Le Cube", + "rate": 1, + "osm": "node/4032296323", + "kinds": "foods,cafes,tourist_facilities" + } + } + ] + } + request(app) + .get("/otm/box") + .query({'lon1':'-1.435199','lon2':'-1.43519', 'lat2':'46.668460', 'lat1':'46.668461'}) + .then(response => { + expect(response.text).toEqual(JSON.stringify(out)) + done() + }) + }) + + test("It should response the 400 code for GET method (no coordonaite)", done => { + request(app) + .get("/otm/box") + .then(response => { + expect(response.statusCode).toBe(400) + done() + }) + }) +}) \ No newline at end of file