[Context] Add test, tweak logic

Add test to verify that warnings are not shown based on
composition/location inconsistencies when editing.
This commit is contained in:
Victor Woeltjen 2016-07-14 11:16:07 -07:00
parent 1c2378b3b4
commit 1fb18c7919
2 changed files with 16 additions and 1 deletions

View File

@ -68,7 +68,7 @@ define(
// Don't validate while editing; consistency is not
// necessarily expected due to unsaved changes.
var editor = domainObject.getCapability('editor');
if (editor && !editor.inEditContext()) {
if (!editor || !editor.inEditContext()) {
validate(domainObject.getId(), parentObject);
}

View File

@ -36,6 +36,7 @@ define(
var mockLog,
mockDomainObject,
mockParentObject,
mockEditor,
testParentModel,
contextualize;
@ -52,11 +53,19 @@ define(
mockParentObject =
jasmine.createSpyObj('parentObject', DOMAIN_OBJECT_METHODS);
mockEditor =
jasmine.createSpyObj('editor', ['inEditContext']);
mockDomainObject.getId.andReturn("abc");
mockDomainObject.getModel.andReturn({});
mockParentObject.getId.andReturn("parent");
mockParentObject.getModel.andReturn(testParentModel);
mockEditor.inEditContext.andReturn(false);
mockDomainObject.getCapability.andCallFake(function (c) {
return c === 'editor' && mockEditor;
});
contextualize = new Contextualize(mockLog);
});
@ -82,6 +91,12 @@ define(
expect(mockLog.warn).toHaveBeenCalled();
});
it("does not issue warnings for objects being edited", function () {
mockEditor.inEditContext.andReturn(true);
testParentModel.composition = ["xyz"];
contextualize(mockDomainObject, mockParentObject);
expect(mockLog.warn).not.toHaveBeenCalled();
});
});
}