/* * Squidex Headless CMS * * @license * Copyright (c) Squidex UG (haftungsbeschränkt). All rights reserved. */ import { of } from 'rxjs'; import { Mock } from 'typemoq'; import { AppsState, AuthService, DateTime, FieldPropertiesDto, FieldRule, NestedFieldDto, RootFieldDto, SchemaDetailsDto, SchemaPropertiesDto, Version } from './../'; const app = 'my-app'; const creation = DateTime.today().addDays(-2); const creator = 'me'; const modified = DateTime.now().addDays(-1); const modifier = 'now-me'; const version = new Version('1'); const newVersion = new Version('2'); const appsState = Mock.ofType(); appsState.setup(x => x.appName) .returns(() => app); appsState.setup(x => x.selectedApp) .returns(() => of({ name: app })); const authService = Mock.ofType(); authService.setup(x => x.user) .returns(() => { id: modifier, token: modifier }); type SchemaValues = { id?: number; fields?: ReadonlyArray; fieldsInLists?: ReadonlyArray; fieldsInReferences?: ReadonlyArray; fieldRules?: ReadonlyArray; properties?: SchemaPropertiesDto; }; function createSchema({ properties, id, fields, fieldsInLists, fieldsInReferences, fieldRules }: SchemaValues = {}) { id = id || 1; return new SchemaDetailsDto({}, `schema${1}`, `schema${1}`, 'category', properties || new SchemaPropertiesDto(), false, true, creation, creator, modified, modifier, new Version('1'), fields, fieldsInLists || [], fieldsInReferences || [], fieldRules || []); } type FieldValues = { id?: number; properties: FieldPropertiesDto; isDisabled?: boolean, isHidden?: boolean, partitioning?: string; nested?: ReadonlyArray }; function createField({ properties, id, partitioning, isDisabled, nested }: FieldValues) { id = id || 1; return new RootFieldDto({}, id, `field${id}`, properties, partitioning || 'language', false, false, isDisabled, nested); } function createNestedField({ properties, id, isDisabled }: FieldValues) { id = id || 1; return new NestedFieldDto({}, id, `nested${id}`, properties, 0, false, false, isDisabled); } export const TestValues = { app, appsState, authService, createField, createNestedField, createSchema, creation, creator, modified, modifier, newVersion, version };