UNPKG

@virtuous/conductor

Version:
68 lines (64 loc) 1.92 kB
"use strict"; var _index = _interopRequireDefault(require("./index")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } Date.now = function () { return 123456789; }; describe('Stack', function () { describe('constructor()', function () { it('should correctly initialise', function () { var route = new _index["default"]({ pathname: '/myroute/123?search=hello#headline', pattern: '/myroute/:id', state: { a: 1, b: 2 }, transform: function transform() { return { state: { b: 3, c: 4 } }; } }); expect(route.location).toBe('/myroute/123?search=hello#headline'); expect(route.pathname).toBe('/myroute/123'); expect(route.pattern).toBe('/myroute/:id'); expect(route.params).toEqual({ id: '123' }); expect(route.query).toEqual({ search: 'hello' }); expect(route.hash).toBe('headline'); expect(route.state).toEqual({ a: 1, b: 3, c: 4 }); expect(route.created).toEqual(123456789); expect(route.updated).toBeNull(); }); it('should set params to be empty when pattern is missing ', function () { var route = new _index["default"]({ pathname: '/myroute/123?search=hello' }); expect(route.params).toEqual({}); }); it('should set query and state to be empty when missing', function () { var route = new _index["default"]({ pathname: '/myroute/123' }); expect(route.query).toEqual({}); expect(route.state).toEqual({}); }); it('should set hash to be null when missing', function () { var route = new _index["default"]({ pathname: '/myroute/123' }); expect(route.hash).toBeNull(); }); }); });