diff --git a/test-e2e/members.js b/test-e2e/members.js index 203be333..bb81b3e1 100644 --- a/test-e2e/members.js +++ b/test-e2e/members.js @@ -10,13 +10,7 @@ import { MEMBER_ROLE_ID, NO_ROLE, } from '../src/roles.js' -import { - connectPeers, - createManagers, - invite, - waitForPeers, - waitForSync, -} from './utils.js' +import { connectPeers, createManagers, invite, waitForSync } from './utils.js' import { kDataTypes } from '../src/mapeo-project.js' test('getting yourself after creating project', async (t) => { @@ -118,7 +112,6 @@ test('getting invited member after invite rejected', async (t) => { const [invitor, invitee] = managers const disconnectPeers = connectPeers(managers) t.after(disconnectPeers) - await waitForPeers(managers) const projectId = await invitor.createProject({ name: 'Mapeo' }) const project = await invitor.getProject(projectId) @@ -149,7 +142,6 @@ test('getting invited member after invite accepted', async (t) => { const [invitor, invitee] = managers const disconnectPeers = connectPeers(managers) t.after(disconnectPeers) - await waitForPeers(managers) const { name: inviteeName } = invitee.getDeviceInfo() const projectId = await invitor.createProject({ name: 'Mapeo' }) @@ -197,7 +189,6 @@ test('invite uses custom role name when provided', async (t) => { const [invitor, invitee] = managers const disconnectPeers = connectPeers(managers) t.after(disconnectPeers) - await waitForPeers(managers) const projectId = await invitor.createProject({ name: 'Mapeo' }) @@ -220,7 +211,6 @@ test('invite uses default role name when not provided', async (t) => { const [invitor, invitee] = managers const disconnectPeers = connectPeers(managers) t.after(disconnectPeers) - await waitForPeers(managers) const projectId = await invitor.createProject({ name: 'Mapeo' }) @@ -363,7 +353,6 @@ test('roles - assignRole()', async (t) => { const [invitor, invitee] = managers const disconnectPeers = connectPeers(managers) t.after(disconnectPeers) - await waitForPeers(managers) const projectId = await invitor.createProject({ name: 'Mapeo' }) @@ -470,7 +459,6 @@ test('roles - assignRole() with forked role', async (t) => { const managers = await createManagers(3, t) const [invitor, invitee1, invitee2] = managers let disconnectPeers = connectPeers(managers) - await waitForPeers(managers) const projectId = await invitor.createProject({ name: 'Mapeo' }) diff --git a/test-e2e/original_version_id_to_device_id.js b/test-e2e/original_version_id_to_device_id.js index aa13f9a5..8ef60139 100644 --- a/test-e2e/original_version_id_to_device_id.js +++ b/test-e2e/original_version_id_to_device_id.js @@ -2,20 +2,13 @@ import { generate } from '@mapeo/mock-data' import { valueOf } from '@comapeo/schema' import assert from 'node:assert/strict' import test from 'node:test' -import { - connectPeers, - createManagers, - invite, - waitForPeers, - waitForSync, -} from './utils.js' +import { connectPeers, createManagers, invite, waitForSync } from './utils.js' test('$originalVersionIdToDeviceId', async (t) => { const managers = await createManagers(2, t) const disconnectPeers = connectPeers(managers) t.after(disconnectPeers) - await waitForPeers(managers) const [creator, member] = managers const projectId = await creator.createProject({ name: 'mapeo' }) diff --git a/test-e2e/project-leave.js b/test-e2e/project-leave.js index 72a208cb..2d801e41 100644 --- a/test-e2e/project-leave.js +++ b/test-e2e/project-leave.js @@ -29,7 +29,6 @@ test("Creator cannot leave project if they're the only coordinator", async (t) = const disconnectPeers = connectPeers(managers) t.after(disconnectPeers) - await waitForPeers(managers) const [creator, member] = managers const projectId = await creator.createProject({ name: 'mapeo' }) @@ -67,7 +66,6 @@ test('Blocked member cannot leave project', async (t) => { const disconnectPeers = connectPeers(managers) t.after(disconnectPeers) - await waitForPeers(managers) const [creator, member] = managers const projectId = await creator.createProject({ name: 'mapeo' }) @@ -126,7 +124,6 @@ test('Creator can leave project if another coordinator exists', async (t) => { const disconnectPeers = connectPeers(managers) t.after(disconnectPeers) - await waitForPeers(managers) const [creator, coordinator] = managers const projectId = await creator.createProject({ name: 'mapeo' }) @@ -178,7 +175,6 @@ test('Member can leave project if creator exists', async (t) => { const disconnectPeers = connectPeers(managers) t.after(disconnectPeers) - await waitForPeers(managers) const [creator, member] = managers const projectId = await creator.createProject({ name: 'mapeo' }) @@ -320,7 +316,6 @@ test('leaving a project deletes data from disk', async (t) => { const disconnectPeers = connectPeers(managers) t.after(disconnectPeers) - await waitForPeers(managers) const projectId = await creator.createProject({ name: 'mapeo' }) @@ -368,8 +363,6 @@ test('leaving a project while disconnected', async (t) => { let disconnectPeers = connectPeers(managers) t.after(() => disconnectPeers()) - await waitForPeers(managers) - const [creator, member] = managers const projectId = await creator.createProject({ name: 'mapeo' }) diff --git a/test-e2e/utils.js b/test-e2e/utils.js index e5695537..6ef6b2a7 100644 --- a/test-e2e/utils.js +++ b/test-e2e/utils.js @@ -96,33 +96,31 @@ export async function invite({ }) { const invitorProject = await invitor.getProject(projectId) - /** @type {Array>} */ - const promises = [] - - for (const invitee of invitees) { - const inviteId = randomBytes(32) - promises.push( - invitorProject.$member.invite(invitee.deviceId, { - roleId, - roleName, - __testOnlyInviteId: inviteId, - }) - ) - promises.push( - (async () => { - const invite = await pEvent( - invitee.invite, - 'invite-received', - (invite) => Buffer.from(invite.inviteId, 'hex').equals(inviteId) - ) - await (reject - ? invitee.invite.reject(invite) - : invitee.invite.accept(invite)) - })() - ) - } - - await Promise.allSettled(promises) + await Promise.allSettled( + invitees.map(async (invitee) => { + const inviteId = randomBytes(32) + + await waitForPeers([invitor, invitee]) + + await Promise.all([ + invitorProject.$member.invite(invitee.deviceId, { + roleId, + roleName, + __testOnlyInviteId: inviteId, + }), + (async () => { + const invite = await pEvent( + invitee.invite, + 'invite-received', + (invite) => Buffer.from(invite.inviteId, 'hex').equals(inviteId) + ) + await (reject + ? invitee.invite.reject(invite) + : invitee.invite.accept(invite)) + })(), + ]) + }) + ) } /**