From c55f9ff0928d2384303d250da86ad77cc0cc5eed Mon Sep 17 00:00:00 2001 From: Victor Woeltjen Date: Tue, 24 Mar 2015 16:13:59 -0700 Subject: [PATCH] [Persistence] Add placeholder specs Add empty specs for new scripts introduced to support revision checking and Overwrite/Discard dialog, WTD-1033. --- .../test/models/CachingModelDecoratorSpec.js | 11 ++ .../elastic/test/CouchDocumentSpec.js | 44 ----- .../elastic/test/CouchIndicatorSpec.js | 111 ------------ .../test/CouchPersistenceProviderSpec.js | 171 ------------------ .../elastic/test/ElasticIndicatorSpec.js | 20 ++ .../test/ElasticPersistenceProviderSpec.js | 27 +++ .../test/PersistenceFailureConstantsSpec.js | 13 ++ .../test/PersistenceFailureDialogSpec.js | 13 ++ .../test/PersistenceFailureHandlerSpec.js | 13 ++ .../queue/test/PersistenceQueueHandlerSpec.js | 13 ++ .../queue/test/PersistenceQueueImplSpec.js | 13 ++ .../queue/test/PersistenceQueueSpec.js | 13 ++ ...euingPersistenceCapabilityDecoratorSpec.js | 13 ++ .../test/QueuingPersistenceCapabilitySpec.js | 13 ++ 14 files changed, 162 insertions(+), 326 deletions(-) create mode 100644 platform/core/test/models/CachingModelDecoratorSpec.js delete mode 100644 platform/persistence/elastic/test/CouchDocumentSpec.js delete mode 100644 platform/persistence/elastic/test/CouchIndicatorSpec.js delete mode 100644 platform/persistence/elastic/test/CouchPersistenceProviderSpec.js create mode 100644 platform/persistence/elastic/test/ElasticIndicatorSpec.js create mode 100644 platform/persistence/elastic/test/ElasticPersistenceProviderSpec.js create mode 100644 platform/persistence/queue/test/PersistenceFailureConstantsSpec.js create mode 100644 platform/persistence/queue/test/PersistenceFailureDialogSpec.js create mode 100644 platform/persistence/queue/test/PersistenceFailureHandlerSpec.js create mode 100644 platform/persistence/queue/test/PersistenceQueueHandlerSpec.js create mode 100644 platform/persistence/queue/test/PersistenceQueueImplSpec.js create mode 100644 platform/persistence/queue/test/PersistenceQueueSpec.js create mode 100644 platform/persistence/queue/test/QueuingPersistenceCapabilityDecoratorSpec.js create mode 100644 platform/persistence/queue/test/QueuingPersistenceCapabilitySpec.js diff --git a/platform/core/test/models/CachingModelDecoratorSpec.js b/platform/core/test/models/CachingModelDecoratorSpec.js new file mode 100644 index 0000000000..3943cf3055 --- /dev/null +++ b/platform/core/test/models/CachingModelDecoratorSpec.js @@ -0,0 +1,11 @@ +/*global define,Promise,describe,it,expect,beforeEach,waitsFor,jasmine*/ + +define( + ["../../src/models/CachingModelDecorator"], + function (CachingModelDecorator) { + "use strict"; + + describe("The caching model decorator", function () { + }); + } +); \ No newline at end of file diff --git a/platform/persistence/elastic/test/CouchDocumentSpec.js b/platform/persistence/elastic/test/CouchDocumentSpec.js deleted file mode 100644 index e6969e132b..0000000000 --- a/platform/persistence/elastic/test/CouchDocumentSpec.js +++ /dev/null @@ -1,44 +0,0 @@ -/*global define,Promise,describe,it,expect,beforeEach,waitsFor,jasmine*/ - -/** - * DomainObjectProviderSpec. Created by vwoeltje on 11/6/14. - */ -define( - ["../src/CouchDocument"], - function (CouchDocument) { - "use strict"; - - // JSLint doesn't like dangling _'s, but CouchDB uses these, so - // hide this behind variables. - var REV = "_rev", - ID = "_id", - DELETED = "_deleted"; - - describe("A couch document", function () { - it("includes an id", function () { - expect(new CouchDocument("testId", {})[ID]) - .toEqual("testId"); - }); - - it("includes a rev only when one is provided", function () { - expect(new CouchDocument("testId", {})[REV]) - .not.toBeDefined(); - expect(new CouchDocument("testId", {}, "testRev")[REV]) - .toEqual("testRev"); - }); - - it("includes the provided model", function () { - var model = { someKey: "some value" }; - expect(new CouchDocument("testId", model).model) - .toEqual(model); - }); - - it("marks documents as deleted only on request", function () { - expect(new CouchDocument("testId", {}, "testRev")[DELETED]) - .not.toBeDefined(); - expect(new CouchDocument("testId", {}, "testRev", true)[DELETED]) - .toBe(true); - }); - }); - } -); \ No newline at end of file diff --git a/platform/persistence/elastic/test/CouchIndicatorSpec.js b/platform/persistence/elastic/test/CouchIndicatorSpec.js deleted file mode 100644 index 1b8f5b521d..0000000000 --- a/platform/persistence/elastic/test/CouchIndicatorSpec.js +++ /dev/null @@ -1,111 +0,0 @@ -/*global define,Promise,describe,it,expect,beforeEach,waitsFor,jasmine*/ - -define( - ["../src/CouchIndicator"], - function (CouchIndicator) { - "use strict"; - - describe("The CouchDB status indicator", function () { - var mockHttp, - mockInterval, - testPath, - testInterval, - mockPromise, - indicator; - - beforeEach(function () { - mockHttp = jasmine.createSpyObj("$http", [ "get" ]); - mockInterval = jasmine.createSpy("$interval"); - mockPromise = jasmine.createSpyObj("promise", [ "then" ]); - testPath = "/test/path"; - testInterval = 12321; // Some number - - mockHttp.get.andReturn(mockPromise); - - indicator = new CouchIndicator( - mockHttp, - mockInterval, - testPath, - testInterval - ); - }); - - it("polls for changes", function () { - expect(mockInterval).toHaveBeenCalledWith( - jasmine.any(Function), - testInterval - ); - }); - - it("has a database icon", function () { - expect(indicator.getGlyph()).toEqual("D"); - }); - - it("consults the database at the configured path", function () { - expect(mockHttp.get).toHaveBeenCalledWith(testPath); - }); - - it("changes when the database connection is nominal", function () { - var initialText = indicator.getText(), - initialDescrption = indicator.getDescription(), - initialGlyphClass = indicator.getGlyphClass(); - - // Nominal just means getting back an objeect, without - // an error field. - mockPromise.then.mostRecentCall.args[0]({ data: {} }); - - // Verify that these values changed; - // don't test for specific text. - expect(indicator.getText()).not.toEqual(initialText); - expect(indicator.getGlyphClass()).not.toEqual(initialGlyphClass); - expect(indicator.getDescription()).not.toEqual(initialDescrption); - - // Do check for specific class - expect(indicator.getGlyphClass()).toEqual("ok"); - }); - - it("changes when the server reports an error", function () { - var initialText = indicator.getText(), - initialDescrption = indicator.getDescription(), - initialGlyphClass = indicator.getGlyphClass(); - - // Nominal just means getting back an objeect, with - // an error field. - mockPromise.then.mostRecentCall.args[0]( - { data: { error: "Uh oh." } } - ); - - // Verify that these values changed; - // don't test for specific text. - expect(indicator.getText()).not.toEqual(initialText); - expect(indicator.getGlyphClass()).not.toEqual(initialGlyphClass); - expect(indicator.getDescription()).not.toEqual(initialDescrption); - - // Do check for specific class - expect(indicator.getGlyphClass()).toEqual("caution"); - - }); - - it("changes when the server cannot be reached", function () { - var initialText = indicator.getText(), - initialDescrption = indicator.getDescription(), - initialGlyphClass = indicator.getGlyphClass(); - - // Nominal just means getting back an objeect, without - // an error field. - mockPromise.then.mostRecentCall.args[1]({ data: {} }); - - // Verify that these values changed; - // don't test for specific text. - expect(indicator.getText()).not.toEqual(initialText); - expect(indicator.getGlyphClass()).not.toEqual(initialGlyphClass); - expect(indicator.getDescription()).not.toEqual(initialDescrption); - - // Do check for specific class - expect(indicator.getGlyphClass()).toEqual("err"); - }); - - - }); - } -); \ No newline at end of file diff --git a/platform/persistence/elastic/test/CouchPersistenceProviderSpec.js b/platform/persistence/elastic/test/CouchPersistenceProviderSpec.js deleted file mode 100644 index 4002464fdd..0000000000 --- a/platform/persistence/elastic/test/CouchPersistenceProviderSpec.js +++ /dev/null @@ -1,171 +0,0 @@ -/*global define,Promise,describe,it,expect,beforeEach,waitsFor,jasmine*/ - -/** - * DomainObjectProviderSpec. Created by vwoeltje on 11/6/14. - */ -define( - ["../src/CouchPersistenceProvider"], - function (CouchPersistenceProvider) { - "use strict"; - - describe("The couch persistence provider", function () { - var mockHttp, - mockQ, - testSpace = "testSpace", - testPath = "/test/db", - capture, - provider; - - function mockPromise(value) { - return { - then: function (callback) { - return mockPromise(callback(value)); - } - }; - } - - beforeEach(function () { - mockHttp = jasmine.createSpy("$http"); - mockQ = jasmine.createSpyObj("$q", ["when"]); - - mockQ.when.andCallFake(mockPromise); - - // Capture promise results - capture = jasmine.createSpy("capture"); - - provider = new CouchPersistenceProvider( - mockHttp, - mockQ, - testSpace, - testPath - ); - }); - - it("reports available spaces", function () { - provider.listSpaces().then(capture); - expect(capture).toHaveBeenCalledWith([testSpace]); - }); - - // General pattern of tests below is to simulate CouchDB's - // response, verify that request looks like what CouchDB - // would expect, and finally verify that CouchPersistenceProvider's - // return values match what is expected. - it("lists all available documents", function () { - mockHttp.andReturn(mockPromise({ - data: { rows: [ { id: "a" }, { id: "b" }, { id: "c" } ] } - })); - provider.listObjects().then(capture); - expect(mockHttp).toHaveBeenCalledWith({ - url: "/test/db/_all_docs", // couch document listing - method: "GET" - }); - expect(capture).toHaveBeenCalledWith(["a", "b", "c"]); - }); - - it("allows object creation", function () { - var model = { someKey: "some value" }; - mockHttp.andReturn(mockPromise({ - data: { "_id": "abc", "_rev": "xyz", "ok": true } - })); - provider.createObject("testSpace", "abc", model).then(capture); - expect(mockHttp).toHaveBeenCalledWith({ - url: "/test/db/abc", - method: "PUT", - data: { - "_id": "abc", - metadata: jasmine.any(Object), - model: model - } - }); - expect(capture).toHaveBeenCalledWith(true); - }); - - it("allows object models to be read back", function () { - var model = { someKey: "some value" }; - mockHttp.andReturn(mockPromise({ - data: { "_id": "abc", "_rev": "xyz", "model": model } - })); - provider.readObject("testSpace", "abc").then(capture); - expect(mockHttp).toHaveBeenCalledWith({ - url: "/test/db/abc", - method: "GET" - }); - expect(capture).toHaveBeenCalledWith(model); - }); - - it("allows object update", function () { - var model = { someKey: "some value" }; - - // First do a read to populate rev tags... - mockHttp.andReturn(mockPromise({ - data: { "_id": "abc", "_rev": "xyz", "model": {} } - })); - provider.readObject("testSpace", "abc"); - - // Now perform an update - mockHttp.andReturn(mockPromise({ - data: { "_id": "abc", "_rev": "uvw", "ok": true } - })); - provider.updateObject("testSpace", "abc", model).then(capture); - expect(mockHttp).toHaveBeenCalledWith({ - url: "/test/db/abc", - method: "PUT", - data: { - "_id": "abc", - "_rev": "xyz", - metadata: jasmine.any(Object), - model: model - } - }); - expect(capture).toHaveBeenCalledWith(true); - }); - - it("allows object deletion", function () { - // First do a read to populate rev tags... - mockHttp.andReturn(mockPromise({ - data: { "_id": "abc", "_rev": "xyz", "model": {} } - })); - provider.readObject("testSpace", "abc"); - - // Now perform an update - mockHttp.andReturn(mockPromise({ - data: { "_id": "abc", "_rev": "uvw", "ok": true } - })); - provider.deleteObject("testSpace", "abc", {}).then(capture); - expect(mockHttp).toHaveBeenCalledWith({ - url: "/test/db/abc", - method: "PUT", - data: { - "_id": "abc", - "_rev": "xyz", - "_deleted": true, - metadata: jasmine.any(Object), - model: {} - } - }); - expect(capture).toHaveBeenCalledWith(true); - }); - - it("reports failure to create objects", function () { - var model = { someKey: "some value" }; - mockHttp.andReturn(mockPromise({ - data: { "_id": "abc", "_rev": "xyz", "ok": false } - })); - provider.createObject("testSpace", "abc", model).then(capture); - expect(capture).toHaveBeenCalledWith(false); - }); - - it("returns undefined when objects are not found", function () { - // Act like a 404 - mockHttp.andReturn({ - then: function (success, fail) { - return mockPromise(fail()); - } - }); - provider.readObject("testSpace", "abc").then(capture); - expect(capture).toHaveBeenCalledWith(undefined); - }); - - }); - } -); \ No newline at end of file diff --git a/platform/persistence/elastic/test/ElasticIndicatorSpec.js b/platform/persistence/elastic/test/ElasticIndicatorSpec.js new file mode 100644 index 0000000000..e551865ca0 --- /dev/null +++ b/platform/persistence/elastic/test/ElasticIndicatorSpec.js @@ -0,0 +1,20 @@ +/*global define,Promise,describe,it,expect,beforeEach,waitsFor,jasmine*/ + +define( + ["../src/ElasticIndicator"], + function (ElasticIndicator) { + "use strict"; + + describe("The ElasticSearch status indicator", function () { + var mockHttp, + mockInterval, + testPath, + testInterval, + mockPromise, + indicator; + + + + }); + } +); \ No newline at end of file diff --git a/platform/persistence/elastic/test/ElasticPersistenceProviderSpec.js b/platform/persistence/elastic/test/ElasticPersistenceProviderSpec.js new file mode 100644 index 0000000000..21ae14bf55 --- /dev/null +++ b/platform/persistence/elastic/test/ElasticPersistenceProviderSpec.js @@ -0,0 +1,27 @@ +/*global define,Promise,describe,it,expect,beforeEach,waitsFor,jasmine*/ + + +define( + ["../src/ElasticPersistenceProvider"], + function (ElasticPersistenceProvider) { + "use strict"; + + describe("The ElasticSearch persistence provider", function () { + var mockHttp, + mockQ, + testSpace = "testSpace", + testPath = "/test/db", + capture, + provider; + + function mockPromise(value) { + return (value || {}).then ? value : { + then: function (callback) { + return mockPromise(callback(value)); + } + }; + } + + }); + } +); \ No newline at end of file diff --git a/platform/persistence/queue/test/PersistenceFailureConstantsSpec.js b/platform/persistence/queue/test/PersistenceFailureConstantsSpec.js new file mode 100644 index 0000000000..63db344def --- /dev/null +++ b/platform/persistence/queue/test/PersistenceFailureConstantsSpec.js @@ -0,0 +1,13 @@ +/*global define,Promise,describe,it,expect,beforeEach,waitsFor,jasmine*/ + + +define( + ["../src/PersistenceFailureConstants"], + function (PersistenceFailureConstants) { + "use strict"; + + describe("Persistence failure constants", function () { + + }); + } +); \ No newline at end of file diff --git a/platform/persistence/queue/test/PersistenceFailureDialogSpec.js b/platform/persistence/queue/test/PersistenceFailureDialogSpec.js new file mode 100644 index 0000000000..0903832d1c --- /dev/null +++ b/platform/persistence/queue/test/PersistenceFailureDialogSpec.js @@ -0,0 +1,13 @@ +/*global define,Promise,describe,it,expect,beforeEach,waitsFor,jasmine*/ + + +define( + ["../src/PersistenceFailureDialog"], + function (PersistenceFailureDialog) { + "use strict"; + + describe("The persistence failure dialog", function () { + + }); + } +); \ No newline at end of file diff --git a/platform/persistence/queue/test/PersistenceFailureHandlerSpec.js b/platform/persistence/queue/test/PersistenceFailureHandlerSpec.js new file mode 100644 index 0000000000..42e0b23f92 --- /dev/null +++ b/platform/persistence/queue/test/PersistenceFailureHandlerSpec.js @@ -0,0 +1,13 @@ +/*global define,Promise,describe,it,expect,beforeEach,waitsFor,jasmine*/ + + +define( + ["../src/PersistenceFailureHandler"], + function (PersistenceFailureHandler) { + "use strict"; + + describe("The persistence failure handler", function () { + + }); + } +); \ No newline at end of file diff --git a/platform/persistence/queue/test/PersistenceQueueHandlerSpec.js b/platform/persistence/queue/test/PersistenceQueueHandlerSpec.js new file mode 100644 index 0000000000..a95631bde5 --- /dev/null +++ b/platform/persistence/queue/test/PersistenceQueueHandlerSpec.js @@ -0,0 +1,13 @@ +/*global define,Promise,describe,it,expect,beforeEach,waitsFor,jasmine*/ + + +define( + ["../src/PersistenceQueueHandler"], + function (PersistenceQueueHandler) { + "use strict"; + + describe("The persistence queue", function () { + + }); + } +); \ No newline at end of file diff --git a/platform/persistence/queue/test/PersistenceQueueImplSpec.js b/platform/persistence/queue/test/PersistenceQueueImplSpec.js new file mode 100644 index 0000000000..cf78221caa --- /dev/null +++ b/platform/persistence/queue/test/PersistenceQueueImplSpec.js @@ -0,0 +1,13 @@ +/*global define,Promise,describe,it,expect,beforeEach,waitsFor,jasmine*/ + + +define( + ["../src/PersistenceQueueImpl"], + function (PersistenceQueueImpl) { + "use strict"; + + describe("The implemented persistence queue", function () { + + }); + } +); \ No newline at end of file diff --git a/platform/persistence/queue/test/PersistenceQueueSpec.js b/platform/persistence/queue/test/PersistenceQueueSpec.js new file mode 100644 index 0000000000..315e0fd1aa --- /dev/null +++ b/platform/persistence/queue/test/PersistenceQueueSpec.js @@ -0,0 +1,13 @@ +/*global define,Promise,describe,it,expect,beforeEach,waitsFor,jasmine*/ + + +define( + ["../src/PersistenceQueue"], + function (PersistenceQueue) { + "use strict"; + + describe("The persistence queue", function () { + + }); + } +); \ No newline at end of file diff --git a/platform/persistence/queue/test/QueuingPersistenceCapabilityDecoratorSpec.js b/platform/persistence/queue/test/QueuingPersistenceCapabilityDecoratorSpec.js new file mode 100644 index 0000000000..2543e2818d --- /dev/null +++ b/platform/persistence/queue/test/QueuingPersistenceCapabilityDecoratorSpec.js @@ -0,0 +1,13 @@ +/*global define,Promise,describe,it,expect,beforeEach,waitsFor,jasmine*/ + + +define( + ["../src/QueuingPersistenceCapabilityDecorator"], + function (QueuingPersistenceCapabilityDecorator) { + "use strict"; + + describe("A queuing persistence capability decorator", function () { + + }); + } +); \ No newline at end of file diff --git a/platform/persistence/queue/test/QueuingPersistenceCapabilitySpec.js b/platform/persistence/queue/test/QueuingPersistenceCapabilitySpec.js new file mode 100644 index 0000000000..be19e5cf8a --- /dev/null +++ b/platform/persistence/queue/test/QueuingPersistenceCapabilitySpec.js @@ -0,0 +1,13 @@ +/*global define,Promise,describe,it,expect,beforeEach,waitsFor,jasmine*/ + + +define( + ["../src/QueuingPersistenceCapability"], + function (QueuingPersistenceCapability) { + "use strict"; + + describe("A queuing persistence capability", function () { + + }); + } +); \ No newline at end of file