This commit is contained in:
seb
2026-10-31 20:28:39 +01:00
parent c7d1b1a5d2
commit f612c87b6e
25 changed files with 757 additions and 40 deletions

View File

@@ -34,42 +34,78 @@ try {
// pair
const paired = await store.printeragent.pair(a.id, {
token: 'test-token-123',
clientserial: 'SN12345',
clientmodel: 'Epson TM-T88VI',
agentversion: '1.0.0',
});
assert.equal(paired.token, 'test-token-123');
assert.equal(paired.clientserial, 'SN12345');
assert.equal(paired.clientmodel, 'Epson TM-T88VI');
assert.equal(paired.agentversion, '1.0.0');
assert.equal(paired.pairingpin, null);
assert.equal(paired.enabled, true);
assert.ok(paired.pairedAt);
// findByToken
const foundByToken = await store.printeragent.findByToken('test-token-123');
assert.equal(foundByToken.id, a.id);
assert.equal(foundByToken.clientmodel, 'Epson TM-T88VI');
assert.equal(foundByToken.enabled, true);
assert.equal(await store.printeragent.findByToken('invalid-token'), null);
// updateState
const withState = await store.printeragent.updateState(a.id, { online: true, paper: 'ok' });
assert.equal(withState.clientstate, JSON.stringify({ online: true, paper: 'ok' }));
// touchLastseen
await store.printeragent.touchLastseen(a.id, '1.0.1');
const afterTouch = await store.printeragent.findByToken('test-token-123');
assert.equal(afterTouch.agentversion, '1.0.1');
// update name and sort
const b = await store.printeragent.update(googleAuthId, { id: a.id, name: 'Kitchen', sort: 1 });
// update name, sort, and enabled
const b = await store.printeragent.update(googleAuthId, { id: a.id, name: 'Kitchen', sort: 1, enabled: false });
assert.equal(b.name, 'Kitchen');
assert.equal(b.sort, 1);
assert.equal(b.enabled, false);
// list
const list = await store.printeragent.list(googleAuthId);
assert.equal(list.length, 1);
assert.equal(list[0].name, 'Kitchen');
assert.equal(list[0].sort, 1);
assert.equal(list[0].enabled, false);
// test agentprinter findOrCreate
const ap1 = await store.agentprinter.findOrCreate(a.id, { type: 'zpl', model: 'ZD410-200dpi', serial: '50J203002218' });
assert.equal(ap1.created, true);
assert.equal(ap1.agentprinter.type, 'zpl');
assert.equal(ap1.agentprinter.model, 'ZD410-200dpi');
assert.equal(ap1.agentprinter.serial, '50J203002218');
assert.equal(ap1.agentprinter.enabled, true);
// second call with same combo returns existing
const ap1Again = await store.agentprinter.findOrCreate(a.id, { type: 'zpl', model: 'ZD410-200dpi', serial: '50J203002218' });
assert.equal(ap1Again.created, false);
assert.equal(ap1Again.agentprinter.id, ap1.agentprinter.id);
// create second printer
const ap2 = await store.agentprinter.findOrCreate(a.id, { type: 'esc/pos', model: 'TM-T88VI', serial: 'SN999' });
assert.equal(ap2.created, true);
// list agentprinters
const apList = await store.agentprinter.list(googleAuthId, a.id);
assert.equal(apList.length, 2);
// getById
const apGet = await store.agentprinter.getById(googleAuthId, ap1.agentprinter.id);
assert.equal(apGet.serial, '50J203002218');
// update agentprinter
const apUpdated = await store.agentprinter.update(googleAuthId, { id: ap1.agentprinter.id, enabled: false, sort: 10 });
assert.equal(apUpdated.enabled, false);
assert.equal(apUpdated.sort, 10);
// order agentprinters
const ordered = await store.agentprinter.order(googleAuthId, {
printeragentId: a.id,
agentprinterIds: [ap2.agentprinter.id, ap1.agentprinter.id],
});
assert.deepEqual(ordered.agentprinterIds, [ap2.agentprinter.id, ap1.agentprinter.id]);
// delete agentprinter
await store.agentprinter.delete(googleAuthId, ap2.agentprinter.id);
assert.equal((await store.agentprinter.list(googleAuthId, a.id)).length, 1);
// delete
await store.printeragent.delete(googleAuthId, a.id);