72 lines
2.6 KiB
JavaScript
72 lines
2.6 KiB
JavaScript
import {describe, it} from 'mocha';
|
|
import {expect} from 'chai';
|
|
import {ValidationError, AICCValidationError, Scorm12ValidationError, Scorm2004ValidationError} from '../src/exceptions';
|
|
import APIConstants from '../src/constants/api_constants';
|
|
|
|
const scorm12_errors = APIConstants.scorm12.error_descriptions;
|
|
const aicc_errors = APIConstants.aicc.error_descriptions;
|
|
const scorm2004_errors = APIConstants.scorm2004.error_descriptions;
|
|
|
|
const checkValidationMessage = (
|
|
{
|
|
errorClass,
|
|
errorCodes,
|
|
error_messages,
|
|
}
|
|
) => {
|
|
describe(`ValidationError: ${typeof errorClass}`, () => {
|
|
it(`${typeof errorClass} should return general errorCode number when not recognized`, () => {
|
|
expect(
|
|
new errorClass.prototype.constructor(53).errorCode,
|
|
).to.equal(101);
|
|
});
|
|
it(`${typeof errorClass} should return general message when not recognized`, () => {
|
|
expect(
|
|
new errorClass.prototype.constructor(53).message,
|
|
).to.equal(error_messages['101'].basicMessage);
|
|
});
|
|
|
|
for (let i = 0; i < errorCodes.length; i++) {
|
|
const errorCode = errorCodes[i];
|
|
it(`${typeof errorClass} should return proper errorCode number when recognized`, () => {
|
|
expect(
|
|
new errorClass.prototype.constructor(errorCode).errorCode,
|
|
).to.equal(errorCode);
|
|
});
|
|
it(`${typeof errorClass} should return proper ${errorCode} message`, () => {
|
|
expect(
|
|
new errorClass.prototype.constructor(errorCode).message,
|
|
).to.equal(error_messages[String(errorCode)].basicMessage);
|
|
});
|
|
}
|
|
});
|
|
};
|
|
|
|
describe('Exception Tests', () => {
|
|
it('ValidationException should return message string', () => {
|
|
expect(
|
|
new ValidationError(0, 'Error Message').message,
|
|
).to.equal('Error Message');
|
|
});
|
|
it('ValidationException should return errorCode number', () => {
|
|
expect(
|
|
new ValidationError(0, 'Error Message').errorCode,
|
|
).to.equal(0);
|
|
});
|
|
checkValidationMessage({
|
|
errorClass: AICCValidationError,
|
|
errorCodes: [101, 201, 202, 203, 301, 401, 402, 403, 404, 405, 407, 408],
|
|
error_messages: aicc_errors,
|
|
});
|
|
checkValidationMessage({
|
|
errorClass: Scorm12ValidationError,
|
|
errorCodes: [101, 201, 202, 203, 301, 401, 402, 403, 404, 405, 407, 408],
|
|
error_messages: scorm12_errors,
|
|
});
|
|
checkValidationMessage({
|
|
errorClass: Scorm2004ValidationError,
|
|
errorCodes: [0, 101, 102, 103, 104, 111, 112, 113, 122, 123, 132, 133, 142, 143, 201, 301, 351, 391, 401, 402, 403, 404, 405, 406, 407, 408],
|
|
error_messages: scorm2004_errors,
|
|
});
|
|
});
|