function domainType(domains) {
let domainTypes = [];
// for each url, split string by "."
for (let i=0; i<domains.length; i++){
const domainArr = domains[i].split(".");
// map domain abbr (last element) to full string
switch (domainArr[domainArr.length - 1]) {
case "org":
domainTypes.push("organization");
break;
case "com":
domainTypes.push("commercial")
break;
case "net":
domainTypes.push("network")
break;
case "info":
domainTypes.push("information")
break;
default:
domainTypes.push("unknown")
}
}
return domainTypes;
}
/**
* Test Suite
*/
describe('domainType()', () => {
it('returns list of domain types', () => {
// arrange
const domains = ["en.wiki.org", "codefights.com", "happy.net", "code.info"];
// act
const result = domainType(domains);
// log
console.log("result: ", result);
// assert
expect(result).toEqual(["organization", "commercial", "network", "information"]);
});
});