UNPKG

@cainiaofe/cn-ui-m

Version:
74 lines (73 loc) 3.14 kB
import React from 'react'; import { CnDialog } from '../index'; import { render } from '@testing-library/react'; describe('CnDialog', function () { it('should render CnDialog component', function () { var getByText = render(React.createElement(CnDialog, { visible: true, title: "Test Dialog", content: "This is a test dialog" })).getByText; expect(getByText('Test Dialog')).toBeInTheDocument(); expect(getByText('This is a test dialog')).toBeInTheDocument(); }); it('should show dialog', function () { var dialogProps = { title: 'Test Dialog', content: 'This is a test dialog', }; var dialogInstance = CnDialog.show(dialogProps); expect(dialogInstance).toBeDefined(); }); it('should hide dialog', function () { var dialogInstance = CnDialog.hide(); expect(dialogInstance).toBeUndefined(); }); it('should show alert dialog', function () { var dialogProps = { title: 'Alert Dialog', content: 'This is an alert dialog', }; var dialogInstance = CnDialog.alert(dialogProps); expect(dialogInstance).toBeDefined(); }); it('should show success dialog', function () { var dialogProps = { title: 'Success Dialog', content: 'This is a success dialog', }; var dialogInstance = CnDialog.success(dialogProps); expect(dialogInstance).toBeDefined(); }); // Positive test case: Confirm dialog with custom buttons it('should show confirm dialog with custom buttons', function () { var dialogProps = { title: 'Confirm Dialog', content: 'Are you sure?', buttons: [ { text: 'Yes', onClick: jest.fn() }, { text: 'No', onClick: jest.fn() }, ], }; var dialogInstance = CnDialog.confirm(dialogProps); expect(dialogInstance).toBeDefined(); }); // Edge case: Empty content it('should show notice dialog with empty content', function () { var dialogProps = { title: 'Notice Dialog', content: '' }; var dialogInstance = CnDialog.notice(dialogProps); expect(dialogInstance).toBeDefined(); }); // Corner case: Very long content it('should show warning dialog with very long content', function () { var longContent = 'a'.repeat(10000); var dialogProps = { title: 'Warning Dialog', content: longContent }; var dialogInstance = CnDialog.warning(dialogProps); expect(dialogInstance).toBeDefined(); }); // Scalability test case: Show multiple dialogs simultaneously it('should show multiple dialogs simultaneously', function () { var dialogProps1 = { title: 'Dialog 1', content: 'This is dialog 1' }; var dialogProps2 = { title: 'Dialog 2', content: 'This is dialog 2' }; var dialogInstance1 = CnDialog.show(dialogProps1); var dialogInstance2 = CnDialog.show(dialogProps2); expect(dialogInstance1).toBeDefined(); expect(dialogInstance2).toBeDefined(); }); });