fixed transfer process
This commit is contained in:
@@ -1,7 +1,14 @@
|
||||
import assert from 'node:assert/strict';
|
||||
import test from 'node:test';
|
||||
|
||||
import { createWorkspace, deleteWorkspaceIfEmpty, ensurePersonalWorkspaceForUser, findAlternateWorkspaceForUser, updateWorkspace } from './workspaceRepository.js';
|
||||
import {
|
||||
createWorkspace,
|
||||
deleteWorkspaceIfEmpty,
|
||||
ensurePersonalWorkspaceForUser,
|
||||
findAlternateWorkspaceForUser,
|
||||
listOwnedWorkspacesByOwnerEmail,
|
||||
updateWorkspace,
|
||||
} from './workspaceRepository.js';
|
||||
import { mockDb } from '../test/mockDb.js';
|
||||
import type { UserRow } from '../types.js';
|
||||
|
||||
@@ -141,3 +148,30 @@ test('findAlternateWorkspaceForUser returns another workspace when available', a
|
||||
assert.equal(workspaceId, 84);
|
||||
assert.deepEqual(calls[0].params, ['user-1', 42]);
|
||||
});
|
||||
|
||||
test('listOwnedWorkspacesByOwnerEmail resolves accepted owner flocks by email', async () => {
|
||||
const { calls } = mockDb({
|
||||
rowCount: 1,
|
||||
rows: [
|
||||
{
|
||||
id: 84,
|
||||
name: 'Receiving Flock',
|
||||
workspace_type: 'standard',
|
||||
billing_email: 'receiver@example.com',
|
||||
billing_plan: 'household_basic',
|
||||
subscription_status: 'active',
|
||||
rescue_verification_status: 'not_required',
|
||||
created_at: '2026-04-14T00:00:00.000Z',
|
||||
updated_at: '2026-04-14T00:00:00.000Z',
|
||||
},
|
||||
],
|
||||
});
|
||||
|
||||
const workspaces = await listOwnedWorkspacesByOwnerEmail('Receiver@Example.com', 42);
|
||||
|
||||
assert.equal(workspaces[0]?.id, 84);
|
||||
assert.deepEqual(calls[0].params, ['Receiver@Example.com', 42]);
|
||||
assert.match(calls[0].text, /workspace_members\.role = 'owner'/);
|
||||
assert.match(calls[0].text, /accepted_at IS NOT NULL/);
|
||||
assert.match(calls[0].text, /workspaces\.id <> \$2/);
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user