test/knowledge-db-edit-state.test.js
Rama main · réplica de lectura del repositorio original.
var test = require('node:test');
var assert = require('node:assert/strict');
var path = require('node:path');
var url = require('node:url');
async function helpers() {
var file = url.pathToFileURL(path.join(__dirname, '../lib/public/modules/knowledge-db-edit-state.js')).href;
return import(file + '?test=' + Date.now());
}
test('record attempts stay immutable for every unresolved successful send', async function () {
var state = await helpers();
var edit = { creating: false, recordId: 'rec_12345678', baseVersion: 1, operationId: 'op_pending', version: 1, attempt: null, saving: false, retryPending: false };
var first = state.buildRecordAttempt(edit, 'db_12345678', 3, { fld_title001: 'First' });
edit = Object.assign({}, edit, { attempt: first, saving: true, version: 2 });
var retry = state.buildRecordAttempt(edit, 'db_12345678', 3, { fld_title001: 'Later' });
assert.equal(retry, first);
assert.deepEqual(retry.payload.values, { fld_title001: 'First' });
});