blob: 96a1832f0dde9663027d8b99e0bcd2821c8a53e8 [file] [log] [blame]
/**
* 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 LZString = require('utils/lz-string');
require('models/cluster_states');
var status = App.clusterStatus,
notInstalledStates = ['CLUSTER_NOT_CREATED_1', 'CLUSTER_DEPLOY_PREP_2', 'CLUSTER_INSTALLING_3', 'SERVICE_STARTING_3'],
values = {
clusterName: 'name',
clusterState: 'STACK_UPGRADING',
wizardControllerName: 'wizardStep0Controller',
localdb: {}
},
response = {
clusterState: 'DEFAULT',
clusterName: 'cluster'
},
response2 = {
clusterState: 'DEFAULT2',
clusterName: 'cluster2'
},
newValue = {
clusterName: 'name',
clusterState: 'STACK_UPGRADING',
wizardControllerName: 'wizardStep0Controller'
};
var compressedResponse = LZString.compressToBase64(JSON.stringify(response2));
describe('App.clusterStatus', function () {
App.TestAliases.testAsComputedNotExistsIn(status, 'isInstalled', 'clusterState', notInstalledStates);
describe('#value', function () {
it('should be set from properties', function () {
Em.keys(values).forEach(function (key) {
status.set(key, values[key]);
});
expect(status.get('value')).to.eql(values);
});
});
describe('#getUserPrefSuccessCallback', function () {
describe('response', function () {
beforeEach(function () {
status.getUserPrefSuccessCallback(response);
});
Em.keys(response).forEach(function (key) {
it(key, function () {
expect(status.get(key)).to.equal(response[key]);
});
});
});
describe('compressedResponse', function () {
beforeEach(function () {
status.getUserPrefSuccessCallback(compressedResponse);
});
Em.keys(response2).forEach(function (key) {
it(key, function () {
expect(status.get(key)).to.equal(response2[key]);
});
});
});
});
describe('#setClusterStatus', function () {
beforeEach(function() {
sinon.stub(status, 'postUserPref', function() {
return $.ajax();
});
});
afterEach(function () {
status.postUserPref.restore();
});
it('should set cluster status in non-test mode', function () {
var clusterStatus = status.setClusterStatus(newValue);
expect(clusterStatus).to.eql(newValue);
});
});
});