import { describe, expect, it } from 'vitest'; import { createAdminClient, createRandomString } from './config'; describe('DeviceService', () => { it('should register a new device', async () => { const client = await createAdminClient(); const code = `device-${createRandomString(6).toLowerCase()}`; const result = await client.devices.register({ code }); expect(result).toBeDefined(); expect(result.responseCode).toBe('ok'); expect(result.device).toBeDefined(); expect(result.device.code).toBe(code); }); it('should get device by id', async () => { const client = await createAdminClient(); const code = `device-${createRandomString(6).toLowerCase()}`; const registerResult = await client.devices.register({ code }); const deviceId = registerResult.device.id; const getResult = await client.devices.getById(deviceId); expect(getResult).toBeDefined(); expect(getResult.responseCode).toBe('ok'); expect(getResult.device.id).toBe(deviceId); }); it('should get device by code', async () => { const client = await createAdminClient(); const code = `device-${createRandomString(6).toLowerCase()}`; await client.devices.register({ code }); const getResult = await client.devices.getByCode(code); expect(getResult).toBeDefined(); expect(getResult.responseCode).toBe('ok'); expect(getResult.device.code).toBe(code); }); it('should update a device', async () => { const client = await createAdminClient(); const code = `device-${createRandomString(6).toLowerCase()}`; const registerResult = await client.devices.register({ code }); const deviceId = registerResult.device.id; const newCode = `device-${createRandomString(6).toLowerCase()}`; const updateResult = await client.devices.update({ deviceId, code: newCode }); expect(updateResult).toBeDefined(); expect(updateResult.responseCode).toBe('ok'); }); it('should search devices', async () => { const client = await createAdminClient(); const code = `device-${createRandomString(6).toLowerCase()}`; await client.devices.register({ code }); const result = await client.devices.search({}); expect(result).toBeDefined(); expect(result.responseCode).toBe('ok'); }); it('should delete a device', async () => { const client = await createAdminClient(); const code = `device-${createRandomString(6).toLowerCase()}`; const registerResult = await client.devices.register({ code }); const deviceId = registerResult.device.id; const deleteResult = await client.devices.delete(deviceId); expect(deleteResult).toBeDefined(); expect(deleteResult.responseCode).toBe('ok'); }); });