UNPKG

aviation-model

Version:

Public methods for querying the information from aviation-pg

198 lines (167 loc) 6.98 kB
"use strict"; var assert = require("assert"); var methods = require("../src/index.js"); var queryData = methods.queryData; var airportsBounds = methods.airportsBounds; describe("query fn \n", function () { var AIRPORT_SEARCH = "Valencia%"; var AIRLINE_SEARCH = "American_Airlines"; var airportOptions = { searchString: AIRPORT_SEARCH, distance: 100 * 1000 }; var airlineOptions = {searchString: AIRLINE_SEARCH}; it("airline_destinations.sql should return the destinations", function (done) { var expectedDestinations = require("./fixtures/airline_destinations.json"); queryData(airlineOptions, "airlineDestinations", function(err, destinations) { if (err) {throw err;} assert.deepEqual(destinations, expectedDestinations, "the destinations are not right."); done(); }); }); it("airport_data.sql should return the airport data", function (done) { var expectedAirportData = [{ airport_id: "Valencia_Airport", latitude: "39°29′22″N", longitude: "00°28′54″W", name: "Valencia Airport", nickname: "IATA: VLC", iata: "VLC", icao: "LEVC", dd_latitude: 39.489444444444445, dd_longitude: -0.4816666666666667, "airlines_flying": 32 }]; queryData(airportOptions, "airportData", function (err, airportData) { if (err) {throw err;} assert.deepEqual(airportData, expectedAirportData, "query failed."); done(); }); }); it("airport_runways.sql should return the runways.", function (done) { var expectedRunways = [{ name: "Valencia Airport", direction: "12/30", ft: "10,548", m: "3,215", surface: "Asphalt" }]; queryData(airportOptions, "airportRunways", function (err, runways) { if (err) {throw err;} assert.deepEqual(runways, expectedRunways, "not returning the proper runway."); done(); }); }); it("cities_by_airline.sql should return the list of cities where the airline is flying.", function (done) { var expectedCities = require("./fixtures/airline_cities.json"); queryData({ searchString: "%American_Airlines%"}, "citiesByAirline", function(err, cities) { if (err) {throw err;} assert.deepEqual(cities, expectedCities, "the cities are not exactly the same."); done(); }); }); it("radius_airports.sql should return the airports within the radius", function (done) { var expectedAirports = require("./fixtures/airports_radius_valencia_100km.json"); queryData(airportOptions, "radiusAirports", function(err, radiusAirports) { if (err) {throw err;} assert.deepEqual(radiusAirports, expectedAirports); done(); }); }); it("airlines.sql should return the airlines", function (done) { var expectedAirlines = require("./fixtures/airline_data.json"); queryData(airlineOptions, "airlines", function(err, airlines) { if (err) {throw err;} assert.deepEqual(airlines, expectedAirlines); done(); }); }); it("airlines_by_airport.sql should return the airlines", function (done) { var expectedAirlines = require("./fixtures/airlines_by_airport.json"); queryData(airportOptions, "airlinesByAirport", function(err, airlines) { if (err) {throw err;} assert.deepEqual(airlines, expectedAirlines); done(); }); }); it("airports_bounds.sql should return the airports", function (done) { var boundsAirports = require("./fixtures/airports_bounds.json"); airportsBounds({ latitude1: 38, longitude1: -123, latitude2: 37, longitude2: -122 }, function (err, airports) { if (err) {throw err;} assert.deepEqual(airports, boundsAirports ); done(); }); }); describe("sql counters", function() { it("airports_count_with_coordinates.sql should return the destinations", function (done) { queryData({}, "airportsCountWithCoords", function(err, result) { if (err) {throw err;} assert.ok(typeof Number(result[0].count) === "number" , "it should be a number" + typeof Number(result[0].count)); assert.ok(Number(result[0].count) > 0); done(); }); }); it("airports_count_without_coordinates.sql should return the destinations", function (done) { queryData({}, "airportsCountWithoutCoords", function(err, result) { if (err) {throw err;} assert.ok(typeof Number(result[0].count) === "number" , "it should be a number" + typeof Number(result[0].count)); assert.ok(Number(result[0].count) > 0); done(); }); }); it("airlines_count.sql should return the destinations", function (done) { queryData({}, "airlinesCount", function(err, result) { if (err) {throw err;} assert.ok(typeof Number(result[0].count) === "number" , "it should be a number" + typeof Number(result[0].count)); assert.ok(Number(result[0].count) > 0); done(); }); }); it("airlines_count_no_callsign.sql should return the destinations", function (done) { queryData({}, "airlinesCountNoCallsign", function(err, result) { if (err) {throw err;} assert.ok(typeof Number(result[0].count) === "number" , "it should be a number" + typeof Number(result[0].count)); assert.ok(Number(result[0].count) > 0); done(); }); }); it("airlines_count_no_iata.sql should return the destinations", function (done) { queryData({}, "airlinesCountNoIata", function(err, result) { if (err) {throw err;} assert.ok(typeof Number(result[0].count) === "number" , "it should be a number" + typeof Number(result[0].count)); assert.ok(Number(result[0].count) > 0); done(); }); }); it("airlines_count_no_icao.sql should return the destinations", function (done) { queryData({}, "airlinesCountNoIcao", function(err, result) { if (err) {throw err;} assert.ok(typeof Number(result[0].count) === "number" , "it should be a number" + typeof Number(result[0].count)); assert.ok(Number(result[0].count) > 0); done(); }); }); it("airlines_count_no_logo_url.sql should return the destinations", function (done) { queryData({}, "airlinesCountNoLogoUrl", function(err, result) { if (err) {throw err;} assert.ok(typeof Number(result[0].count) === "number" , "it should be a number" + typeof Number(result[0].count)); assert.ok(Number(result[0].count) > 0); done(); }); }); it("airlines_count_no_website.sql should return the destinations", function (done) { queryData({}, "airlinesCountNoWebsite", function(err, result) { if (err) {throw err;} assert.ok(typeof Number(result[0].count) === "number" , "it should be a number" + typeof Number(result[0].count)); assert.ok(Number(result[0].count) > 0); done(); }); }); }); });