UNPKG

@dossierhq/integration-test

Version:

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

32 lines 1.33 kB
/// <reference types="./SampleTestUtils.d.ts" /> import { EntityStatus, } from '@dossierhq/core'; import { assertEquals, assertOkResult } from '../Asserts.js'; export function countEntityStatuses(entities) { const result = { [EntityStatus.draft]: 0, [EntityStatus.published]: 0, [EntityStatus.modified]: 0, [EntityStatus.withdrawn]: 0, [EntityStatus.archived]: 0, }; for (const entity of entities) { result[entity.info.status] += 1; } return result; } export function assertSampledEntities(actualResult, expectedSeed, expectedEntities) { assertOkResult(actualResult); const { seed, totalCount, items } = actualResult.value; assertEquals(seed, expectedSeed); assertEquals(totalCount, expectedEntities.length); const actualIds = items.map((it) => it.id).sort(); const expectedIds = expectedEntities.map((it) => it.id).sort(); assertEquals(actualIds, expectedIds); } export function assertSampledEntitiesArePartOfExpected(actualResult, expectedEntities) { assertOkResult(actualResult); const expectedIds = expectedEntities.map((it) => it.id); const missingEntities = actualResult.value.items.filter((it) => !expectedIds.includes(it.id)); assertEquals(missingEntities, []); } //# sourceMappingURL=SampleTestUtils.js.map