import {describe, it, expect, vi} from 'vitest'; import { getUsernameUuid } from '../src'; import { EventEmitter } from 'events'; describe('minecraft-uuid', () => { it('returns result (default offline mode)', async () => { vi.mock('crypto', () => ({ createHash: (algo) => { return { update: () => { // noop }, digest: () => Buffer.alloc(16, 0), }; }, })); const uuid = await getUsernameUuid({ username: 'username' }); expect(uuid).toEqual('00000000-0000-3000-8000-000000000000'); }); it('returns result (explicit offline mode)', async () => { vi.mock('crypto', () => ({ createHash: (algo) => { return { update: () => { // noop }, digest: () => Buffer.alloc(16, 0), }; }, })); const uuid = await getUsernameUuid({ username: 'username', onlineMode: false }); expect(uuid).toEqual('00000000-0000-3000-8000-000000000000'); }); it('returns result (explicit online mode)', async () => { vi.mock('https', () => ({ get: (url, cb) => { const emitter = new EventEmitter(); if (typeof cb === 'function') { (cb as unknown as (...args: unknown[]) => unknown)(emitter); } emitter.emit('data', Buffer.from(JSON.stringify({ id: '82c683b548333d6b8a2606352cd6f327', name: 'username' }))); emitter.emit('end'); return emitter; }, })); const uuid = await getUsernameUuid({ username: 'username', onlineMode: true }); expect(uuid).toEqual('82c683b5-4833-3d6b-8a26-06352cd6f327'); }); });