import { DAO } from './dao'; import { IBaseModel } from '../interfaces'; import { BaseModel } from './base-model'; import { AppConfig } from '../config'; import * as JSData from 'js-data'; /** * interface needed for unit test * the interface constains only property name * * @interface ITestSimpeClass * @extends {IBaseModel} */ export interface ITestSimpleClass extends IBaseModel { name: string; } export interface ITestComplexClass extends IBaseModel { name: string; simpleClassId: string; simpleClass?: ITestSimpleClass; } /** * class for unit test * * @class TestSimpleClass * @extends {BaseModel} * @implements {ITestSimpeClass} */ export declare class TestSimpleClass extends BaseModel implements ITestSimpleClass { name: string; constructor(obj: ITestSimpleClass); } /** * classe simples para testes * * @class TestInvalidClass * @extends {BaseModel} * @implements {TestInvalidClass} */ export declare class TestInvalidClass extends BaseModel implements ITestSimpleClass { name: string; constructor(obj: ITestSimpleClass); } /** * classe com dependencia da classe simples TestSimpleClass * * @class TestComplexClass * @extends {BaseModel} * @implements {ITestComplexClass} */ export declare class TestComplexClass extends BaseModel implements ITestComplexClass { name: string; simpleClassId: string; simpleClass?: ITestSimpleClass; constructor(obj: ITestComplexClass); } /** * classe de teste de persistencia simples * * @export * @class TestSimpleClassDAO * @extends {DAO} */ export declare class TestSimpleClassDAO extends DAO { storedb: JSData.DataStore; constructor(store: JSData.DataStore, appConfig: AppConfig); } export declare class TestInvalidClassDAO extends DAO { storedb: JSData.DataStore; constructor(store: JSData.DataStore, appConfig: AppConfig); } /** * classe para teste de persistencia com dependencia de fk * * @export * @class TestComplexClassDAO * @extends {DAO} */ export declare class TestComplexClassDAO extends DAO { storedb: JSData.DataStore; constructor(store: JSData.DataStore, appConfig: AppConfig); }