import React from 'react'; import { render } from '../test-wrapper'; import Dater from '../../src/js/components/Dater'; jest.mock('react-redux', () => ({ useSelector: jest.fn(), })); describe('', () => { it('should render null when given invalid props', () => { // Invalid type const dom_1 = render(); expect(dom_1.toJSON()).toEqual(null); // Missing type const dom_2 = render(); expect(dom_2.toJSON()).toEqual(null); // Missing data const dom_4 = render(); expect(dom_4.toJSON()).toEqual(null); }); it('should handle milliseconds', () => { const dom = render(); expect(dom.toJSON()).toEqual('0:30'); }); it('should handle date (yyyy-mm-dd)', () => { const dom = render(); expect(dom.toJSON()).toEqual("23/10/2015"); }); it('should handle date (mm/dd/yyyy)', () => { const dom = render(); expect(dom.toJSON()).toEqual("23/10/2015"); }); it('should handle ago (days)', () => { var date = new Date(); date.setDate( date.getDate() - 3 ); const dom = render(); expect(dom.toJSON().join('')).toEqual('3 days'); }); it('should handle ago (hours)', () => { var date = new Date(); date.setTime( date.getTime() - 3 * 3600000 ); const dom = render(); expect(dom.toJSON().join('')).toEqual('3 hours'); }); it('should handle ago (minutes)', () => { var date = new Date(); date.setTime( date.getTime() - 3 * 60000 ); const dom = render(); expect(dom.toJSON().join('')).toEqual('3 minutes'); }); it('should handle total time', () => { const data = [ { duration: 5 * 60000 }, { duration: 5 * 60000 }, { duration: 5 * 60000 } ]; const dom = render(); expect(dom.toJSON().join('')).toEqual('15 mins'); }); });