Files
ruoyi-vue-pro/tools/education-student-harness/adapter.test.js

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');