UNPKG

@dossierhq/integration-test

Version:

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

214 lines 5.65 kB
/// <reference types="./Fixtures.d.ts" /> import { EntityStatus, normalizeEntityFields, } from '@dossierhq/core'; import { assertEquals } from '../Asserts.js'; export const CHANGE_VALIDATIONS_CREATE = { info: { type: 'ChangeValidations', name: 'ChangeValidations name', }, fields: {}, }; export const LOCATIONS_CREATE = { info: { type: 'Locations', name: 'Locations name', }, fields: {}, }; export const LOCATIONS_ADMIN_ENTITY = { id: 'REPLACE', info: { type: 'Locations', name: 'Locations name', version: 1, authKey: '', status: EntityStatus.draft, valid: true, validPublished: null, createdAt: new Date('2021-08-17T07:51:25.56Z'), updatedAt: new Date('2021-08-17T07:51:25.56Z'), }, fields: { location: null, locationList: null, locationAdminOnly: null }, }; export const MIGRATIONS_ENTITY_CREATE = { info: { name: 'MigrationEntity name', type: 'MigrationEntity' }, fields: {}, }; export const REFERENCES_CREATE = { info: { type: 'References', name: 'References name', }, fields: {}, }; export const REFERENCES_ADMIN_ENTITY = { id: 'REPLACE', info: { type: 'References', name: 'References name', version: 1, authKey: '', status: EntityStatus.draft, valid: true, validPublished: null, createdAt: new Date('2021-08-17T07:51:25.56Z'), updatedAt: new Date('2021-08-17T07:51:25.56Z'), }, fields: { any: null, anyList: null, anyAdminOnly: null, titleOnly: null }, }; export const RICH_TEXTS_CREATE = { info: { type: 'RichTexts', name: 'RichTexts name', }, fields: {}, }; export const RICH_TEXTS_ADMIN_ENTITY = { id: 'REPLACE', info: { type: 'RichTexts', name: 'RichTexts name', authKey: '', version: 1, status: EntityStatus.draft, valid: true, validPublished: null, createdAt: new Date('2021-08-17T07:51:25.56Z'), updatedAt: new Date('2021-08-17T07:51:25.56Z'), }, fields: { richText: null, richTextList: null, richTextMinimal: null, richTextLimitedTypes: null, }, }; export const STRINGS_CREATE = { info: { type: 'Strings', name: 'Strings name', }, fields: { multiline: 'Hello\nWorld' }, }; export const STRINGS_ADMIN_ENTITY = { id: 'REPLACE', info: { type: 'Strings', name: 'Strings name', version: 1, authKey: '', status: EntityStatus.draft, valid: true, validPublished: null, createdAt: new Date('2021-08-17T07:51:25.56Z'), updatedAt: new Date('2021-08-17T07:51:25.56Z'), }, fields: { multiline: 'Hello\nWorld', stringAdminOnly: null, pattern: null, patternList: null, values: null, valuesList: null, unique: null, uniqueAdminOnly: null, uniqueGenericIndex: null, }, }; export const SUBJECT_ONLY_CREATE = { info: { type: 'SubjectOnly', name: 'SubjectOnly name', authKey: 'subject', }, fields: { message: 'Message' }, }; export const SUBJECT_ONLY_UPSERT = { id: 'REPLACE', ...SUBJECT_ONLY_CREATE, }; export const SUBJECT_ONLY_ADMIN_ENTITY = { id: 'REPLACE', info: { type: 'SubjectOnly', name: 'SubjectOnly name', version: 1, authKey: 'subject', status: EntityStatus.draft, valid: true, validPublished: null, createdAt: new Date('2021-08-17T07:51:25.56Z'), updatedAt: new Date('2021-08-17T07:51:25.56Z'), }, fields: { message: 'Message' }, }; export const SUBJECT_OR_DEFAULT_CREATE = { info: { type: 'SubjectOrDefaultAuthKey', name: 'SubjectOrDefaultAuthKey name', authKey: 'subject', }, fields: { message: 'Message' }, }; export const TITLE_ONLY_CREATE = { info: { type: 'TitleOnly', name: 'TitleOnly name', }, fields: { title: 'Title' }, }; export const TITLE_ONLY_UPSERT = { id: 'REPLACE', ...TITLE_ONLY_CREATE, }; export const TITLE_ONLY_ADMIN_ENTITY = { id: 'REPLACE', info: { type: 'TitleOnly', name: 'TitleOnly name', version: 1, authKey: '', status: EntityStatus.draft, valid: true, validPublished: null, createdAt: new Date('2021-08-17T07:51:25.56Z'), updatedAt: new Date('2021-08-17T07:51:25.56Z'), }, fields: { title: 'Title' }, }; export const TITLE_ONLY_PUBLISHED_ENTITY = { id: 'REPLACE', info: { type: 'TitleOnly', name: 'TitleOnly name', authKey: '', valid: true, createdAt: new Date('2021-08-17T07:51:25.56Z'), }, fields: { title: 'Title' }, }; export const VALUE_ITEMS_CREATE = { info: { type: 'Components', name: 'Components name', }, fields: {}, }; export function adminToPublishedEntity(schema, entity) { assertEquals(entity.info.status, EntityStatus.published); const result = normalizeEntityFields(schema.toPublishedSchema(), [], entity); const { id, info: { name, type, authKey, validPublished, createdAt }, } = entity; const publishedEntity = { id, info: { type, name, authKey, valid: validPublished ?? false, createdAt, }, fields: result.valueOrThrow(), }; return publishedEntity; } //# sourceMappingURL=Fixtures.js.map