UNPKG

react-ssr

Version:

A simplified solution to React server side rendering.

82 lines (61 loc) 2.43 kB
'use strict'; var _react = require('react'); var _react2 = _interopRequireDefault(_react); var _serverRender = require('./serverRender'); var _serverRender2 = _interopRequireDefault(_serverRender); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } jest.mock('debug'); test('calls res to send basic html immediately back if disable is enabled', function () { var res = { send: jest.fn() }; var options = { disable: true, Html: function Html() { return _react2.default.createElement('div', null); } }; (0, _serverRender2.default)(options, { url: '' }, res); expect(res.send).toHaveBeenCalled(); expect(res.send).toHaveBeenCalledWith('<!DOCTYPE html><div data-reactroot=""></div>'); }); test('calls res to send basic html immediately back if url is in ignore array', function () { var res = { send: jest.fn() }; var options = { Html: function Html() { return _react2.default.createElement('div', null); }, ignore: ['/test'] }; (0, _serverRender2.default)(options, { url: '/test' }, res); expect(res.send).toHaveBeenCalled(); expect(res.send).toHaveBeenCalledWith('<!DOCTYPE html><div data-reactroot=""></div>'); }); test('calls res to send basic html immediately back if url is stripped of query and is in ignore array', function () { var res = { send: jest.fn() }; var options = { Html: function Html() { return _react2.default.createElement('div', null); }, ignore: ['/test'] }; (0, _serverRender2.default)(options, { url: '/test?exampleQuery=true' }, res); expect(res.send).toHaveBeenCalled(); expect(res.send).toHaveBeenCalledWith('<!DOCTYPE html><div data-reactroot=""></div>'); }); test('it calls res.sendStatus with 404 status code when given path with extension', function () { var res = { sendStatus: jest.fn() }; var options = { Html: 'div' }; (0, _serverRender2.default)(options, { url: '/test.js' }, res); expect(res.sendStatus).toHaveBeenCalled(); expect(res.sendStatus).toHaveBeenCalledWith(404); }); // test('it calls debug when there is no matched pathname in url', () => { // const res = { sendStatus: jest.fn() } // const options = { // Html: 'div' // } // serverRender(options, {url: 'www.vodafone.co.uk'}, res) // expect(debug).toHaveBeenCalled() // expect(debug).toHaveBeenCalledWith('Parsed URL has no path name.') // })