]> source.dussan.org Git - nextcloud-server.git/commitdiff
Added unit tests for heartbeat interval min/max values
authorVincent Petry <pvince81@owncloud.com>
Thu, 12 Jun 2014 16:42:09 +0000 (18:42 +0200)
committerVincent Petry <pvince81@owncloud.com>
Thu, 12 Jun 2014 16:42:09 +0000 (18:42 +0200)
core/js/tests/specs/coreSpec.js

index 3c62b976779bcb27a0b648acb9b7bf52c9441621..dd9d4a79277d3a3cfeb9d2b9584344cbd6de0736 100644 (file)
@@ -19,7 +19,6 @@
 *
 */
 
-/* global OC */
 describe('Core base tests', function() {
        describe('Base values', function() {
                it('Sets webroots', function() {
@@ -235,10 +234,12 @@ describe('Core base tests', function() {
                });
                afterEach(function() {
                        clock.restore();
+                       /* jshint camelcase: false */
                        window.oc_config = oldConfig;
                        routeStub.restore();
                });
                it('sends heartbeat half the session lifetime when heartbeat enabled', function() {
+                       /* jshint camelcase: false */
                        window.oc_config = {
                                session_keepalive: true,
                                session_lifetime: 300
@@ -265,6 +266,7 @@ describe('Core base tests', function() {
                        expect(counter).toEqual(2);
                });
                it('does no send heartbeat when heartbeat disabled', function() {
+                       /* jshint camelcase: false */
                        window.oc_config = {
                                session_keepalive: false,
                                session_lifetime: 300
@@ -279,6 +281,26 @@ describe('Core base tests', function() {
                        // still nothing
                        expect(counter).toEqual(0);
                });
+               it('limits the heartbeat between one minute and one day', function() {
+                       /* jshint camelcase: false */
+                       var setIntervalStub = sinon.stub(window, 'setInterval');
+                       window.oc_config = {
+                               session_keepalive: true,
+                               session_lifetime: 5
+                       };
+                       window.initCore();
+                       expect(setIntervalStub.getCall(0).args[1]).toEqual(60 * 1000);
+                       setIntervalStub.reset();
+
+                       window.oc_config = {
+                               session_keepalive: true,
+                               session_lifetime: 48 * 3600
+                       };
+                       window.initCore();
+                       expect(setIntervalStub.getCall(0).args[1]).toEqual(24 * 3600 * 1000);
+
+                       setIntervalStub.restore();
+               });
        });
        describe('Parse query string', function() {
                it('Parses query string from full URL', function() {