More test cases and breaking out valid/invalid values to be reusable
This commit is contained in:
@@ -12,6 +12,7 @@ import {
|
||||
CMIObjectivesObject,
|
||||
} from '../../src/cmi/scorm12_cmi';
|
||||
import {expect} from 'chai';
|
||||
import {scorm12_values} from '../../src/constants/field_values';
|
||||
|
||||
const invalid_set = scorm12_error_codes.INVALID_SET_VALUE;
|
||||
const type_mismatch = scorm12_error_codes.TYPE_MISMATCH;
|
||||
@@ -94,22 +95,8 @@ describe('AICC CMI Tests', () => {
|
||||
h.checkValidValues({
|
||||
cmi: cmi(),
|
||||
fieldName: 'cmi.core.lesson_status',
|
||||
validValues: [
|
||||
'passed',
|
||||
'completed',
|
||||
'failed',
|
||||
'incomplete',
|
||||
'browsed',
|
||||
],
|
||||
invalidValues: [
|
||||
'Passed',
|
||||
'P',
|
||||
'F',
|
||||
'p',
|
||||
'true',
|
||||
'false',
|
||||
'complete',
|
||||
],
|
||||
validValues: scorm12_values.validLessonStatus,
|
||||
invalidValues: scorm12_values.invalidLessonStatus,
|
||||
});
|
||||
h.checkReadAndWrite({
|
||||
cmi: cmi(),
|
||||
@@ -132,14 +119,8 @@ describe('AICC CMI Tests', () => {
|
||||
h.checkValidValues({
|
||||
cmi: cmi(),
|
||||
fieldName: 'cmi.core.exit',
|
||||
validValues: [
|
||||
'time-out',
|
||||
'suspend',
|
||||
'logout',
|
||||
], invalidValues: [
|
||||
'complete',
|
||||
'exit',
|
||||
],
|
||||
validValues: scorm12_values.validExit,
|
||||
invalidValues: scorm12_values.invalidExit,
|
||||
});
|
||||
|
||||
h.checkWriteOnly({
|
||||
@@ -151,17 +132,8 @@ describe('AICC CMI Tests', () => {
|
||||
h.checkValidValues({
|
||||
cmi: cmi(),
|
||||
fieldName: 'cmi.core.session_time',
|
||||
validValues: [
|
||||
'10:06:57',
|
||||
'00:00:01.56',
|
||||
'23:59:59',
|
||||
'47:59:59',
|
||||
],
|
||||
invalidValues: [
|
||||
'06:5:13',
|
||||
'23:59:59.123',
|
||||
'P1DT23H59M59S',
|
||||
],
|
||||
validValues: scorm12_values.validTimestamp,
|
||||
invalidValues: scorm12_values.invalidTimestamp,
|
||||
});
|
||||
|
||||
/**
|
||||
@@ -177,47 +149,20 @@ describe('AICC CMI Tests', () => {
|
||||
h.checkValidValues({
|
||||
cmi: cmi(),
|
||||
fieldName: 'cmi.core.score.raw',
|
||||
validValues: [
|
||||
'0',
|
||||
'25.1',
|
||||
'50.5',
|
||||
'75',
|
||||
'100',
|
||||
],
|
||||
invalidValues: [
|
||||
'-1',
|
||||
'101',
|
||||
],
|
||||
validValues: scorm12_values.validScoreRange,
|
||||
invalidValues: scorm12_values.invalidScoreRange,
|
||||
});
|
||||
h.checkValidValues({
|
||||
cmi: cmi(),
|
||||
fieldName: 'cmi.core.score.min',
|
||||
validValues: [
|
||||
'0',
|
||||
'25.1',
|
||||
'50.5',
|
||||
'75',
|
||||
'100',
|
||||
],
|
||||
invalidValues: [
|
||||
'-1',
|
||||
'101',
|
||||
],
|
||||
validValues: scorm12_values.validScoreRange,
|
||||
invalidValues: scorm12_values.invalidScoreRange,
|
||||
});
|
||||
h.checkValidValues({
|
||||
cmi: cmi(),
|
||||
fieldName: 'cmi.core.score.max',
|
||||
validValues: [
|
||||
'0',
|
||||
'25.1',
|
||||
'50.5',
|
||||
'75',
|
||||
'100',
|
||||
],
|
||||
invalidValues: [
|
||||
'-1',
|
||||
'101',
|
||||
],
|
||||
validValues: scorm12_values.validScoreRange,
|
||||
invalidValues: scorm12_values.invalidScoreRange,
|
||||
});
|
||||
|
||||
/**
|
||||
@@ -273,26 +218,10 @@ describe('AICC CMI Tests', () => {
|
||||
h.checkValidValues({
|
||||
cmi: cmi(),
|
||||
fieldName: 'cmi.student_preference.audio',
|
||||
validValues: [
|
||||
'1',
|
||||
validValues: scorm12_values.valid0To100Range.concat([
|
||||
'-1',
|
||||
'50',
|
||||
'100',
|
||||
],
|
||||
invalidValues: [
|
||||
'invalid',
|
||||
'a100',
|
||||
],
|
||||
});
|
||||
h.checkValidValues({
|
||||
cmi: cmi(),
|
||||
fieldName: 'cmi.student_preference.audio',
|
||||
validValues: [],
|
||||
invalidValues: [
|
||||
'101',
|
||||
'5000000',
|
||||
'-500',
|
||||
],
|
||||
]),
|
||||
invalidValues: scorm12_values.invalid0To100Range,
|
||||
});
|
||||
h.checkFieldConstraintSize({
|
||||
cmi: cmi(),
|
||||
@@ -303,48 +232,14 @@ describe('AICC CMI Tests', () => {
|
||||
h.checkValidValues({
|
||||
cmi: cmi(),
|
||||
fieldName: 'cmi.student_preference.speed',
|
||||
validValues: [
|
||||
'1',
|
||||
'-100',
|
||||
'50',
|
||||
'100',
|
||||
],
|
||||
invalidValues: [
|
||||
'invalid',
|
||||
'a100',
|
||||
],
|
||||
});
|
||||
h.checkValidValues({
|
||||
cmi: cmi(),
|
||||
fieldName: 'cmi.student_preference.speed',
|
||||
validValues: [],
|
||||
invalidValues: [
|
||||
'101',
|
||||
'-101',
|
||||
'5000000',
|
||||
'-500',
|
||||
],
|
||||
validValues: scorm12_values.validSpeedRange,
|
||||
invalidValues: scorm12_values.invalidSpeedRange,
|
||||
});
|
||||
h.checkValidValues({
|
||||
cmi: cmi(),
|
||||
fieldName: 'cmi.student_preference.text',
|
||||
validValues: [
|
||||
'1',
|
||||
'-1',
|
||||
],
|
||||
invalidValues: [
|
||||
'invalid',
|
||||
'a100',
|
||||
],
|
||||
});
|
||||
h.checkValidValues({
|
||||
cmi: cmi(),
|
||||
fieldName: 'cmi.student_preference.text',
|
||||
validValues: [],
|
||||
invalidValues: [
|
||||
'2',
|
||||
'-2',
|
||||
],
|
||||
validValues: scorm12_values.validIntegerScaledRange,
|
||||
invalidValues: scorm12_values.invalidIntegerScaledRange,
|
||||
});
|
||||
|
||||
/**
|
||||
@@ -443,22 +338,8 @@ describe('AICC CMI Tests', () => {
|
||||
h.checkValidValues({
|
||||
cmi: cmi(),
|
||||
fieldName: 'cmi.core.lesson_status',
|
||||
validValues: [
|
||||
'passed',
|
||||
'completed',
|
||||
'failed',
|
||||
'incomplete',
|
||||
'browsed',
|
||||
],
|
||||
invalidValues: [
|
||||
'Passed',
|
||||
'P',
|
||||
'F',
|
||||
'p',
|
||||
'true',
|
||||
'false',
|
||||
'complete',
|
||||
],
|
||||
validValues: scorm12_values.validLessonStatus,
|
||||
invalidValues: scorm12_values.invalidLessonStatus,
|
||||
});
|
||||
h.checkReadOnly({
|
||||
cmi: cmi(),
|
||||
@@ -484,14 +365,8 @@ describe('AICC CMI Tests', () => {
|
||||
h.checkValidValues({
|
||||
cmi: cmi(),
|
||||
fieldName: 'cmi.core.exit',
|
||||
validValues: [
|
||||
'time-out',
|
||||
'suspend',
|
||||
'logout',
|
||||
], invalidValues: [
|
||||
'complete',
|
||||
'exit',
|
||||
],
|
||||
validValues: scorm12_values.validExit,
|
||||
invalidValues: scorm12_values.invalidExit,
|
||||
});
|
||||
h.checkWriteOnly({
|
||||
cmi: cmi(),
|
||||
@@ -502,17 +377,8 @@ describe('AICC CMI Tests', () => {
|
||||
h.checkValidValues({
|
||||
cmi: cmi(),
|
||||
fieldName: 'cmi.core.session_time',
|
||||
validValues: [
|
||||
'10:06:57',
|
||||
'00:00:01.56',
|
||||
'23:59:59',
|
||||
'47:59:59',
|
||||
],
|
||||
invalidValues: [
|
||||
'06:5:13',
|
||||
'23:59:59.123',
|
||||
'P1DT23H59M59S',
|
||||
],
|
||||
validValues: scorm12_values.validTimestamp,
|
||||
invalidValues: scorm12_values.invalidTimestamp,
|
||||
});
|
||||
|
||||
/**
|
||||
@@ -527,47 +393,20 @@ describe('AICC CMI Tests', () => {
|
||||
h.checkValidValues({
|
||||
cmi: cmi(),
|
||||
fieldName: 'cmi.core.score.raw',
|
||||
validValues: [
|
||||
'0',
|
||||
'25.1',
|
||||
'50.5',
|
||||
'75',
|
||||
'100',
|
||||
],
|
||||
invalidValues: [
|
||||
'-1',
|
||||
'101',
|
||||
],
|
||||
validValues: scorm12_values.validScoreRange,
|
||||
invalidValues: scorm12_values.invalidScoreRange,
|
||||
});
|
||||
h.checkValidValues({
|
||||
cmi: cmi(),
|
||||
fieldName: 'cmi.core.score.min',
|
||||
validValues: [
|
||||
'0',
|
||||
'25.1',
|
||||
'50.5',
|
||||
'75',
|
||||
'100',
|
||||
],
|
||||
invalidValues: [
|
||||
'-1',
|
||||
'101',
|
||||
],
|
||||
validValues: scorm12_values.validScoreRange,
|
||||
invalidValues: scorm12_values.invalidScoreRange,
|
||||
});
|
||||
h.checkValidValues({
|
||||
cmi: cmi(),
|
||||
fieldName: 'cmi.core.score.max',
|
||||
validValues: [
|
||||
'0',
|
||||
'25.1',
|
||||
'50.5',
|
||||
'75',
|
||||
'100',
|
||||
],
|
||||
invalidValues: [
|
||||
'-1',
|
||||
'101',
|
||||
],
|
||||
validValues: scorm12_values.validScoreRange,
|
||||
invalidValues: scorm12_values.invalidScoreRange,
|
||||
});
|
||||
|
||||
/**
|
||||
@@ -627,26 +466,10 @@ describe('AICC CMI Tests', () => {
|
||||
h.checkValidValues({
|
||||
cmi: cmi(),
|
||||
fieldName: 'cmi.student_preference.audio',
|
||||
validValues: [
|
||||
'1',
|
||||
validValues: scorm12_values.valid0To100Range.concat([
|
||||
'-1',
|
||||
'50',
|
||||
'100',
|
||||
],
|
||||
invalidValues: [
|
||||
'invalid',
|
||||
'a100',
|
||||
],
|
||||
});
|
||||
h.checkValidValues({
|
||||
cmi: cmi(),
|
||||
fieldName: 'cmi.student_preference.audio',
|
||||
validValues: [],
|
||||
invalidValues: [
|
||||
'101',
|
||||
'5000000',
|
||||
'-500',
|
||||
],
|
||||
]),
|
||||
invalidValues: scorm12_values.invalid0To100Range,
|
||||
});
|
||||
h.checkFieldConstraintSize({
|
||||
cmi: cmi(),
|
||||
@@ -657,48 +480,14 @@ describe('AICC CMI Tests', () => {
|
||||
h.checkValidValues({
|
||||
cmi: cmi(),
|
||||
fieldName: 'cmi.student_preference.speed',
|
||||
validValues: [
|
||||
'1',
|
||||
'-100',
|
||||
'50',
|
||||
'100',
|
||||
],
|
||||
invalidValues: [
|
||||
'invalid',
|
||||
'a100',
|
||||
],
|
||||
});
|
||||
h.checkValidValues({
|
||||
cmi: cmi(),
|
||||
fieldName: 'cmi.student_preference.speed',
|
||||
validValues: [],
|
||||
invalidValues: [
|
||||
'101',
|
||||
'-101',
|
||||
'5000000',
|
||||
'-500',
|
||||
],
|
||||
validValues: scorm12_values.validSpeedRange,
|
||||
invalidValues: scorm12_values.invalidSpeedRange,
|
||||
});
|
||||
h.checkValidValues({
|
||||
cmi: cmi(),
|
||||
fieldName: 'cmi.student_preference.text',
|
||||
validValues: [
|
||||
'1',
|
||||
'-1',
|
||||
],
|
||||
invalidValues: [
|
||||
'invalid',
|
||||
'a100',
|
||||
],
|
||||
});
|
||||
h.checkValidValues({
|
||||
cmi: cmi(),
|
||||
fieldName: 'cmi.student_preference.text',
|
||||
validValues: [],
|
||||
invalidValues: [
|
||||
'2',
|
||||
'-2',
|
||||
],
|
||||
validValues: scorm12_values.validIntegerScaledRange,
|
||||
invalidValues: scorm12_values.invalidIntegerScaledRange,
|
||||
});
|
||||
|
||||
/**
|
||||
@@ -756,21 +545,10 @@ describe('AICC CMI Tests', () => {
|
||||
h.checkValidValues({
|
||||
cmi: triesObject(),
|
||||
fieldName: 'cmi.status',
|
||||
validValues: [
|
||||
'passed',
|
||||
'completed',
|
||||
'failed',
|
||||
'incomplete',
|
||||
'browsed',
|
||||
validValues: scorm12_values.validLessonStatus.concat([
|
||||
'not attempted',
|
||||
],
|
||||
invalidValues: [
|
||||
'P',
|
||||
'f',
|
||||
'complete',
|
||||
'started',
|
||||
'in progress',
|
||||
],
|
||||
]),
|
||||
invalidValues: scorm12_values.invalidLessonStatus,
|
||||
});
|
||||
h.checkReadAndWrite({
|
||||
cmi: triesObject(),
|
||||
@@ -781,16 +559,8 @@ describe('AICC CMI Tests', () => {
|
||||
h.checkValidValues({
|
||||
cmi: triesObject(),
|
||||
fieldName: 'cmi.time',
|
||||
validValues: [
|
||||
'15:00:30',
|
||||
'00:50:30',
|
||||
'23:00:30',
|
||||
],
|
||||
invalidValues: [
|
||||
'-00:00:30',
|
||||
'0:50:30',
|
||||
'23:00:30.',
|
||||
],
|
||||
validValues: scorm12_values.validTime,
|
||||
invalidValues: scorm12_values.invalidTime,
|
||||
});
|
||||
|
||||
/**
|
||||
@@ -805,47 +575,20 @@ describe('AICC CMI Tests', () => {
|
||||
h.checkValidValues({
|
||||
cmi: triesObject(),
|
||||
fieldName: 'cmi.score.raw',
|
||||
validValues: [
|
||||
'0',
|
||||
'25.1',
|
||||
'50.5',
|
||||
'75',
|
||||
'100',
|
||||
],
|
||||
invalidValues: [
|
||||
'-1',
|
||||
'101',
|
||||
],
|
||||
validValues: scorm12_values.validScoreRange,
|
||||
invalidValues: scorm12_values.invalidScoreRange,
|
||||
});
|
||||
h.checkValidValues({
|
||||
cmi: triesObject(),
|
||||
fieldName: 'cmi.score.min',
|
||||
validValues: [
|
||||
'0',
|
||||
'25.1',
|
||||
'50.5',
|
||||
'75',
|
||||
'100',
|
||||
],
|
||||
invalidValues: [
|
||||
'-1',
|
||||
'101',
|
||||
],
|
||||
validValues: scorm12_values.validScoreRange,
|
||||
invalidValues: scorm12_values.invalidScoreRange,
|
||||
});
|
||||
h.checkValidValues({
|
||||
cmi: triesObject(),
|
||||
fieldName: 'cmi.score.max',
|
||||
validValues: [
|
||||
'0',
|
||||
'25.1',
|
||||
'50.5',
|
||||
'75',
|
||||
'100',
|
||||
],
|
||||
invalidValues: [
|
||||
'-1',
|
||||
'101',
|
||||
],
|
||||
validValues: scorm12_values.validScoreRange,
|
||||
invalidValues: scorm12_values.invalidScoreRange,
|
||||
});
|
||||
|
||||
it('should export JSON', () => {
|
||||
@@ -888,16 +631,8 @@ describe('AICC CMI Tests', () => {
|
||||
h.checkValidValues({
|
||||
cmi: evaluationComment(),
|
||||
fieldName: 'cmi.time',
|
||||
validValues: [
|
||||
'15:00:30',
|
||||
'00:50:30',
|
||||
'23:00:30',
|
||||
],
|
||||
invalidValues: [
|
||||
'-00:00:30',
|
||||
'0:50:30',
|
||||
'23:00:30.',
|
||||
],
|
||||
validValues: scorm12_values.validTime,
|
||||
invalidValues: scorm12_values.invalidTime,
|
||||
});
|
||||
|
||||
it('should export JSON', () => {
|
||||
|
||||
Reference in New Issue
Block a user