@virtuous/react-conductor
Version:
React bindings for Conductor
61 lines (49 loc) • 2.18 kB
JavaScript
;
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();
});
});