@coorpacademy/progression-engine
Version:
87 lines (86 loc) • 1.87 kB
JavaScript
"use strict";
var _ava = _interopRequireDefault(require("ava"));
var _createState = _interopRequireDefault(require("../create-state"));
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
const progression = {
engine: {
ref: 'microlearning',
version: '1'
},
engineOptions: {
livesDisabled: false,
version: '1'
},
content: {
type: 'chapter',
ref: '1.A1'
},
actions: []
};
(0, _ava.default)('should create a state from a progression with no actions', t => {
t.deepEqual((0, _createState.default)(progression), {
lives: 1,
livesDisabled: false,
content: undefined,
nextContent: undefined,
isCorrect: true,
slides: [],
stars: 0,
requestedClues: [],
viewedResources: [],
step: {
current: 1
},
remainingLifeRequests: 1,
hasViewedAResourceAtThisStep: false,
allAnswers: [],
variables: {},
pendingSlides: []
});
});
(0, _ava.default)('should create a state from a progression with actions', t => {
const nextContent = {
type: 'slide',
ref: '1.A1'
};
const moveAction = {
type: 'move',
payload: {
nextContent,
instructions: [{
type: 'set',
field: 'foo',
value: 100
}, {
type: 'add',
field: 'foo',
value: 5
}]
}
};
t.deepEqual((0, _createState.default)({
...progression,
actions: [moveAction]
}), {
lives: 1,
livesDisabled: false,
content: undefined,
nextContent,
isCorrect: true,
slides: [],
stars: 0,
requestedClues: [],
viewedResources: [],
step: {
current: 1
},
remainingLifeRequests: 1,
hasViewedAResourceAtThisStep: false,
allAnswers: [],
variables: {
foo: 105
},
pendingSlides: []
});
});
//# sourceMappingURL=create-state.js.map