verify-port-number
Version:
Verifies that a string represents a valid port number.
87 lines (67 loc) • 2.86 kB
JavaScript
/*global describe, it, before, beforeEach, after, afterEach */
describe('Getting the port number', function () {
'use strict';
var getPortNumber = require('../application/verify-port-number'),
assert = require('chai').assert;
describe('When the user passes a valid integer', function () {
it('should return the integer (1)', function () {
var candidate = '1';
assert.doesNotThrow(function () {
getPortNumber(candidate);
}, candidate);
});
it('should return the integer (65536)', function () {
var candidate = '65535';
assert.doesNotThrow(function () {
getPortNumber(candidate);
}, candidate);
});
});
describe('When an invalid por number is passed an exception is thrown', function () {
it('empty string', function () {
var candidate = '',
expectedErrorMessage = getErrorMessage(candidate);
assert.throw(function () {
getPortNumber(candidate);
}, Error, expectedErrorMessage);
});
it('negative integer', function () {
var candidate = '-1',
expectedErrorMessage = getErrorMessage(candidate);
assert.throw(function () {
getPortNumber(candidate);
}, Error, expectedErrorMessage);
});
it('too higher number', function () {
var candidate = '65536',
expectedErrorMessage = getErrorMessage(candidate);
assert.throw(function () {
getPortNumber(candidate);
}, Error, expectedErrorMessage);
});
it('alpha-numeric', function () {
var candidate = '2a',
expectedErrorMessage = getErrorMessage(candidate);
assert.throw(function () {
getPortNumber(candidate);
}, Error, expectedErrorMessage);
});
it('is non integer floating point', function () {
var candidate = '1.1',
expectedErrorMessage = getErrorMessage(candidate);
assert.throw(function () {
getPortNumber(candidate);
}, Error, expectedErrorMessage);
});
it('is integer floating point', function () {
var candidate = '1.0',
expectedErrorMessage = getErrorMessage(candidate);
assert.throw(function () {
getPortNumber(candidate);
}, Error, expectedErrorMessage);
});
});
function getErrorMessage(candidate) {
return 'Port must be a value an positive integer less than or equal to 65535. You entered \'' + candidate + '\'.';
}
});