SnowLuma v2.4.2 source snapshot
Dev Build / cleanup (push) Waiting to run
Dev Build / typecheck (push) Waiting to run
Publish MCP to npm / Build, test, and publish MCP (push) Waiting to run
Publish SDK to npm / Build, test, and publish SDK (push) Waiting to run
Sync action catalog to docs / sync (push) Waiting to run
Publish UI to npm / Build and publish UI (push) Waiting to run
Build and Release / preflight (push) Waiting to run

This commit is contained in:
TanTan committed 2026-11-13 09:02:00 +08:00
commit fa9c73363d
1367 files changed
+355735

No files matched your search

@@ -0,0 +1,36 @@
import { describe, expect, it, vi } from 'vitest';
import { onboardingExecution } from '../src/lib/onboarding-actions';
describe('developer onboarding rehearsal', () => {
it('completes consent and password steps without writing persistent state', async () => {
const acceptAgreements = vi.fn(async () => ({ success: true }));
const changePassword = vi.fn(async () => ({ success: true }));
const execution = onboardingExecution(true, {
acceptAgreements,
changePassword,
});
expect(execution.passwordMode).toBe('rehearsal');
await expect(execution.actions.acceptAgreements()).resolves.toEqual({ success: true });
await expect(execution.actions.changePassword('old', 'new')).resolves.toEqual({
success: true,
});
expect(acceptAgreements).not.toHaveBeenCalled();
expect(changePassword).not.toHaveBeenCalled();
});
it('keeps real onboarding wired to persistent actions', async () => {
const acceptAgreements = vi.fn(async () => ({ success: true }));
const changePassword = vi.fn(async () => ({ success: true }));
const execution = onboardingExecution(false, {
acceptAgreements,
changePassword,
});
expect(execution.passwordMode).toBe('change');
await execution.actions.acceptAgreements();
await execution.actions.changePassword('old', 'new');
expect(acceptAgreements).toHaveBeenCalledOnce();
expect(changePassword).toHaveBeenCalledWith('old', 'new');
});
});