UNPKG

@virtuous/react-conductor

Version:
61 lines (49 loc) 2.18 kB
"use strict"; var _react = _interopRequireDefault(require("react")); var _reactTestingLibrary = require("react-testing-library"); var _conductor = require("@virtuous/conductor"); var _index = _interopRequireDefault(require("../index")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } describe('<Router.{Action} />', function () { it('should render as expected', function () { var className = 'sausage'; var state = { something: true }; var pushSpy = jest.spyOn(_conductor.router, 'push'); var popSpy = jest.spyOn(_conductor.router, 'pop'); var replaceSpy = jest.spyOn(_conductor.router, 'replace'); var resetSpy = jest.spyOn(_conductor.router, 'reset'); var resetToSpy = jest.spyOn(_conductor.router, 'resetTo'); var app = (0, _reactTestingLibrary.render)(_react["default"].createElement(_index["default"], null, _react["default"].createElement(_index["default"].Push, { className: className, to: "/", state: state }, "Push!"), _react["default"].createElement(_index["default"].Pop, { className: className, steps: 2, state: state }, "Pop!"), _react["default"].createElement(_index["default"].Replace, { className: className, to: "/", state: state }, "Replace!"), _react["default"].createElement(_index["default"].Reset, { className: className }, "Reset!"), _react["default"].createElement(_index["default"].ResetTo, { className: className, to: "/", state: state }, "Reset to!"))); _reactTestingLibrary.fireEvent.click(app.queryByText('Push!')); _reactTestingLibrary.fireEvent.click(app.queryByText('Pop!')); _reactTestingLibrary.fireEvent.click(app.queryByText('Replace!')); _reactTestingLibrary.fireEvent.click(app.queryByText('Reset!')); _reactTestingLibrary.fireEvent.click(app.queryByText('Reset to!')); expect(app).toMatchSnapshot(); expect(pushSpy).toHaveBeenCalled(); expect(popSpy).toHaveBeenCalled(); expect(replaceSpy).toHaveBeenCalled(); expect(resetSpy).toHaveBeenCalled(); expect(resetToSpy).toHaveBeenCalled(); }); });