function domainType(domains) {
const domainTypes = {
org: "organization",
com: "commercial",
net: "network",
info: "information"
}
let rootDomain = '';
let listOfDomainLabels =[];
for(let domain of domains) {
rootDomain = domain.split('.');
for(let domainType in domainTypes) {
if (rootDomain.includes(domainType)) {
listOfDomainLabels.push(domainTypes[domainType]);
}
}
}
return listOfDomainLabels.length === 0 ? "Sorry, none of our listed domain types were found." :
listOfDomainLabels;
}
/**
* Test Suite
*/
describe('domainType()', () => {
it('returns list of domain types', () => {
// arrange
const domains = ["en.wiki.org", "codefights.com", "happy.net", "code.info"];
//const domains = ["en.wiki.me"];
// act
const result = domainType(domains);
// log
console.log("result: ", result);
// assert
expect(result).toEqual(["organization", "commercial", "network", "information"]);
});
});