UNPKG

@dossierhq/integration-test

Version:

Integration test to ensure that different Dossier database adapters work as expected.

30 lines 1.54 kB
/// <reference types="./EventsTestUtils.d.ts" /> import { assertOkResult, } from '@dossierhq/core'; import { assertEquals, assertSame, assertTruthy } from '../Asserts.js'; export function assertChangelogEventsConnection(actualResult, expectedNodes) { assertOkResult(actualResult); if (expectedNodes.length === 0) { assertSame(actualResult.value, null); } else { assertTruthy(actualResult.value); assertEquals(actualResult.value.edges.length, expectedNodes.length); for (const [index, expectedNode] of expectedNodes.entries()) { const actualNodeResult = actualResult.value.edges[index].node; // Skip id since it's random const { id, ...actualEvent } = actualNodeResult.valueOrThrow(); const createdBy = actualEvent.createdBy; //TODO currently we can't predict the createdBy value, so we just set it to the expected value, probably need a way to get the current subject from DossierClient const expectedEvent = expectedNode.createdBy === '' ? { ...expectedNode, createdBy } : expectedNode; assertEquals(actualEvent, expectedEvent); } } } export function assertSyncEventsEqual(actualEvents, expectedEvents) { assertEquals(actualEvents.length, expectedEvents.length); for (let i = 0; i < actualEvents.length; i++) { const { id, createdAt, ...actualEvent } = actualEvents[i]; assertEquals(actualEvent, expectedEvents[i]); } } //# sourceMappingURL=EventsTestUtils.js.map