Merge pull request #1083 from nasa/contextualize-624

[Context] Remove excessive warnings
This commit is contained in:
Andrew Henry 2016-07-15 11:05:52 -07:00 committed by GitHub
commit c5041db1d1
2 changed files with 22 additions and 1 deletions

View File

@ -65,7 +65,13 @@ define(
* which should appear as the contextual parent
*/
return function (domainObject, parentObject) {
validate(domainObject.getId(), parentObject);
// Don't validate while editing; consistency is not
// necessarily expected due to unsaved changes.
var editor = domainObject.getCapability('editor');
if (!editor || !editor.inEditContext()) {
validate(domainObject.getId(), parentObject);
}
return new ContextualDomainObject(domainObject, 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();
});
});
}