123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225 |
- Tinytest.addAsync('Client - Router - subsReady - with no args - all subscriptions ready', function (test, next) {
- var rand = Random.id();
- FlowRouter.route('/' + rand, {
- subscriptions: function(params) {
- this.register('bar', Meteor.subscribe('bar'));
- this.register('foo', Meteor.subscribe('foo'));
- }
- });
- FlowRouter.subscriptions = function () {
- this.register('baz', Meteor.subscribe('baz'));
- };
- FlowRouter.go('/' + rand);
- Tracker.autorun(function(c) {
- if(FlowRouter.subsReady()) {
- FlowRouter.subscriptions = Function.prototype;
- next();
- c.stop();
- }
- });
- });
- Tinytest.addAsync('Client - Router - subsReady - with no args - all subscriptions does not ready', function (test, next) {
- var rand = Random.id();
- FlowRouter.route('/' + rand, {
- subscriptions: function(params) {
- this.register('fooNotReady', Meteor.subscribe('fooNotReady'));
- }
- });
- FlowRouter.subscriptions = function () {
- this.register('bazNotReady', Meteor.subscribe('bazNotReady'));
- };
- FlowRouter.go('/' + rand);
- setTimeout(function() {
- test.isTrue(!FlowRouter.subsReady());
- FlowRouter.subscriptions = Function.prototype;
- next();
- }, 100);
- });
- Tinytest.addAsync('Client - Router - subsReady - with no args - global subscriptions does not ready', function (test, next) {
- var rand = Random.id();
- FlowRouter.route('/' + rand, {
- subscriptions: function(params) {
- this.register('bar', Meteor.subscribe('bar'));
- this.register('foo', Meteor.subscribe('foo'));
- }
- });
- FlowRouter.subscriptions = function () {
- this.register('bazNotReady', Meteor.subscribe('bazNotReady'));
- };
- FlowRouter.go('/' + rand);
- setTimeout(function() {
- test.isTrue(!FlowRouter.subsReady());
- FlowRouter.subscriptions = Function.prototype;
- next();
- }, 100);
- });
- Tinytest.addAsync('Client - Router - subsReady - with no args - current subscriptions does not ready', function (test, next) {
- var rand = Random.id();
- FlowRouter.route('/' + rand, {
- subscriptions: function(params) {
- this.register('bar', Meteor.subscribe('bar'));
- this.register('fooNotReady', Meteor.subscribe('fooNotReady'));
- }
- });
- FlowRouter.subscriptions = function () {
- this.register('baz', Meteor.subscribe('baz'));
- };
- FlowRouter.go('/' + rand);
- setTimeout(function() {
- test.isTrue(!FlowRouter.subsReady());
- FlowRouter.subscriptions = Function.prototype;
- next();
- }, 100);
- });
- Tinytest.addAsync('Client - Router - subsReady - with args - all subscriptions ready', function (test, next) {
- var rand = Random.id();
- FlowRouter.route('/' + rand, {
- subscriptions: function(params) {
- this.register('bar', Meteor.subscribe('bar'));
- this.register('foo', Meteor.subscribe('foo'));
- }
- });
- FlowRouter.subscriptions = function () {
- this.register('baz', Meteor.subscribe('baz'));
- };
- FlowRouter.go('/' + rand);
- Tracker.autorun(function(c) {
- if(FlowRouter.subsReady('foo', 'baz')) {
- FlowRouter.subscriptions = Function.prototype;
- next();
- c.stop();
- }
- });
- });
- Tinytest.addAsync('Client - Router - subsReady - with args - all subscriptions does not ready', function (test, next) {
- var rand = Random.id();
- FlowRouter.route('/' + rand, {
- subscriptions: function(params) {
- this.register('fooNotReady', Meteor.subscribe('fooNotReady'));
- }
- });
- FlowRouter.subscriptions = function () {
- this.register('bazNotReady', Meteor.subscribe('bazNotReady'));
- };
- FlowRouter.go('/' + rand);
- setTimeout(function() {
- test.isTrue(!FlowRouter.subsReady('fooNotReady', 'bazNotReady'));
- FlowRouter.subscriptions = Function.prototype;
- next();
- }, 100);
- });
- Tinytest.addAsync('Client - Router - subsReady - with args - global subscriptions does not ready', function (test, next) {
- var rand = Random.id();
- FlowRouter.route('/' + rand, {
- subscriptions: function(params) {
- this.register('bar', Meteor.subscribe('bar'));
- this.register('foo', Meteor.subscribe('foo'));
- }
- });
- FlowRouter.subscriptions = function () {
- this.register('bazNotReady', Meteor.subscribe('bazNotReady'));
- };
- FlowRouter.go('/' + rand);
- setTimeout(function() {
- test.isTrue(!FlowRouter.subsReady('foo', 'bazNotReady'));
- FlowRouter.subscriptions = Function.prototype;
- next();
- }, 100);
- });
- Tinytest.addAsync('Client - Router - subsReady - with args - current subscriptions does not ready', function (test, next) {
- var rand = Random.id();
- FlowRouter.route('/' + rand, {
- subscriptions: function(params) {
- this.register('bar', Meteor.subscribe('bar'));
- this.register('fooNotReady', Meteor.subscribe('fooNotReady'));
- }
- });
- FlowRouter.subscriptions = function () {
- this.register('baz', Meteor.subscribe('baz'));
- };
- FlowRouter.go('/' + rand);
- setTimeout(function() {
- test.isTrue(!FlowRouter.subsReady('fooNotReady', 'baz'));
- FlowRouter.subscriptions = Function.prototype;
- next();
- }, 100);
- });
- Tinytest.addAsync('Client - Router - subsReady - with args - subscribe with wrong name', function (test, next) {
- var rand = Random.id();
- FlowRouter.route('/' + rand, {
- subscriptions: function(params) {
- this.register('bar', Meteor.subscribe('bar'));
- }
- });
- FlowRouter.subscriptions = function () {
- this.register('baz', Meteor.subscribe('baz'));
- };
- FlowRouter.go('/' + rand);
- setTimeout(function() {
- test.isTrue(!FlowRouter.subsReady('baz', 'xxx', 'baz'));
- FlowRouter.subscriptions = Function.prototype;
- next();
- }, 100);
- });
- Tinytest.addAsync('Client - Router - subsReady - with args - same route two different subs', function (test, next) {
- var rand = Random.id();
- var count = 0;
- FlowRouter.route('/' + rand, {
- subscriptions: function(params) {
- if(++count == 1) {
- this.register('not-exisitng', Meteor.subscribe('not-exisitng'));
- }
- }
- });
- FlowRouter.subscriptions = Function.prototype;
- FlowRouter.go('/' + rand);
- setTimeout(function() {
- test.isFalse(FlowRouter.subsReady());
- FlowRouter.go('/' + rand, {}, {param: "111"});
- setTimeout(function() {
- test.isTrue(FlowRouter.subsReady());
- next();
- }, 100)
- }, 100);
- });
- Tinytest.addAsync('Client - Router - subsReady - no subscriptions - simple', function (test, next) {
- var rand = Random.id();
- FlowRouter.route('/' + rand, {});
- FlowRouter.subscriptions = Function.prototype;
- FlowRouter.go('/' + rand);
- setTimeout(function() {
- test.isTrue(FlowRouter.subsReady());
- next();
- }, 100);
- });
|