openmct/platform/persistence/queue/test/QueuingPersistenceCapabilitySpec.js

46 lines
1.5 KiB
JavaScript
Raw Normal View History

/*global define,Promise,describe,it,expect,beforeEach,waitsFor,jasmine*/
define(
["../src/QueuingPersistenceCapability"],
function (QueuingPersistenceCapability) {
"use strict";
describe("A queuing persistence capability", function () {
var mockQueue,
mockPersistence,
mockDomainObject,
persistence;
beforeEach(function () {
mockQueue = jasmine.createSpyObj('queue', ['put']);
mockPersistence = jasmine.createSpyObj(
'persistence',
['persist', 'refresh']
);
mockDomainObject = {};
persistence = new QueuingPersistenceCapability(
mockQueue,
mockPersistence,
mockDomainObject
);
});
it("puts a request for persistence into the queue on persist", function () {
// Verify precondition
expect(mockQueue.put).not.toHaveBeenCalled();
// Invoke persistence
persistence.persist();
// Should have queued
expect(mockQueue.put).toHaveBeenCalledWith(
mockDomainObject,
mockPersistence
);
});
it("exposes other methods from the wrapped persistence capability", function () {
expect(persistence.refresh).toBe(mockPersistence.refresh);
});
});
}
);