import { describe, expect, it } from 'vitest'; import { createAdminClient, createRandomString } from './config'; describe('TenantService', () => { it('should register a new tenant', async () => { const client = await createAdminClient(); const code = `test-tenant-${createRandomString(4).toLowerCase()}`; const result = await client.tenants.register({ code, name: `Test Tenant (${code})` }); expect(result).toBeDefined(); expect(result.responseCode).toBe('ok'); expect(result.id).toBeDefined(); }); it('should search tenants', async () => { const client = await createAdminClient(); const result = await client.tenants.search({}); expect(result).toBeDefined(); expect(result.responseCode).toBe('ok'); }); it('should get tenant by id after registration', async () => { const client = await createAdminClient(); const code = `test-tenant-${createRandomString(4).toLowerCase()}`; const registerResult = await client.tenants.register({ code, name: `Test Tenant (${code})` }); const tenantId = registerResult.id; const getResult = await client.tenants.getById(tenantId); expect(getResult).toBeDefined(); expect(getResult.responseCode).toBe('ok'); expect(getResult.tenant.id).toBe(tenantId); }); it('should get tenant by code', async () => { const client = await createAdminClient(); const code = `test-tenant-${createRandomString(4).toLowerCase()}`; await client.tenants.register({ code, name: `Test Tenant (${code})` }); const getResult = await client.tenants.getByCode(code); expect(getResult).toBeDefined(); expect(getResult.responseCode).toBe('ok'); expect(getResult.tenant.code).toBe(code); }); it('should update a tenant', async () => { const client = await createAdminClient(); const code = `test-tenant-${createRandomString(4).toLowerCase()}`; const registerResult = await client.tenants.register({ code, name: `Original ${code}` }); const tenantId = registerResult.id; const updateResult = await client.tenants.update({ tenantId, name: `Updated ${code}` }); expect(updateResult).toBeDefined(); expect(updateResult.responseCode).toBe('ok'); }); it('should delete a tenant', async () => { const client = await createAdminClient(); const code = `test-tenant-${createRandomString(4).toLowerCase()}`; const registerResult = await client.tenants.register({ code, name: `Test Tenant (${code})` }); const tenantId = registerResult.id; const deleteResult = await client.tenants.delete(tenantId); expect(deleteResult).toBeDefined(); expect(deleteResult.responseCode).toBe('ok'); }); it('should search tenants with keyword filter', async () => { const client = await createAdminClient(); const uniqueCode = `unique-${createRandomString(6).toLowerCase()}`; await client.tenants.register({ code: uniqueCode, name: `Unique Tenant ${uniqueCode}` }); const result = await client.tenants.search({ keyword: uniqueCode }); expect(result).toBeDefined(); expect(result.responseCode).toBe('ok'); }); });