@virtuous/conductor
Version:
68 lines (64 loc) • 1.92 kB
JavaScript
;
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();
});
});
});