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