Add baseline specs (not yet matched up to current implementation) for Edit Properties action. WTD-593.
68 lines
2.3 KiB
JavaScript
68 lines
2.3 KiB
JavaScript
/*global define,describe,it,xit,expect,beforeEach*/
|
|
|
|
define(
|
|
['../../src/actions/PropertiesAction'],
|
|
function (PropertiesAction) {
|
|
"use strict";
|
|
|
|
describe("Properties action", function () {
|
|
var captured, model, object, context, input, dialogService, action;
|
|
|
|
function capture(k) { return function (v) { captured[k] = v; }; }
|
|
|
|
beforeEach(function () {
|
|
var capabilities = {
|
|
type: { getProperties: function () { return []; } },
|
|
persistence: {
|
|
persist: function () {
|
|
captured.persisted = true;
|
|
return promises.as(true);
|
|
}
|
|
},
|
|
mutation: {
|
|
mutate: function (c) {
|
|
captured.mutated = true;
|
|
return promises.as(c(model));
|
|
}
|
|
}
|
|
};
|
|
model = {};
|
|
input = {};
|
|
object = {
|
|
getId: function () { return 'test-id'; },
|
|
getCapability: function (k) {
|
|
return promises.as(capabilities[k]);
|
|
},
|
|
getModel: function () { return model; }
|
|
};
|
|
context = { someKey: "some value "};
|
|
dialogService = {
|
|
getUserInput: function () {
|
|
return promises.as(input);
|
|
}
|
|
};
|
|
captured = {};
|
|
action = new PropertiesAction(object, context, dialogService);
|
|
});
|
|
|
|
|
|
it("provides action metadata", function () {
|
|
var metadata = action.metadata();
|
|
expect(metadata.context).toEqual(context);
|
|
expect(metadata.category).toEqual('contextual');
|
|
});
|
|
|
|
it("persists when an action is performed", function () {
|
|
action.perform();
|
|
expect(captured.persisted).toBeTruthy();
|
|
});
|
|
|
|
it("does not persist any changes upon cancel", function () {
|
|
input = undefined;
|
|
action.perform();
|
|
expect(captured.persisted).toBeFalsy();
|
|
});
|
|
});
|
|
}
|
|
);
|