@openscope/validator
Version:
A CLI used to validate an airport definition file used in the [openscope](http://openscope.co) ATC Simulator
56 lines (45 loc) • 1.84 kB
JavaScript
const expect = require('chai').expect;
const findUndefinedFixesInProcedure = require('../findUndefinedFixes').findUndefinedFixesInProcedure;
// FIXME: move this file up
const airportKseaMock = require('../validators/__test__/_mock/airportKseaMock');
const sidWithUndefinedFixMock = {
SUMMA1: {
icao: 'SUMMA1',
name: 'Summa One',
rwy: {
KSEA16L: ['NEVJO'],
KSEA16C: ['NEVJO'],
KSEA16R: ['NEVJO'],
KSEA34L: [['NEZUG', 'A40+'], '^_NEZUG070PAE139', '_SUMMA326017'],
KSEA34C: [['NEZUG', 'A40+'], '^_NEZUG070PAE139', '_SUMMA326017'],
KSEA34R: [['NEZUG', 'A40+'], '^_NEZUG070PAE139', '_SUMMA326017', "#210"]
},
body: ['THREVE', ['$TEXAS', 'A50-A75+|S250-']],
exitPoints: {
BKE: ['SUMMA', 'BKE'],
LKV: ['SUMMA', 'LKV'],
SUMMA: ['SUMMA']
},
draw: [
['NEVJO', 'SUMMA'],
['NEZUG', '_NEZUG070PAE139', '_SUMMA326017', 'SUMMA'],
['SUMMA', 'LKV*'],
['SUMMA*', 'BKE*']
]
}
};
describe('.findUndefinedFixesInProcedure()', () => {
const procedureIcaoMock = 'SUMMA1';
const fixListMock = Object.keys(airportKseaMock.fixes);
it('should accept pocedureIco, procedure and fixList as args', () => {
const expectedResult = ['THREVE', '$TEXAS'];
const result = findUndefinedFixesInProcedure(sidWithUndefinedFixMock[procedureIcaoMock], fixListMock);
expect(result).to.eql(expectedResult);
});
it('should exclude heading instructions', () => {
const expectedResult = ['THREVE', '$TEXAS'];
const result = findUndefinedFixesInProcedure(sidWithUndefinedFixMock[procedureIcaoMock], fixListMock);
expect(result).to.eql(expectedResult);
});
});