123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128 |
- /**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
- var App = require('app');
- var model;
- function getModel() {
- return App.StackConfigProperty.createRecord();
- }
- describe('App.StackConfigProperty', function () {
- beforeEach(function () {
- model = getModel();
- });
- describe("#Attributes", function() {
- var testCases = [
- {
- propertyKey: 'type',
- propertyName: 'displayType',
- value: 't1',
- expectedValue: 't1',
- defaultValue: 'string'
- },
- {
- propertyKey: 'overridable',
- propertyName: 'isOverridable',
- value: false,
- expectedValue: false,
- defaultValue: true
- },
- {
- propertyKey: 'visible',
- propertyName: 'isVisible',
- value: false,
- expectedValue: false,
- defaultValue: true
- },
- {
- propertyKey: 'empty_value_valid',
- propertyName: 'isRequired',
- value: true,
- expectedValue: false,
- defaultValue: true
- },
- {
- propertyKey: 'editable_only_at_install',
- propertyName: 'isReconfigurable',
- value: true,
- expectedValue: false,
- defaultValue: true
- },
- {
- propertyKey: 'show_property_name',
- propertyName: 'showLabel',
- value: false,
- expectedValue: false,
- defaultValue: true
- },
- {
- propertyKey: 'read_only',
- propertyName: 'isEditable',
- value: false,
- expectedValue: false,
- defaultValue: true
- },
- {
- propertyKey: 'unit',
- propertyName: 'unit',
- value: 'mb',
- expectedValue: 'mb',
- defaultValue: ''
- }
- ];
- testCases.forEach(function(test) {
- it("valueAttributes is null, " + test.propertyName + " should be " + test.defaultValue, function() {
- model.set('valueAttributes', null);
- expect(model.get(test.propertyName)).to.equal(test.defaultValue);
- });
- it("valueAttributes is object, " + test.propertyName + " should be " + test.expectedValue, function() {
- var valueAttributes = {};
- valueAttributes[test.propertyKey] = test.value;
- model.set('valueAttributes', valueAttributes);
- expect(model.get(test.propertyName)).to.equal(test.expectedValue);
- });
- });
- });
- describe("#getAttribute()", function() {
- it("valueAttributes is null", function() {
- model.set('valueAttributes', null);
- expect(model.getAttribute('attr1', 'defVal')).to.equal('defVal');
- });
- it("valueAttributes is empty object", function() {
- model.set('valueAttributes', {});
- expect(model.getAttribute('attr1', 'defVal')).to.equal('defVal');
- });
- it("valueAttributes is correct object", function() {
- model.set('valueAttributes', {attr1: 'val'});
- expect(model.getAttribute('attr1', 'defVal')).to.equal('val');
- });
- });
- });
|