@@ -1,36 +1,51 @@
|
||||
const Subscription = require('../lib/LiveQuery/Subscription').Subscription;
|
||||
let logger;
|
||||
describe('Subscription', function() {
|
||||
|
||||
beforeEach(function() {
|
||||
logger = require('../lib/logger').logger;
|
||||
spyOn(logger, 'error').and.callThrough();
|
||||
});
|
||||
|
||||
it('can be initialized', function() {
|
||||
const subscription = new Subscription('className', { key : 'value' }, 'hash');
|
||||
const subscription = new Subscription(
|
||||
'className',
|
||||
{ key: 'value' },
|
||||
'hash'
|
||||
);
|
||||
|
||||
expect(subscription.className).toBe('className');
|
||||
expect(subscription.query).toEqual({ key : 'value' });
|
||||
expect(subscription.query).toEqual({ key: 'value' });
|
||||
expect(subscription.hash).toBe('hash');
|
||||
expect(subscription.clientRequestIds.size).toBe(0);
|
||||
});
|
||||
|
||||
it('can check it has subscribing clients', function() {
|
||||
const subscription = new Subscription('className', { key : 'value' }, 'hash');
|
||||
const subscription = new Subscription(
|
||||
'className',
|
||||
{ key: 'value' },
|
||||
'hash'
|
||||
);
|
||||
|
||||
expect(subscription.hasSubscribingClient()).toBe(false);
|
||||
});
|
||||
|
||||
it('can check it does not have subscribing clients', function() {
|
||||
const subscription = new Subscription('className', { key : 'value' }, 'hash');
|
||||
const subscription = new Subscription(
|
||||
'className',
|
||||
{ key: 'value' },
|
||||
'hash'
|
||||
);
|
||||
subscription.addClientSubscription(1, 1);
|
||||
|
||||
expect(subscription.hasSubscribingClient()).toBe(true);
|
||||
});
|
||||
|
||||
it('can add one request for one client', function() {
|
||||
const subscription = new Subscription('className', { key : 'value' }, 'hash');
|
||||
const subscription = new Subscription(
|
||||
'className',
|
||||
{ key: 'value' },
|
||||
'hash'
|
||||
);
|
||||
subscription.addClientSubscription(1, 1);
|
||||
|
||||
expect(subscription.clientRequestIds.size).toBe(1);
|
||||
@@ -38,7 +53,11 @@ describe('Subscription', function() {
|
||||
});
|
||||
|
||||
it('can add requests for one client', function() {
|
||||
const subscription = new Subscription('className', { key : 'value' }, 'hash');
|
||||
const subscription = new Subscription(
|
||||
'className',
|
||||
{ key: 'value' },
|
||||
'hash'
|
||||
);
|
||||
subscription.addClientSubscription(1, 1);
|
||||
subscription.addClientSubscription(1, 2);
|
||||
|
||||
@@ -47,7 +66,11 @@ describe('Subscription', function() {
|
||||
});
|
||||
|
||||
it('can add requests for clients', function() {
|
||||
const subscription = new Subscription('className', { key : 'value' }, 'hash');
|
||||
const subscription = new Subscription(
|
||||
'className',
|
||||
{ key: 'value' },
|
||||
'hash'
|
||||
);
|
||||
subscription.addClientSubscription(1, 1);
|
||||
subscription.addClientSubscription(1, 2);
|
||||
subscription.addClientSubscription(2, 2);
|
||||
@@ -59,14 +82,22 @@ describe('Subscription', function() {
|
||||
});
|
||||
|
||||
it('can delete requests for nonexistent client', function() {
|
||||
const subscription = new Subscription('className', { key : 'value' }, 'hash');
|
||||
const subscription = new Subscription(
|
||||
'className',
|
||||
{ key: 'value' },
|
||||
'hash'
|
||||
);
|
||||
subscription.deleteClientSubscription(1, 1);
|
||||
|
||||
expect(logger.error).toHaveBeenCalled();
|
||||
});
|
||||
|
||||
it('can delete nonexistent request for one client', function() {
|
||||
const subscription = new Subscription('className', { key : 'value' }, 'hash');
|
||||
const subscription = new Subscription(
|
||||
'className',
|
||||
{ key: 'value' },
|
||||
'hash'
|
||||
);
|
||||
subscription.addClientSubscription(1, 1);
|
||||
subscription.deleteClientSubscription(1, 2);
|
||||
|
||||
@@ -76,7 +107,11 @@ describe('Subscription', function() {
|
||||
});
|
||||
|
||||
it('can delete some requests for one client', function() {
|
||||
const subscription = new Subscription('className', { key : 'value' }, 'hash');
|
||||
const subscription = new Subscription(
|
||||
'className',
|
||||
{ key: 'value' },
|
||||
'hash'
|
||||
);
|
||||
subscription.addClientSubscription(1, 1);
|
||||
subscription.addClientSubscription(1, 2);
|
||||
subscription.deleteClientSubscription(1, 2);
|
||||
@@ -87,7 +122,11 @@ describe('Subscription', function() {
|
||||
});
|
||||
|
||||
it('can delete all requests for one client', function() {
|
||||
const subscription = new Subscription('className', { key : 'value' }, 'hash');
|
||||
const subscription = new Subscription(
|
||||
'className',
|
||||
{ key: 'value' },
|
||||
'hash'
|
||||
);
|
||||
subscription.addClientSubscription(1, 1);
|
||||
subscription.addClientSubscription(1, 2);
|
||||
subscription.deleteClientSubscription(1, 1);
|
||||
@@ -98,7 +137,11 @@ describe('Subscription', function() {
|
||||
});
|
||||
|
||||
it('can delete requests for multiple clients', function() {
|
||||
const subscription = new Subscription('className', { key : 'value' }, 'hash');
|
||||
const subscription = new Subscription(
|
||||
'className',
|
||||
{ key: 'value' },
|
||||
'hash'
|
||||
);
|
||||
subscription.addClientSubscription(1, 1);
|
||||
subscription.addClientSubscription(1, 2);
|
||||
subscription.addClientSubscription(2, 1);
|
||||
|
||||
Reference in New Issue
Block a user