test(workspace): harden service bootstrap and sync coverage
This commit is contained in:
parent
128207ac21
commit
7616901683
@ -76,6 +76,8 @@ describe('Sync Engine', () => {
|
||||
|
||||
const status = engine.getStatus();
|
||||
expect(status.status).toBe('idle');
|
||||
expect(status.queueLength).toBe(1);
|
||||
expect(engine.getQueueLength()).toBe(1);
|
||||
});
|
||||
|
||||
it('deduplicates items for same entity', async () => {
|
||||
@ -91,6 +93,8 @@ describe('Sync Engine', () => {
|
||||
await engine.push('tasks', { id: '1', title: 'Task 1' });
|
||||
await engine.push('tasks', { id: '1', title: 'Task 1 Updated' });
|
||||
|
||||
expect(engine.getQueueLength()).toBe(1);
|
||||
|
||||
// Queue should have 1 item (deduplicated)
|
||||
const result = await engine.fullSync();
|
||||
expect(result.pushed).toBe(1);
|
||||
@ -131,6 +135,8 @@ describe('Sync Engine', () => {
|
||||
const result = await engine.fullSync();
|
||||
|
||||
expect(result.pushed).toBe(1);
|
||||
expect(engine.getQueueLength()).toBe(0);
|
||||
expect(engine.getStatus().lastSyncAt).toBeTruthy();
|
||||
|
||||
const requests = apiClient.getRequests();
|
||||
expect(requests).toHaveLength(2); // Pull + Push
|
||||
@ -148,6 +154,7 @@ describe('Sync Engine', () => {
|
||||
|
||||
const result = await engine.fullSync();
|
||||
expect(result.pulled).toBe(0); // Mock returns empty
|
||||
expect(engine.getStatus().lastSyncAt).toBeTruthy();
|
||||
});
|
||||
});
|
||||
|
||||
@ -164,6 +171,8 @@ describe('Sync Engine', () => {
|
||||
|
||||
const status = engine.getStatus();
|
||||
expect(status.status).toBe('idle');
|
||||
expect(status.queueLength).toBe(0);
|
||||
expect(status.lastSyncAt).toBeUndefined();
|
||||
});
|
||||
|
||||
it('notifies status changes', async () => {
|
||||
@ -183,8 +192,7 @@ describe('Sync Engine', () => {
|
||||
|
||||
await engine.push('tasks', { title: 'Test' });
|
||||
|
||||
// Status changes during push
|
||||
expect(statuses.length).toBeGreaterThanOrEqual(0);
|
||||
expect(statuses).toContain('idle');
|
||||
});
|
||||
});
|
||||
|
||||
@ -201,7 +209,10 @@ describe('Sync Engine', () => {
|
||||
|
||||
await engine.push('tasks', { title: 'Task 1' });
|
||||
await engine.push('tasks', { title: 'Task 2' });
|
||||
expect(engine.getQueueLength()).toBe(2);
|
||||
|
||||
await engine.clearQueue();
|
||||
expect(engine.getQueueLength()).toBe(0);
|
||||
|
||||
const result = await engine.fullSync();
|
||||
expect(result.pushed).toBe(0);
|
||||
|
||||
@ -8,6 +8,7 @@
|
||||
"dev": "tsx watch src/server.ts",
|
||||
"build": "tsc",
|
||||
"start": "node dist/server.js",
|
||||
"pretest": "corepack pnpm --dir ../.. --filter @bytelyst/auth --filter @bytelyst/blob --filter @bytelyst/storage --filter @bytelyst/config --filter @bytelyst/cosmos --filter @bytelyst/datastore --filter @bytelyst/errors --filter @bytelyst/events --filter @bytelyst/fastify-core build",
|
||||
"test": "vitest run",
|
||||
"test:watch": "vitest",
|
||||
"lint": "eslint src/",
|
||||
|
||||
Loading…
Reference in New Issue
Block a user