updateModelProperty: function(e) { var $targetEl = $(e.target), valueObj = {}, attr = $targetEl.attr("name"), value = "checkbox" === $targetEl.attr("type") ? $targetEl.is(':checked') : $.trim($targetEl.val()); valueObj[attr] = value; this.model.set(valueObj); if (!this.isEditMode) { if (attr === "name") { var generatedId = ResourceModel.generateResourceName(this.model.get("label")); if (value !== generatedId) { this._idUpdatedManually = true; } } else if (attr === "label" && !this._idUpdatedManually) { var newId = ResourceModel.generateResourceName(value); this.model.set("name", newId); this.$("input[name='name']").val(newId); } } this.model.validate(valueObj); },
it("should have 'generateResourceName' static method", function(){ expect(typeof ResourceModel.generateResourceName).toBe("function"); expect(ResourceModel.generateResourceName("test")).toBe("test"); expect(ResourceModel.generateResourceName("???")).toBe("___"); });