| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325 | 
							- import { Notification, Button } from '../../index';
 
- import { BASE_CLASS_PREFIX } from '../../../semi-foundation/base/constants';
 
- import NotificationItem from '../notice';
 
- import { IconToutiaoLogo } from '@douyinfe/semi-icons';
 
- describe('Notification', () => {
 
-     it('title&content、zIndex', () => {
 
-         Notification.open({
 
-             title: 'Hi, Bytedance',
 
-             content: 'ies dance dance dance',
 
-             duration: 1,
 
-             zIndex: 2333,
 
-         });
 
-         const notificationWrapper = document.querySelector(`.${BASE_CLASS_PREFIX}-notification-wrapper`);
 
-         expect(
 
-             notificationWrapper
 
-             .style.zIndex
 
-         ).toEqual("2333");
 
-         const notificationInner = document.querySelector(`.${BASE_CLASS_PREFIX}-notification-notice-content-wrapper`);
 
-         expect(
 
-             notificationInner
 
-             .childElementCount
 
-         ).toEqual(2);
 
-         expect(
 
-             notificationInner
 
-             .querySelector(`.${BASE_CLASS_PREFIX}-notification-notice-title`)
 
-             .textContent
 
-         ).toEqual('Hi, Bytedance');
 
-         expect(
 
-             notificationInner
 
-             .querySelector(`.${BASE_CLASS_PREFIX}-notification-notice-content`)
 
-             .textContent
 
-         ).toEqual('ies dance dance dance');
 
-     });
 
-     it('duration', () => {
 
-         Notification.destroyAll();
 
-         Notification.open({
 
-             title: 'Hi, Bytedance',
 
-             content: 'ies dance dance dance',
 
-             duration: 1,
 
-         })
 
-         const notificationInner1 = document.querySelector(`.${BASE_CLASS_PREFIX}-notification-list`);
 
-             expect(
 
-                 notificationInner1
 
-                 .childElementCount
 
-             ).toEqual(1);
 
-         setTimeout(() => {
 
-             const notificationInner2 = document.querySelector(`.${BASE_CLASS_PREFIX}-notification-list`);
 
-             expect(
 
-                 notificationInner2
 
-                 .childElementCount
 
-             ).toEqual(0);
 
-         }, 1000);
 
-     });
 
-     it('position-top', () => {
 
-         Notification.destroyAll();
 
-         Notification.open({
 
-             title: 'top demo',
 
-             content: 'ies dance dance dance',
 
-             duration: 1,
 
-             position: 'top'
 
-         });
 
-         expect(
 
-             document
 
-             .querySelector(`.${BASE_CLASS_PREFIX}-notification-list[placement=top] .${BASE_CLASS_PREFIX}-notification-notice-content-wrapper .${BASE_CLASS_PREFIX}-notification-notice-title`)
 
-             .textContent
 
-         ).toEqual('top demo');
 
-         expect(
 
-             document
 
-             .querySelector(`.${BASE_CLASS_PREFIX}-notification-list[placement=bottom] .${BASE_CLASS_PREFIX}-notification-notice-content-wrapper .${BASE_CLASS_PREFIX}-notification-notice-title`)
 
-         ).toEqual(null);
 
-     });
 
-     it('position-topLeft', () => {
 
-         Notification.destroyAll();
 
-         Notification.open({
 
-             title: 'topLeft demo',
 
-             content: 'ies dance dance dance',
 
-             duration: 1,
 
-             position: 'topLeft'
 
-         });
 
-         expect(
 
-             document
 
-             .querySelector(`.${BASE_CLASS_PREFIX}-notification-list[placement=topLeft] .${BASE_CLASS_PREFIX}-notification-notice-content-wrapper .${BASE_CLASS_PREFIX}-notification-notice-title`)
 
-             .textContent
 
-         ).toEqual('topLeft demo');
 
-     });
 
-     it('position-bottomLeft', () => {
 
-         Notification.destroyAll();
 
-         Notification.open({
 
-             title: 'bottomLeft demo',
 
-             content: 'ies dance dance dance',
 
-             duration: 1,
 
-             position: 'bottomLeft'
 
-         });
 
-         expect(
 
-             document
 
-             .querySelector(`.${BASE_CLASS_PREFIX}-notification-list[placement=bottomLeft] .${BASE_CLASS_PREFIX}-notification-notice-content-wrapper .${BASE_CLASS_PREFIX}-notification-notice-title`)
 
-             .textContent
 
-         ).toEqual('bottomLeft demo');
 
-     });
 
-     it('position-bottomRight', () => {
 
-         Notification.destroyAll();
 
-         Notification.open({
 
-             title: 'bottomRight demo',
 
-             content: 'ies dance dance dance',
 
-             duration: 1,
 
-             position: 'bottomRight'
 
-         });
 
-         expect(
 
-             document
 
-             .querySelector(`.${BASE_CLASS_PREFIX}-notification-list[placement=bottomRight] .${BASE_CLASS_PREFIX}-notification-notice-content-wrapper .${BASE_CLASS_PREFIX}-notification-notice-title`)
 
-             .textContent
 
-         ).toEqual('bottomRight demo');
 
-     });
 
-     it('success', () => {
 
-         Notification.destroyAll();
 
-         Notification.success({
 
-             title: 'success demo',
 
-             duration: 1,
 
-         });
 
-         expect(
 
-             document
 
-             .querySelector(`.${BASE_CLASS_PREFIX}-notification-notice-success .${BASE_CLASS_PREFIX}-notification-notice-title`)
 
-             .textContent
 
-         ).toEqual('success demo');
 
-     });
 
-     it('info', () => {
 
-         Notification.destroyAll();
 
-         Notification.info({
 
-             title: 'info demo',
 
-             duration: 1,
 
-         });
 
-         expect(
 
-             document
 
-             .querySelector(`.${BASE_CLASS_PREFIX}-notification-notice-info .${BASE_CLASS_PREFIX}-notification-notice-title`)
 
-             .textContent
 
-         ).toEqual('info demo');
 
-     });
 
-     it('warning', () => {
 
-         Notification.destroyAll();
 
-         Notification.warning({
 
-             title: 'warning demo',
 
-             duration: 1,
 
-         });
 
-         expect(
 
-             document
 
-             .querySelector(`.${BASE_CLASS_PREFIX}-notification-notice-warning .${BASE_CLASS_PREFIX}-notification-notice-title`)
 
-             .textContent
 
-         ).toEqual('warning demo');
 
-     });
 
-     it('error', () => {
 
-         Notification.destroyAll();
 
-         Notification.error({
 
-             title: 'error demo',
 
-             duration: 1,
 
-         });
 
-         expect(
 
-             document
 
-             .querySelector(`.${BASE_CLASS_PREFIX}-notification-notice-error .${BASE_CLASS_PREFIX}-notification-notice-title`)
 
-             .textContent
 
-         ).toEqual('error demo');
 
-     });
 
-     it('theme error-light', () => {
 
-         Notification.destroyAll();
 
-         Notification.error({
 
-             title: 'light error demo',
 
-             duration: 1,
 
-             theme: 'light'
 
-         });
 
-         expect(
 
-             document
 
-             .querySelector(`.${BASE_CLASS_PREFIX}-notification-notice-light.${BASE_CLASS_PREFIX}-notification-notice-error .${BASE_CLASS_PREFIX}-notification-notice-title`)
 
-             .textContent
 
-         ).toEqual('light error demo');
 
-     });
 
-     it('theme info-light', () => {
 
-         Notification.destroyAll();
 
-         Notification.info({
 
-             title: 'light info demo',
 
-             duration: 1,
 
-             theme: 'light'
 
-         });
 
-         expect(
 
-             document
 
-             .querySelector(`.${BASE_CLASS_PREFIX}-notification-notice-light.${BASE_CLASS_PREFIX}-notification-notice-info .${BASE_CLASS_PREFIX}-notification-notice-title`)
 
-             .textContent
 
-         ).toEqual('light info demo');
 
-     });
 
-     it('theme warning-light', () => {
 
-         Notification.destroyAll();
 
-         Notification.warning({
 
-             title: 'light warning demo',
 
-             duration: 1,
 
-             theme: 'light'
 
-         });
 
-         expect(
 
-             document
 
-             .querySelector(`.${BASE_CLASS_PREFIX}-notification-notice-light.${BASE_CLASS_PREFIX}-notification-notice-warning .${BASE_CLASS_PREFIX}-notification-notice-title`)
 
-             .textContent
 
-         ).toEqual('light warning demo');
 
-     });
 
-     it('theme success-light', () => {
 
-         Notification.destroyAll();
 
-         Notification.success({
 
-             title: 'light success demo',
 
-             duration: 1,
 
-             theme: 'light'
 
-         });
 
-         expect(
 
-             document
 
-             .querySelector(`.${BASE_CLASS_PREFIX}-notification-notice-light.${BASE_CLASS_PREFIX}-notification-notice-success .${BASE_CLASS_PREFIX}-notification-notice-title`)
 
-             .textContent
 
-         ).toEqual('light success demo');
 
-     });
 
-     it('onClick', () => {
 
-         Notification.destroyAll();
 
-         const spyOnClick = sinon.spy(() => {});
 
-         const opts = {
 
-             onClick: spyOnClick,
 
-             content: 'content',
 
-             title: 'title',
 
-         };
 
-         const notification = mount(<NotificationItem {...opts} />);
 
-         notification.simulate('click', {});
 
-         expect(spyOnClick.calledOnce).toEqual(true);
 
-     })
 
-     it('onClose', () => {
 
-         Notification.destroyAll();
 
-         const spyOnClose = sinon.spy(() => {});
 
-         const opts = {
 
-             onClose: spyOnClose,
 
-             content: 'content',
 
-             title: 'title',
 
-         };
 
-         const notification = mount(<NotificationItem {...opts} />);
 
-         const closeBtn = notification.find(`.${BASE_CLASS_PREFIX}-notification-notice-inner .${BASE_CLASS_PREFIX}-button`);
 
-         closeBtn.simulate('click', {});
 
-         expect(spyOnClose.calledOnce).toEqual(true);
 
-     });
 
-     it('onCloseClick', () => {
 
-         Notification.destroyAll();
 
-         const spyOnCloseClick = sinon.spy(() => {});
 
-         const opts = {
 
-             onCloseClick: spyOnCloseClick,
 
-             content: 'content',
 
-             title: 'title',
 
-         };
 
-         const notification = mount(<NotificationItem {...opts} />);
 
-         const closeBtn = notification.find(`.${BASE_CLASS_PREFIX}-notification-notice-inner .${BASE_CLASS_PREFIX}-button`);
 
-         closeBtn.simulate('click', {});
 
-         expect(spyOnCloseClick.calledOnce).toEqual(true);
 
-     });
 
-     it('showClose', () => {
 
-         Notification.destroyAll();
 
-         const spyOnCloseClick = sinon.spy(() => {});
 
-         const opts = {
 
-             onCloseClick: spyOnCloseClick,
 
-             content: 'content',
 
-             title: 'title',
 
-             showClose: false
 
-         };
 
-         const notification = mount(<NotificationItem {...opts} />);
 
-         expect(
 
-             notification
 
-             .exists(`.${BASE_CLASS_PREFIX}-notification-notice-inner .${BASE_CLASS_PREFIX}-button`)
 
-         )
 
-         .toEqual(false);
 
-     });
 
-     it('icon', () => {
 
-         Notification.destroyAll();
 
-         const opts = {
 
-             content: 'content',
 
-             title: 'title',
 
-             icon: <IconToutiaoLogo style={{ color: 'red' }} size="large" />,
 
-         };
 
-         const notification = mount(<NotificationItem {...opts} />);
 
-         expect(
 
-             notification
 
-             .exists(`.${BASE_CLASS_PREFIX}-notification-notice .${BASE_CLASS_PREFIX}-notification-notice-icon .${BASE_CLASS_PREFIX}-icon-toutiao_logo`)
 
-         )
 
-         .toEqual(true);
 
-     });
 
-     it('config', () => {
 
-         Notification.destroyAll();
 
-         const opts = {
 
-             content: 'content',
 
-             title: 'title',
 
-         };
 
-         Notification.config({
 
-             left:'300px',
 
-             top:'400px'
 
-         })
 
-         Notification.info({ ...opts, position: 'top' });
 
-         const notificationList = document.querySelector(`.${BASE_CLASS_PREFIX}-notification-list`);
 
-         expect(
 
-             notificationList
 
-             .style.left
 
-         ).toEqual("300px");
 
-         expect(
 
-             notificationList
 
-             .style.top
 
-         ).toEqual("400px");
 
-     });
 
- });
 
 
  |