forked from wangziqi/ruoyi-vue-pro
20 lines
1.1 KiB
JavaScript
20 lines
1.1 KiB
JavaScript
'use strict';
|
|
const assert = require('assert');
|
|
const { buildRequest, answerCommand, applyAnswerResult } = require('./adapter');
|
|
|
|
const request = buildRequest('/education/context', { method: 'GET' }, 'memory-token');
|
|
assert.equal(request.url, '/app-api/education/context');
|
|
assert.equal(request.options.headers.Authorization, 'Bearer memory-token');
|
|
assert.equal(request.options.headers.Accept, 'application/json');
|
|
|
|
const session = { id: 's-1', sessionVersion: 4, acceptedSequence: 2 };
|
|
const command = answerCommand(session, 3, 'B', 'answer-key-1', 3);
|
|
assert.deepEqual(command, { sessionId: 's-1', questionSequence: 3, selectedAnswer: 'B', idempotencyKey: 'answer-key-1', clientSequence: 3, expectedSessionVersion: 4 });
|
|
|
|
const advanced = applyAnswerResult(session, { sessionVersion: 5, acceptedSequence: 3 });
|
|
assert.equal(advanced.sessionVersion, 5);
|
|
assert.equal(advanced.acceptedSequence, 3);
|
|
assert.equal(applyAnswerResult(advanced, { sessionVersion: 6, acceptedSequence: 2 }).acceptedSequence, 3);
|
|
|
|
process.stdout.write('education student adapter unit tests passed\n');
|