function validTime(str) {
let formatCheck = /\d{2}:\d{2}/;
let splitted = str.split(":");
let left = parseInt(splitted[0]);
let right = parseInt(splitted[1]);
// Check for HH:MM format
if (str.match(formatCheck) === null) {
alert("Please provide time in format 'HH:MM'");
}
// Verify time is valid
if ((left >= 00 && left <= 24) && (right >= 00 && right <= 59)) {
return true
} else {
return false
}
}
/**
* Test Suite
*/
describe('validTime()', () => {
it('returns true for valid time', () => {
// arrange
const str = '13:58';
// act
const result = validTime(str);
// log
console.log("result 1: ", result);
// assert
expect(result).toBe(true);
});
it('returns false when invalid hours', () => {
// arrange
const str = '25:51';
// act
const result = validTime(str);
// log
console.log("result 1: ", result);
// assert
expect(result).toBe(false);
});
it('returns false when invalid minutes', () => {
// arrange
const str = '02:76';
// act
const result = validTime(str);
// log
console.log("result 1: ", result);
// assert
expect(result).toBe(false);
});
});