// EntryComponent.test.tsx
import { render } from '@testing-library/react';
import { App } from 'antd';
import { describe, expect, it, vi } from 'vitest';
import EntryComponent, { message, modal, notification } from './index';
// 模拟 App.useApp 方法返回的对象
const mockUseApp = {
message: { success: vi.fn() },
modal: { confirm: vi.fn() },
notification: { open: vi.fn() },
};
vi.mock('antd', () => ({
App: {
useApp: vi.fn(() => mockUseApp),
},
}));
describe('EntryComponent', () => {
it('should correctly initialize message, modal, and notification', () => {
render();
// 验证 App.useApp 是否被调用
expect(App.useApp).toHaveBeenCalled();
// 验证 message, modal, 和 notification 是否被正确赋值
expect(message).toBeDefined();
expect(modal).toBeDefined();
expect(notification).toBeDefined();
// 验证是否赋值的对象与模拟的对象匹配
expect(message).toEqual(mockUseApp.message);
expect(modal).toEqual(mockUseApp.modal);
expect(notification).toEqual(mockUseApp.notification);
});
it('should render without crashing', () => {
const { container } = render();
expect(container).toBeDefined();
});
});