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);
- });
|