Add support for re-subscribing to the same subject with different message fetching parameters.

This commit is contained in:
Ian Gulliver
2014-05-18 19:31:22 +03:00
parent 56f0f3aeba
commit 27e857197a
2 changed files with 52 additions and 14 deletions

View File

@@ -275,7 +275,7 @@ test('getMessages/subscribe', function() {
});
asyncTest('subscribe barrier', function() {
expect(2);
expect(3);
var subject = randstring();
var message = randstring();
@@ -287,6 +287,7 @@ asyncTest('subscribe barrier', function() {
// We are validating that the message event generated by the subscribe
// call has already been processed by the time this promise fires
equal(cosmo.getMessages(subject).length, 1, 'one message');
equal(cosmo.getMessages(subject)[0]['subject']['name'], subject, 'subject matches');
equal(cosmo.getMessages(subject)[0]['message'], message, 'message matches');
cosmo.shutdown();
start();
@@ -294,6 +295,28 @@ asyncTest('subscribe barrier', function() {
});
});
asyncTest('resubscribe', function() {
expect(4);
var subject = randstring();
var message = randstring();
var cosmo = new Cosmopolite({}, null, randstring());
cosmo.sendMessage(subject, message).then(function() {
cosmo.subscribe(subject).then(function() {
equal(cosmo.getMessages(subject).length, 0, 'zero messages');
cosmo.subscribe(subject, -1).then(function() {
equal(cosmo.getMessages(subject).length, 1, 'one message');
equal(cosmo.getMessages(subject)[0]['subject']['name'], subject, 'subject matches');
equal(cosmo.getMessages(subject)[0]['message'], message, 'message matches');
cosmo.shutdown();
start();
});
});
});
});
module('dev_appserver only');