@aerapass/country-data
Version:
Data about countries - like their ISO codes and currencies
50 lines • 1.69 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const _ = require("underscore");
const __1 = require("../");
test("check region's countries are known", () => {
_.each(__1.regions, (region) => {
_.each(region.countries, (country) => {
expect(__1.countries[country]).toBeDefined();
});
});
});
test('check region countries exist', () => {
let countriesAssigned = [];
_.each(__1.regions, (region, name) => {
if (!region.countries) {
_.each(region[name].countries, (country) => {
countriesAssigned.push(country);
});
}
});
countriesAssigned = countriesAssigned.sort();
const duplicate = countriesAssigned.filter((value, index, array) => {
delete array[index];
return array.indexOf(value) !== -1;
});
if (duplicate.length > 0) {
console.log('duplicated: ', duplicate);
}
expect(duplicate.length === 0).toBeTruthy();
});
test('check all assigned countries are in regions', () => {
const countriesAssigned = [];
const countriesAvailable = [];
_.each(__1.regions, (region) => {
_.each(region.countries, (country) => {
countriesAssigned.push(country);
});
});
_.each(__1.countries.all, (country) => {
if (country.status == 'assigned') {
countriesAvailable.push(country.alpha2);
}
});
const difference = _.difference(countriesAvailable, countriesAssigned);
if (difference.length > 0) {
console.log('unused: ', difference);
}
expect(difference.length === 0).toBeTruthy();
});
//# sourceMappingURL=regions.test.js.map