Skip to content

Commit 400712b

Browse files
committed
Extract helpers
1 parent 3d0b509 commit 400712b

File tree

1 file changed

+59
-57
lines changed

1 file changed

+59
-57
lines changed

Diff for: packages/realm-server/tests/realm-endpoints-test.ts

+59-57
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,11 @@ import {
7171
} from '@cardstack/billing/billing-queries';
7272
import { resetCatalogRealms } from '../handlers/handle-fetch-catalog-realms';
7373
import { APP_BOXEL_REALM_EVENT_EVENT_TYPE } from '@cardstack/runtime-common/matrix-constants';
74+
import type {
75+
MatrixEvent,
76+
RealmEventEvent,
77+
RealmEventEventContent,
78+
} from 'https://cardstack.com/base/matrix-event';
7479

7580
setGracefulCleanup();
7681
const testRealmURL = new URL('http://127.0.0.1:4444/');
@@ -1058,28 +1063,19 @@ module(basename(__filename), function () {
10581063
})
10591064
.set('Accept', 'application/vnd.card+json');
10601065

1061-
let incrementalEventMessage;
1066+
await waitForIncrementalIndexEvent(getMessagesSinceTestStarted);
10621067

1063-
await waitUntil(
1064-
async () => {
1065-
let matrixMessages = await getMessagesSinceTestStarted();
1066-
console.log(matrixMessages);
1067-
1068-
incrementalEventMessage = matrixMessages.find(
1069-
(m) => m.content.indexType === 'incremental',
1070-
);
1071-
1072-
return incrementalEventMessage !== undefined;
1073-
},
1074-
{ timeoutMessage: 'no incremental event message received' },
1068+
let messages = await getMessagesSinceTestStarted();
1069+
let incrementalEvent = findRealmEvent(
1070+
messages,
1071+
'index',
1072+
'incremental',
10751073
);
10761074

1077-
let incrementalEvent = incrementalEventMessage!.content;
1078-
1079-
id = incrementalEvent.invalidations[0].split('/').pop()!;
1075+
id = incrementalEvent!.content.invalidations[0].split('/').pop()!;
10801076
assert.true(uuidValidate(id!), 'card identifier is a UUID');
10811077
assert.strictEqual(
1082-
incrementalEvent.invalidations[0],
1078+
incrementalEvent.content.invalidations[0],
10831079
`${testRealmURL}CardDef/${id}`,
10841080
);
10851081

@@ -1335,30 +1331,19 @@ module(basename(__filename), function () {
13351331
})
13361332
.set('Accept', 'application/vnd.card+json');
13371333

1338-
await waitUntil(async () => {
1339-
let matrixMessages = await getMessagesSinceTestStarted();
1340-
console.log(matrixMessages);
1341-
return matrixMessages.some(
1342-
(m) =>
1343-
m.type === APP_BOXEL_REALM_EVENT_EVENT_TYPE &&
1344-
m.content.eventName === 'index' &&
1345-
m.content.indexType === 'incremental',
1346-
);
1347-
});
1334+
await waitForIncrementalIndexEvent(getMessagesSinceTestStarted);
13481335

13491336
let messages = await getMessagesSinceTestStarted();
1350-
let incrementalIndexInitiationEvent = messages.find(
1351-
(m) =>
1352-
m.type === APP_BOXEL_REALM_EVENT_EVENT_TYPE &&
1353-
m.content.eventName === 'index' &&
1354-
m.content.indexType === 'incremental-index-initiation',
1337+
let incrementalIndexInitiationEvent = findRealmEvent(
1338+
messages,
1339+
'index',
1340+
'incremental-index-initiation',
13551341
);
13561342

1357-
let incrementalEvent = messages.find(
1358-
(m) =>
1359-
m.type === APP_BOXEL_REALM_EVENT_EVENT_TYPE &&
1360-
m.content.eventName === 'index' &&
1361-
m.content.indexType === 'incremental',
1343+
let incrementalEvent = findRealmEvent(
1344+
messages,
1345+
'index',
1346+
'incremental',
13621347
);
13631348

13641349
assert.deepEqual(incrementalIndexInitiationEvent!.content, {
@@ -1479,30 +1464,19 @@ module(basename(__filename), function () {
14791464
.delete('/person-1')
14801465
.set('Accept', 'application/vnd.card+json');
14811466

1482-
await waitUntil(async () => {
1483-
let matrixMessages = await getMessagesSinceTestStarted();
1484-
console.log(matrixMessages);
1485-
return matrixMessages.some(
1486-
(m) =>
1487-
m.type === APP_BOXEL_REALM_EVENT_EVENT_TYPE &&
1488-
m.content.eventName === 'index' &&
1489-
m.content.indexType === 'incremental',
1490-
);
1491-
});
1467+
await waitForIncrementalIndexEvent(getMessagesSinceTestStarted);
14921468

14931469
let messages = await getMessagesSinceTestStarted();
1494-
let incrementalIndexInitiationEvent = messages.find(
1495-
(m) =>
1496-
m.type === APP_BOXEL_REALM_EVENT_EVENT_TYPE &&
1497-
m.content.eventName === 'index' &&
1498-
m.content.indexType === 'incremental-index-initiation',
1470+
let incrementalIndexInitiationEvent = findRealmEvent(
1471+
messages,
1472+
'index',
1473+
'incremental-index-initiation',
14991474
);
15001475

1501-
let incrementalEvent = messages.find(
1502-
(m) =>
1503-
m.type === APP_BOXEL_REALM_EVENT_EVENT_TYPE &&
1504-
m.content.eventName === 'index' &&
1505-
m.content.indexType === 'incremental',
1476+
let incrementalEvent = findRealmEvent(
1477+
messages,
1478+
'index',
1479+
'incremental',
15061480
);
15071481

15081482
assert.deepEqual(incrementalIndexInitiationEvent!.content, {
@@ -4191,3 +4165,31 @@ let cardDefModuleDependencies = [
41914165
'https://cardstack.com/base/links-to-editor.gts',
41924166
'https://cardstack.com/base/links-to-many-component.gts',
41934167
];
4168+
4169+
async function waitForIncrementalIndexEvent(
4170+
getMessagesSinceTestStarted: () => Promise<MatrixEvent[]>,
4171+
) {
4172+
await waitUntil(async () => {
4173+
let matrixMessages = await getMessagesSinceTestStarted();
4174+
console.log(matrixMessages);
4175+
return matrixMessages.some(
4176+
(m) =>
4177+
m.type === APP_BOXEL_REALM_EVENT_EVENT_TYPE &&
4178+
m.content.eventName === 'index' &&
4179+
m.content.indexType === 'incremental',
4180+
);
4181+
});
4182+
}
4183+
4184+
function findRealmEvent(
4185+
events: MatrixEvent[],
4186+
eventName: string,
4187+
indexType: string,
4188+
): RealmEventEvent | undefined {
4189+
return events.find(
4190+
(m) =>
4191+
m.type === APP_BOXEL_REALM_EVENT_EVENT_TYPE &&
4192+
m.content.eventName === eventName &&
4193+
m.content.indexType === indexType,
4194+
);
4195+
}

0 commit comments

Comments
 (0)