| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113 | Tinytest.add('Client - Group - validate path definition', function (test, next) {  // path & prefix must start with '/'  test.throws(function() {    new Group(null, {prefix: Random.id()});  });  var group = FlowRouter.group({prefix: '/' + Random.id()});  test.throws(function() {    group.route(Random.id());  });});Tinytest.addAsync('Client - Group - define and go to route with prefix', function (test, next) {  var prefix = Random.id();  var rand = Random.id();  var rendered = 0;  var group = FlowRouter.group({prefix: '/' + prefix});  group.route('/' + rand, {    action: function(_params) {      rendered++;    }  });  FlowRouter.go('/' + prefix + '/' + rand);  setTimeout(function() {    test.equal(rendered, 1);    setTimeout(next, 100);  }, 100);});Tinytest.addAsync('Client - Group - define and go to route without prefix', function (test, next) {  var rand = Random.id();  var rendered = 0;  var group = FlowRouter.group();  group.route('/' + rand, {    action: function(_params) {      rendered++;    }  });  FlowRouter.go('/' + rand);  setTimeout(function() {    test.equal(rendered, 1);    setTimeout(next, 100);  }, 100);});Tinytest.addAsync('Client - Group - subscribe', function (test, next) {  var rand = Random.id();  var group = FlowRouter.group({    subscriptions: function (params) {      this.register('baz', Meteor.subscribe('baz'));    }  });  group.route('/' + rand);  FlowRouter.go('/' + rand);  setTimeout(function() {    test.isTrue(!!GetSub('baz'));    next();  }, 100);});Tinytest.addAsync('Client - Group - set and retrieve group name', function (test, next) {  var rand = Random.id();  var name = Random.id();  var group = FlowRouter.group({    name: name  });  group.route('/' + rand);  FlowRouter.go('/' + rand);  setTimeout(function() {    test.isTrue(FlowRouter.current().route.group.name === name);    next();  }, 100);});Tinytest.add('Client - Group - expose group options on a route', function (test) {  var pathDef = "/" + Random.id();  var name = Random.id();  var groupName = Random.id();  var data = {aa: 10};  var layout = 'blah';  var group = FlowRouter.group({    name: groupName,    prefix: '/admin',    layout: layout,    someData: data  });  group.route(pathDef, {    name: name  });  var route = FlowRouter._routesMap[name];  test.equal(route.group.options.someData, data);  test.equal(route.group.options.layout, layout);});
 |