import { model } from './medit-view-controller-model'; import { MEditViewController } from '@/core'; import { useEventBind } from '@/hooks/use-view'; const evt = useEventBind(emit); const params: any = { name: model.name, model, evt, isLoadDefault: true, openType: 'ROUTE', pLoadingHelper: undefined, }; const controller: any = new MEditViewController(params); const store = controller.getStore(); const ability = { load: () => { return { ok: true, data: null, rowData: { status: 200 } } } } const getMDCtrlAbilitySpy = vi.spyOn(controller, 'getMainCtrlAbility').mockImplementation(() => ability); describe('MEditViewController unit test', () => { const initViewActionState = () => { } const spy = vi.spyOn(controller, "initViewActionState").mockImplementation(initViewActionState); test('viewMounted', () => { const opt = {}; controller.viewMounted(opt) expect(controller).toHaveProperty( 'isLoadDefault', model.isLoadDefault && true ); expect(spy).toHaveBeenCalled(); expect(getMDCtrlAbilitySpy).toHaveBeenCalled(); expect(getMDCtrlAbilitySpy).toHaveReturnedWith(ability); }); test('load', () => { const opt = {}; expect(controller.load(opt)).toStrictEqual({ok: true, data: null, rowData: { status: 200 } }) expect(getMDCtrlAbilitySpy).toHaveBeenCalled(); expect(getMDCtrlAbilitySpy).toHaveReturnedWith(ability); }) })