UNPKG

@justalk/covid19ph-api

Version:

API for COVID 19 Cases in the Philippines

207 lines (179 loc) 7.09 kB
require('dotenv').config({path: './env/.env.' + process.env.NODE_ENV}); const test = require('ava'); const m = require('../../../src/server/libs/parameters'); test('[STATIC] Testing the limit check parameter with a number', t => { const limit = m.check_limit_parameter(3); t.is(limit, 3); const limit_2 = m.check_limit_parameter(56); t.is(limit_2, 56); const limit_3 = m.check_limit_parameter(1); t.is(limit_3, 1); }); test('[STATIC] Testing the limit check parameter without an argument', t => { const limit = m.check_limit_parameter(null); t.is(limit, 1000); }); test('[STATIC] Testing the number check parameter with a number', t => { const number = m.check_number_parameter(3); t.is(number, 3); const number_2 = m.check_number_parameter(56); t.is(number_2, 56); const number_3 = m.check_number_parameter(1); t.is(number_3, 1); }); test('[STATIC] Testing the number check parameter with a string number', t => { const number = m.check_number_parameter('3'); t.is(number, 3); const number_2 = m.check_number_parameter('56.0'); t.is(number_2, 56); const number_3 = m.check_number_parameter('1'); t.is(number_3, 1); }); test('[STATIC] Testing the date check parameter with a good parameter', t => { const errors = {}; const date = m.check_date_parameter('12/02/1991', errors); t.assert(date instanceof Date); const date_2 = m.check_date_parameter('06/26/2020', errors); t.assert(date_2 instanceof Date); }); test('[STATIC] Testing the date check parameter with a wrong parameter', t => { const errors = {}; const date = m.check_date_parameter('abc', errors); t.not(errors.abc, undefined); }); test('[STATIC] Testing the enum check parameter with a good parameter', t => { const errors = {}; const value = m.check_enum_parameter('M', ['F', 'M'], {}); t.is(value, 'M'); }); test('[STATIC] Testing the enum check parameter with a bad parameter', t => { const errors = {}; const value = m.check_enum_parameter('Z', ['F', 'M'], errors); t.not(errors.Z, undefined); }); test('[STATIC] Testing the number check parameter with a bad argument', t => { const errors = {}; const number = m.check_number_parameter('dfd', errors); t.is(number, null); t.not(errors.dfd, undefined); const number_2 = m.check_number_parameter('abc', errors); t.is(number_2, null); t.not(errors.abc, undefined); const number_3 = m.check_number_parameter({}, errors); t.is(number_3, null); }); test('[STATIC] Testing the number check parameter with a bad argument and default argument', t => { const errors = {}; const number = m.check_number_parameter('dfd', errors, 12); t.is(number, 12); const number_2 = m.check_number_parameter('abc', errors, 150); t.is(number_2, 150); const number_3 = m.check_number_parameter({}, errors, 1000); t.is(number_3, 1000); }); test('[STATIC] Testing the boolean check parameter with a string true', t => { const parameter = m.check_boolean_parameter('TRUE'); t.is(parameter, true); const parameter_2 = m.check_boolean_parameter('true'); t.is(parameter_2, true); }); test('[STATIC] Testing the boolean check parameter with a number 1', t => { const parameter = m.check_boolean_parameter(1); t.is(parameter, true); }); test('[STATIC] Testing the boolean check parameter with a number false 0', t => { const parameter = m.check_boolean_parameter(0); t.is(parameter, false); }); test('[STATIC] Testing the boolean check parameter with a string false', t => { const parameter = m.check_boolean_parameter('FALSE'); t.is(parameter, false); const parameter_2 = m.check_boolean_parameter('false'); t.is(parameter_2, false); }); test('[STATIC] Testing the boolean check parameter with a bad value', t => { const errors = {}; const parameter = m.check_boolean_parameter(10, errors); t.is(parameter, null); t.not(errors[10], undefined); const parameter_2 = m.check_boolean_parameter(-3, errors); t.is(parameter_2, null); t.not(errors[-3], undefined); const parameter_3 = m.check_boolean_parameter('656', errors); t.is(parameter_3, null); t.not(errors['656'], undefined); }); test('[STATIC] Testing the check parameter with a null argument', t => { const parameter = m.check_parameter(null, () => {}); t.is(parameter, null); }); test('[STATIC] Testing the is_valid_parameter', t => { const parameter = m.is_valid_parameter(['age', '0', ['eq']]); t.is(parameter, true); const parameter_2 = m.is_valid_parameter(['health', 'blabla bla bla', ['lte']]); t.is(parameter_2, true); const parameter_3 = m.is_valid_parameter(['health', [23, 15], ['lte']]); t.is(parameter_3, true); }); test('[STATIC] Testing the is_valid_parameter with bad value', t => { const parameter = m.is_valid_parameter(['age', null, ['eq']]); t.is(parameter, false); }); test('[STATIC] Testing the is_valid_parameter with not well formated array', t => { const parameter = m.is_valid_parameter(['age', '0']); t.is(parameter, false); }); test('[STATIC] Testing the create sort with a good parameter', t => { const sort = m.create_sort('my_key', '-1'); t.is(sort.my_key, '-1'); }); test('[STATIC] Testing the create sort with a bad parameter', t => { const sort = m.create_sort('my_key', null); t.is(sort, null); const sort_2 = m.create_sort(null, '-1'); t.is(sort_2, null); }); test('[STATIC] Testing the create_mongoose_parameters upper', t => { const parameter = m.create_mongoose_parameters(['age', 0, 'upper']); t.is(parameter.age.$lte, 0); const parameter_2 = m.create_mongoose_parameters(['ruby', 'test', 'upper']); t.is(parameter_2.ruby.$lte, 'test'); }); test('[STATIC] Testing the create_mongoose_parameters lower', t => { const parameter = m.create_mongoose_parameters(['age', 0, 'lower']); t.is(parameter.age.$gte, 0); const parameter_2 = m.create_mongoose_parameters(['ruby', 'test', 'lower']); t.is(parameter_2.ruby.$gte, 'test'); }); test('[STATIC] Testing the create_mongoose_parameters equal', t => { const parameter = m.create_mongoose_parameters(['age', 0, 'equal']); t.is(parameter.age.$eq, 0); const parameter_2 = m.create_mongoose_parameters(['ruby', 'test', 'equal']); t.is(parameter_2.ruby.$eq, 'test'); }); test('[STATIC] Testing the create_mongoose_parameters lower_upper', t => { const parameter = m.create_mongoose_parameters(['age', [12, 20], 'lower_upper']); t.is(parameter.age.$gte, 12); t.is(parameter.age.$lte, 20); }); test('[STATIC] Testing the create_mongoose_parameters with a type that does not exist', t => { const parameter = m.create_mongoose_parameters(['age', 20, 'lsddsf']); t.is(parameter.age.$eq, 20); }); test('[STATIC] Testing the create_parameter', t => { const filters = []; t.is(filters.length, 0); m.create_parameter(filters, 'sex', 'M', 'equal'); t.is(filters.length, 1); t.is(filters[0][0], 'sex'); t.is(filters[0][1], 'M'); t.is(filters[0][2], 'equal'); m.create_parameter(filters, 'age', [0, 20], 'lower_upper'); t.is(filters.length, 2); t.is(filters[1][0], 'age'); t.is(filters[1][1][0], 0); t.is(filters[1][1][1], 20); t.is(filters[1][2], 'lower_upper'); m.create_parameter(filters, 'age', 20, 'lower'); t.is(filters.length, 2); });