@kywi-software/sdk 0.14.0 → 0.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/types.d.ts +26 -5
- package/dist/types.d.ts.map +1 -1
- package/package.json +2 -2
- package/dist/__tests__/auth-client.test.d.ts +0 -2
- package/dist/__tests__/auth-client.test.d.ts.map +0 -1
- package/dist/__tests__/auth-client.test.js +0 -97
- package/dist/__tests__/auth-client.test.js.map +0 -1
- package/dist/__tests__/content-client.test.d.ts +0 -2
- package/dist/__tests__/content-client.test.d.ts.map +0 -1
- package/dist/__tests__/content-client.test.js +0 -178
- package/dist/__tests__/content-client.test.js.map +0 -1
- package/dist/__tests__/create-sdk.test.d.ts +0 -2
- package/dist/__tests__/create-sdk.test.d.ts.map +0 -1
- package/dist/__tests__/create-sdk.test.js +0 -86
- package/dist/__tests__/create-sdk.test.js.map +0 -1
- package/dist/__tests__/feed-client.test.d.ts +0 -2
- package/dist/__tests__/feed-client.test.d.ts.map +0 -1
- package/dist/__tests__/feed-client.test.js +0 -81
- package/dist/__tests__/feed-client.test.js.map +0 -1
- package/dist/__tests__/hooks.test.d.ts +0 -2
- package/dist/__tests__/hooks.test.d.ts.map +0 -1
- package/dist/__tests__/hooks.test.js +0 -123
- package/dist/__tests__/hooks.test.js.map +0 -1
- package/dist/__tests__/http-client.test.d.ts +0 -2
- package/dist/__tests__/http-client.test.d.ts.map +0 -1
- package/dist/__tests__/http-client.test.js +0 -164
- package/dist/__tests__/http-client.test.js.map +0 -1
- package/dist/__tests__/i18n-client.test.d.ts +0 -2
- package/dist/__tests__/i18n-client.test.d.ts.map +0 -1
- package/dist/__tests__/i18n-client.test.js +0 -73
- package/dist/__tests__/i18n-client.test.js.map +0 -1
- package/dist/__tests__/media-client.test.d.ts +0 -2
- package/dist/__tests__/media-client.test.d.ts.map +0 -1
- package/dist/__tests__/media-client.test.js +0 -115
- package/dist/__tests__/media-client.test.js.map +0 -1
- package/dist/__tests__/nav-client.test.d.ts +0 -2
- package/dist/__tests__/nav-client.test.d.ts.map +0 -1
- package/dist/__tests__/nav-client.test.js +0 -81
- package/dist/__tests__/nav-client.test.js.map +0 -1
- package/dist/__tests__/sdk-scope-additions.test.d.ts +0 -2
- package/dist/__tests__/sdk-scope-additions.test.d.ts.map +0 -1
- package/dist/__tests__/sdk-scope-additions.test.js +0 -420
- package/dist/__tests__/sdk-scope-additions.test.js.map +0 -1
- package/dist/__tests__/site-client.test.d.ts +0 -2
- package/dist/__tests__/site-client.test.d.ts.map +0 -1
- package/dist/__tests__/site-client.test.js +0 -52
- package/dist/__tests__/site-client.test.js.map +0 -1
- package/dist/__tests__/user-client.test.d.ts +0 -2
- package/dist/__tests__/user-client.test.d.ts.map +0 -1
- package/dist/__tests__/user-client.test.js +0 -51
- package/dist/__tests__/user-client.test.js.map +0 -1
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
import { describe, it, expect, vi, beforeEach } from 'vitest';
|
|
2
|
-
import { KywiHttpClient } from '../http-client.js';
|
|
3
|
-
import { createSiteClient } from '../site-client.js';
|
|
4
|
-
const mockFetch = vi.fn();
|
|
5
|
-
vi.stubGlobal('fetch', mockFetch);
|
|
6
|
-
function ok(data, status = 200) {
|
|
7
|
-
return new Response(JSON.stringify(data), {
|
|
8
|
-
status,
|
|
9
|
-
headers: { 'Content-Type': 'application/json' },
|
|
10
|
-
});
|
|
11
|
-
}
|
|
12
|
-
function notFound() {
|
|
13
|
-
return new Response(JSON.stringify({ error: { code: 'NOT_FOUND', message: 'Not found' } }), { status: 404, headers: { 'Content-Type': 'application/json' } });
|
|
14
|
-
}
|
|
15
|
-
describe('SiteClient', () => {
|
|
16
|
-
let client;
|
|
17
|
-
beforeEach(() => {
|
|
18
|
-
mockFetch.mockReset();
|
|
19
|
-
const http = new KywiHttpClient({ baseUrl: 'https://api.test/api/v1' });
|
|
20
|
-
client = createSiteClient(http, 'default-site');
|
|
21
|
-
});
|
|
22
|
-
// ── getConfig ─────────────────────────────────────────────────────────
|
|
23
|
-
it('getConfig sends correct URL with default siteId', async () => {
|
|
24
|
-
const config = { id: 'default-site', name: 'My Site' };
|
|
25
|
-
mockFetch.mockResolvedValue(ok({ data: config }));
|
|
26
|
-
const result = await client.getConfig();
|
|
27
|
-
const url = new URL(mockFetch.mock.calls[0][0]);
|
|
28
|
-
expect(url.pathname).toBe('/api/v1/sites/default-site');
|
|
29
|
-
expect(result).toEqual(config);
|
|
30
|
-
});
|
|
31
|
-
it('getConfig uses provided siteId', async () => {
|
|
32
|
-
mockFetch.mockResolvedValue(ok({ data: { id: 'other' } }));
|
|
33
|
-
await client.getConfig('other');
|
|
34
|
-
const url = new URL(mockFetch.mock.calls[0][0]);
|
|
35
|
-
expect(url.pathname).toBe('/api/v1/sites/other');
|
|
36
|
-
});
|
|
37
|
-
it('getConfig returns null on 404', async () => {
|
|
38
|
-
mockFetch.mockResolvedValue(notFound());
|
|
39
|
-
const result = await client.getConfig('missing');
|
|
40
|
-
expect(result).toBeNull();
|
|
41
|
-
});
|
|
42
|
-
// ── list ──────────────────────────────────────────────────────────────
|
|
43
|
-
it('list sends correct URL and returns array', async () => {
|
|
44
|
-
const sites = [{ id: 's1', name: 'Site 1' }, { id: 's2', name: 'Site 2' }];
|
|
45
|
-
mockFetch.mockResolvedValue(ok({ data: sites }));
|
|
46
|
-
const result = await client.list();
|
|
47
|
-
const url = new URL(mockFetch.mock.calls[0][0]);
|
|
48
|
-
expect(url.pathname).toBe('/api/v1/sites');
|
|
49
|
-
expect(result).toEqual(sites);
|
|
50
|
-
});
|
|
51
|
-
});
|
|
52
|
-
//# sourceMappingURL=site-client.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"site-client.test.js","sourceRoot":"","sources":["../../src/__tests__/site-client.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"user-client.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/user-client.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
import { describe, it, expect, vi, beforeEach } from 'vitest';
|
|
2
|
-
import { KywiHttpClient } from '../http-client.js';
|
|
3
|
-
import { createUserClient } from '../user-client.js';
|
|
4
|
-
const mockFetch = vi.fn();
|
|
5
|
-
vi.stubGlobal('fetch', mockFetch);
|
|
6
|
-
function ok(data, status = 200) {
|
|
7
|
-
return new Response(JSON.stringify(data), {
|
|
8
|
-
status,
|
|
9
|
-
headers: { 'Content-Type': 'application/json' },
|
|
10
|
-
});
|
|
11
|
-
}
|
|
12
|
-
function notFound() {
|
|
13
|
-
return new Response(JSON.stringify({ error: { code: 'NOT_FOUND', message: 'Not found' } }), { status: 404, headers: { 'Content-Type': 'application/json' } });
|
|
14
|
-
}
|
|
15
|
-
describe('UserClient', () => {
|
|
16
|
-
let client;
|
|
17
|
-
beforeEach(() => {
|
|
18
|
-
mockFetch.mockReset();
|
|
19
|
-
const http = new KywiHttpClient({ baseUrl: 'https://api.test/api/v1' });
|
|
20
|
-
client = createUserClient(http);
|
|
21
|
-
});
|
|
22
|
-
// ── getCurrent ────────────────────────────────────────────────────────
|
|
23
|
-
it('getCurrent sends correct URL', async () => {
|
|
24
|
-
const user = { id: 'u1', email: 'test@example.com' };
|
|
25
|
-
mockFetch.mockResolvedValue(ok({ data: user }));
|
|
26
|
-
const result = await client.getCurrent();
|
|
27
|
-
const url = new URL(mockFetch.mock.calls[0][0]);
|
|
28
|
-
expect(url.pathname).toBe('/api/v1/users/me');
|
|
29
|
-
expect(result).toEqual(user);
|
|
30
|
-
});
|
|
31
|
-
it('getCurrent returns null on 404', async () => {
|
|
32
|
-
mockFetch.mockResolvedValue(notFound());
|
|
33
|
-
const result = await client.getCurrent();
|
|
34
|
-
expect(result).toBeNull();
|
|
35
|
-
});
|
|
36
|
-
// ── getById ───────────────────────────────────────────────────────────
|
|
37
|
-
it('getById sends correct URL', async () => {
|
|
38
|
-
const user = { id: 'u2', email: 'other@example.com' };
|
|
39
|
-
mockFetch.mockResolvedValue(ok({ data: user }));
|
|
40
|
-
const result = await client.getById('u2');
|
|
41
|
-
const url = new URL(mockFetch.mock.calls[0][0]);
|
|
42
|
-
expect(url.pathname).toBe('/api/v1/users/u2');
|
|
43
|
-
expect(result).toEqual(user);
|
|
44
|
-
});
|
|
45
|
-
it('getById returns null on 404', async () => {
|
|
46
|
-
mockFetch.mockResolvedValue(notFound());
|
|
47
|
-
const result = await client.getById('missing');
|
|
48
|
-
expect(result).toBeNull();
|
|
49
|
-
});
|
|
50
|
-
});
|
|
51
|
-
//# sourceMappingURL=user-client.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"user-client.test.js","sourceRoot":"","sources":["../../src/__tests__/user-client.test.ts"],"names":[],"mappings":"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"}
|