react-obsidian
Version:
Dependency injection framework for React and React Native applications
18 lines (15 loc) • 423 B
text/typescript
import { Constructable } from '../src/types';
import { Model } from '../src/model/Model';
export function mockModel<T extends Model, S extends Partial<T>>(mock: S, BaseClass?: Constructable<T>): T {
if (BaseClass) {
const bc = new BaseClass();
Object.assign(bc, mock);
return bc;
}
return new class extends Model {
constructor() {
super();
Object.assign(this, mock);
}
}() as T;
}