feat(education): complete student core loop delivery
This commit is contained in:
19
tools/education-student-harness/adapter.test.js
Normal file
19
tools/education-student-harness/adapter.test.js
Normal file
@@ -0,0 +1,19 @@
|
||||
'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');
|
||||
Reference in New Issue
Block a user