Files
SubMiner/src/main/runtime/update/update-cli-command.test.ts
T

38 lines
1.1 KiB
TypeScript

import test from 'node:test';
import assert from 'node:assert/strict';
import type { CliArgs } from '../../../cli/args';
import { runUpdateCliCommand } from './update-cli-command';
test('runUpdateCliCommand writes launcher response for second-instance update handoff', async () => {
const writes: Array<{ path: string; payload: unknown }> = [];
await runUpdateCliCommand(
{
update: true,
updateLauncherPath: '/home/kyle/.local/bin/subminer',
updateResponsePath: '/tmp/subminer-update-response.json',
} as CliArgs,
'second-instance',
{
checkForUpdates: async (request) => {
assert.deepEqual(request, {
source: 'launcher',
launcherPath: '/home/kyle/.local/bin/subminer',
});
return { status: 'up-to-date', version: '0.15.0' };
},
writeResponse: (responsePath, payload) => {
writes.push({ path: responsePath, payload });
},
logWarn: () => {},
},
);
assert.deepEqual(writes, [
{
path: '/tmp/subminer-update-response.json',
payload: { ok: true, status: 'up-to-date', version: '0.15.0' },
},
]);
});