@coorpacademy/progression-engine
Version:
53 lines • 1.47 kB
JavaScript
import _filter from "lodash/fp/filter";
import test from 'ava';
import { getConfig } from '../../config';
import { computeNextStepAfterAnswer } from '..';
import allSlides from './fixtures/slides';
import getSlide from './helpers/get-slide';
import { stateBeforeGettingNextContent } from './fixtures/states';
const config = getConfig({
ref: 'microlearning',
version: '1'
});
const availableContent = [{
ref: '1.A1',
slides: _filter({
chapter_id: '1.A1'
}, allSlides),
rules: null
}];
test('should return the success endpoint when user has answered `config.slidesToComplete` number of slides', t => {
const state = Object.freeze({
...stateBeforeGettingNextContent,
nextContent: {
type: 'slide',
ref: '1.A1.4'
},
slides: ['1.A1.1', '1.A1.2', '1.A1.3']
});
const currentSlide = getSlide(allSlides, state.nextContent);
const partialAction = {
type: 'answer',
payload: {
answer: [],
content: state.nextContent,
godMode: true
}
};
const result = computeNextStepAfterAnswer(config, state, availableContent, currentSlide, partialAction);
t.deepEqual(result, {
type: 'answer',
payload: {
answer: [],
content: state.nextContent,
godMode: true,
nextContent: {
ref: 'successExitNode',
type: 'success'
},
instructions: null,
isCorrect: true
}
});
});
//# sourceMappingURL=compute-next-step-after-answer.microlearning.js.map