123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- /**
- * ownCloud
- *
- * @author Vincent Petry
- * @copyright 2016 Vincent Petry <pvince81@owncloud.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
- * License as published by the Free Software Foundation; either
- * version 3 of the License, or any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU AFFERO GENERAL PUBLIC LICENSE for more details.
- *
- * You should have received a copy of the GNU Affero General Public
- * License along with this library. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-
- describe('OC.SystemTags.SystemTagsCollection tests', function() {
- var collection;
-
- beforeEach(function() {
- collection = new OC.SystemTags.SystemTagsCollection();
- });
- it('fetches only once, until reset', function() {
- var syncStub = sinon.stub(collection, 'sync');
- var callback = sinon.stub();
- var callback2 = sinon.stub();
- var callback3 = sinon.stub();
- var eventHandler = sinon.stub();
-
- collection.on('sync', eventHandler);
-
- collection.fetch({
- success: callback
- });
-
- expect(callback.notCalled).toEqual(true);
- expect(syncStub.calledOnce).toEqual(true);
- expect(eventHandler.notCalled).toEqual(true);
-
- syncStub.yieldTo('success', collection);
-
- expect(callback.calledOnce).toEqual(true);
- expect(callback.firstCall.args[0]).toEqual(collection);
- expect(eventHandler.calledOnce).toEqual(true);
- expect(eventHandler.firstCall.args[0]).toEqual(collection);
-
- collection.fetch({
- success: callback2
- });
-
- expect(eventHandler.calledTwice).toEqual(true);
- expect(eventHandler.secondCall.args[0]).toEqual(collection);
-
- // not re-called
- expect(syncStub.calledOnce).toEqual(true);
-
- expect(callback.calledOnce).toEqual(true);
- expect(callback2.calledOnce).toEqual(true);
- expect(callback2.firstCall.args[0]).toEqual(collection);
-
- expect(collection.fetched).toEqual(true);
-
- collection.reset();
-
- expect(collection.fetched).toEqual(false);
-
- collection.fetch({
- success: callback3
- });
-
- expect(syncStub.calledTwice).toEqual(true);
-
- syncStub.yieldTo('success', collection);
- expect(callback3.calledOnce).toEqual(true);
- expect(callback3.firstCall.args[0]).toEqual(collection);
-
- syncStub.restore();
- });
- });
|