123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693 |
- /**
- * 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');
- require('views/common/configs/config_history_flow');
- describe.skip('App.ConfigHistoryFlowView', function () {
- var view = App.ConfigHistoryFlowView.create({
- controller: Em.Object.create({
- loadSelectedVersion: Em.K,
- onConfigGroupChange: Em.K,
- loadStep: Em.K
- }),
- displayedServiceVersion: Em.Object.create(),
- serviceVersions: []
- });
- describe('#isSaveDisabled', function () {
- var testCases = [
- {
- params: {
- isSubmitDisabled: false,
- versionLoaded: true
- },
- result: false
- },
- {
- params: {
- isSubmitDisabled: true,
- versionLoaded: true
- },
- result: true
- },
- {
- params: {
- isSubmitDisabled: false,
- versionLoaded: false
- },
- result: true
- },
- {
- params: {
- isSubmitDisabled: true,
- versionLoaded: false
- },
- result: true
- }
- ];
- testCases.forEach(function (test) {
- it('isSubmitDisabled - ' + test.params.isSubmitDisabled + ', versionLoaded - ' + test.params.versionLoaded, function () {
- view.set('controller.isSubmitDisabled', test.params.isSubmitDisabled);
- view.set('controller.versionLoaded', test.params.versionLoaded);
- expect(view.get('isSaveDisabled')).to.equal(test.result);
- });
- });
- });
- describe('#showMoreLink', function () {
- var testCases = [
- {
- params: {
- count: 0
- },
- result: false
- },
- {
- params: {
- count: 100
- },
- result: false
- },
- {
- params: {
- count: 101
- },
- result: true
- }
- ];
- testCases.forEach(function (test) {
- it('notes length - ' + test.params.count, function () {
- view.set('displayedServiceVersion', Em.Object.create({
- notes: new Array(test.params.count)
- }));
- expect(view.get('showMoreLink')).to.equal(test.result);
- });
- });
- });
- describe('#shortNotes', function () {
- it('notes length more than 100', function () {
- view.set('displayedServiceVersion', Em.Object.create({
- notes: '12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123'
- }));
- expect(view.get('shortNotes')).to.equal('1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890...');
- });
- it('notes length less than 100', function () {
- view.set('displayedServiceVersion', Em.Object.create({
- notes: 'notes'
- }));
- expect(view.get('shortNotes')).to.equal('notes');
- });
- });
- describe('#visibleServiceVersion', function () {
- var testCases = [
- {
- params: {
- startIndex: 0,
- serviceVersions: []
- },
- result: []
- },
- {
- params: {
- startIndex: 0,
- serviceVersions: [1, 2, 3]
- },
- result: [1, 2, 3]
- },
- {
- params: {
- startIndex: 0,
- serviceVersions: [1, 2, 3, 4, 5, 6, 7]
- },
- result: [1, 2, 3, 4, 5]
- },
- {
- params: {
- startIndex: 3,
- serviceVersions: [1, 2, 3, 4, 5, 6, 7]
- },
- result: [4, 5, 6, 7]
- }
- ];
- testCases.forEach(function (test) {
- it('start index - ' + test.params.startIndex + ', serviceVersions length - ' + test.params.serviceVersions.length, function () {
- view.set('serviceVersions', test.params.serviceVersions);
- view.set('startIndex', test.params.startIndex);
- view.propertyDidChange('visibleServiceVersion');
- expect(view.get('visibleServiceVersion')).to.eql(test.result);
- });
- });
- });
- describe('#versionActionsDisabled', function () {
- it('versionLoaded is false', function () {
- view.set('controller.versionLoaded', false);
- expect(view.get('versionActionsDisabled')).to.be.true;
- });
- it('versionLoaded is true', function () {
- view.set('controller.versionLoaded', true);
- expect(view.get('versionActionsDisabled')).to.be.false;
- });
- });
- describe('#dropDownList', function () {
- var displayedServiceVersion = {version: 1};
- it('Only one service version is present', function () {
- view.set('serviceVersions', [displayedServiceVersion]);
- view.set('displayedServiceVersion', displayedServiceVersion);
- view.propertyDidChange('dropDownList');
- expect(view.get('dropDownList')).to.be.empty;
- });
- it('Three service version', function () {
- view.set('serviceVersions', [displayedServiceVersion, {version: 2}, {version: 3}]);
- view.set('displayedServiceVersion', displayedServiceVersion);
- view.propertyDidChange('dropDownList');
- expect(view.get('dropDownList')).to.eql([{version: 3}, {version: 2}]);
- });
- it('Seven service version, showFullList is false', function () {
- view.set('serviceVersions', [
- displayedServiceVersion,
- {version: 2},
- {version: 3},
- {version: 4},
- {version: 5},
- {version: 6},
- {version: 7},
- {version: 8}
- ]);
- view.set('displayedServiceVersion', displayedServiceVersion);
- view.set('showFullList', false);
- view.propertyDidChange('dropDownList');
- expect(view.get('dropDownList')).to.eql([
- {version: 8},
- {version: 7},
- {version: 6},
- {version: 5},
- {version: 4},
- {version: 3}
- ]);
- });
- it('Seven service version, showFullList is true', function () {
- view.set('serviceVersions', [
- displayedServiceVersion,
- {version: 2},
- {version: 3},
- {version: 4},
- {version: 5},
- {version: 6},
- {version: 7},
- {version: 8}
- ]);
- view.set('displayedServiceVersion', displayedServiceVersion);
- view.set('showFullList', true);
- view.propertyDidChange('dropDownList');
- expect(view.get('dropDownList')).to.eql([
- {version: 8},
- {version: 7},
- {version: 6},
- {version: 5},
- {version: 4},
- {version: 3},
- {version: 2}
- ]);
- });
- });
- describe('#openFullList()', function () {
- it('', function () {
- var event = {
- stopPropagation: Em.K
- };
- sinon.spy(event, 'stopPropagation');
- view.openFullList(event);
- expect(event.stopPropagation.calledOnce).to.be.true;
- expect(view.get('showFullList')).to.be.true;
- event.stopPropagation.restore();
- });
- });
- describe('#hideFullList()', function () {
- var testCases = [
- {
- params: {
- serviceVersions: new Array(0)
- },
- result: true
- },
- {
- params: {
- serviceVersions: new Array(6)
- },
- result: true
- },
- {
- params: {
- serviceVersions: new Array(7)
- },
- result: false
- }
- ];
- testCases.forEach(function (test) {
- it('notes length - ' + test.params.count, function () {
- view.set('serviceVersions', test.params.serviceVersions);
- view.hideFullList();
- expect(view.get('showFullList')).to.equal(test.result);
- });
- });
- });
- describe('#didInsertElement()', function () {
- it('', function () {
- sinon.stub(App, 'tooltip');
- view.didInsertElement();
- expect(App.tooltip.calledOnce).to.be.true;
- App.tooltip.restore();
- });
- });
- describe('#willInsertElement()', function () {
- beforeEach(function () {
- sinon.stub(view, 'adjustFlowView', Em.K);
- sinon.stub(view, 'keepInfoBarAtTop', Em.K);
- });
- afterEach(function () {
- view.adjustFlowView.restore();
- view.keepInfoBarAtTop.restore();
- });
- it('Only current version is present', function () {
- view.set('serviceVersions', [Em.Object.create({isCurrent: true})]);
- view.willInsertElement();
- expect(view.adjustFlowView.calledOnce).to.be.true;
- expect(view.keepInfoBarAtTop.calledOnce).to.be.true;
- expect(view.get('startIndex')).to.equal(0);
- expect(view.get('serviceVersions').mapProperty('isDisplayed')).to.eql([true]);
- });
- it('Five service versions are present', function () {
- view.set('serviceVersions', [
- Em.Object.create({isCurrent: true}),
- Em.Object.create(),
- Em.Object.create(),
- Em.Object.create(),
- Em.Object.create()
- ]);
- view.willInsertElement();
- expect(view.adjustFlowView.calledOnce).to.be.true;
- expect(view.keepInfoBarAtTop.calledOnce).to.be.true;
- expect(view.get('startIndex')).to.equal(0);
- expect(view.get('serviceVersions').mapProperty('isDisplayed')).to.eql([true, false, false, false, false]);
- });
- it('Six service versions are present', function () {
- view.set('serviceVersions', [
- Em.Object.create({isCurrent: true}),
- Em.Object.create(),
- Em.Object.create(),
- Em.Object.create(),
- Em.Object.create(),
- Em.Object.create()
- ]);
- view.willInsertElement();
- expect(view.adjustFlowView.calledOnce).to.be.true;
- expect(view.keepInfoBarAtTop.calledOnce).to.be.true;
- expect(view.get('startIndex')).to.equal(1);
- expect(view.get('serviceVersions').mapProperty('isDisplayed')).to.eql([true, false, false, false, false, false]);
- });
- });
- describe('#setInfoBarPosition()', function () {
- var testCases = [
- {
- params: {
- scrollTop: 0,
- defaultTop: 0
- },
- result: 'auto'
- },
- {
- params: {
- scrollTop: 1,
- defaultTop: 11
- },
- result: '10px'
- },
- {
- params: {
- scrollTop: 1,
- defaultTop: 0
- },
- result: '10px'
- }
- ];
- var infoBar = {
- css: Em.K
- };
- testCases.forEach(function (test) {
- it('scroll top - ' + test.params.scrollTop + ', default top - ' + test.params.defaultTop, function () {
- sinon.spy(infoBar, 'css');
- view.setInfoBarPosition(infoBar, test.params.defaultTop, test.params.scrollTop);
- expect(infoBar.css.calledWith('top', test.result)).to.be.true;
- infoBar.css.restore();
- });
- });
- });
- describe('#adjustFlowView()', function () {
- var testCases = [
- {
- params: {
- serviceVersions: [Em.Object.create()],
- startIndex: 0
- },
- result: {
- first: [true],
- showLeftArrow: false,
- showRightArrow: false
- }
- },
- {
- params: {
- serviceVersions: [
- Em.Object.create(),
- Em.Object.create(),
- Em.Object.create(),
- Em.Object.create(),
- Em.Object.create()
- ],
- startIndex: 0
- },
- result: {
- first: [true, false, false, false, false],
- showLeftArrow: false,
- showRightArrow: false
- }
- },
- {
- params: {
- serviceVersions: [
- Em.Object.create(),
- Em.Object.create(),
- Em.Object.create(),
- Em.Object.create(),
- Em.Object.create(),
- Em.Object.create()
- ],
- startIndex: 0
- },
- result: {
- first: [true, false, false, false, false, false],
- showLeftArrow: false,
- showRightArrow: true
- }
- },
- {
- params: {
- serviceVersions: [
- Em.Object.create(),
- Em.Object.create(),
- Em.Object.create(),
- Em.Object.create(),
- Em.Object.create(),
- Em.Object.create()
- ],
- startIndex: 1
- },
- result: {
- first: [false, true, false, false, false, false],
- showLeftArrow: true,
- showRightArrow: false
- }
- },
- {
- params: {
- serviceVersions: [
- Em.Object.create(),
- Em.Object.create(),
- Em.Object.create(),
- Em.Object.create(),
- Em.Object.create(),
- Em.Object.create(),
- Em.Object.create()
- ],
- startIndex: 1
- },
- result: {
- first: [false, true, false, false, false, false, false],
- showLeftArrow: true,
- showRightArrow: true
- }
- }
- ];
- testCases.forEach(function (test) {
- it('start index - ' + test.params.startIndex + ', serviceVersions length - ' + test.params.serviceVersions.length, function () {
- view.set('startIndex', test.params.startIndex);
- view.set('serviceVersions', test.params.serviceVersions);
- view.adjustFlowView();
- expect(view.get('serviceVersions').mapProperty('first')).to.eql(test.result.first);
- expect(view.get('showLeftArrow')).to.eql(test.result.showLeftArrow);
- expect(view.get('showRightArrow')).to.eql(test.result.showRightArrow);
- });
- });
- });
- describe('#switchVersion()', function () {
- var event = {
- context: Em.Object.create({
- version: 2
- })
- };
- beforeEach(function(){
- sinon.stub(view, 'shiftFlowOnSwitch', Em.K);
- sinon.spy(view.get('controller'), 'loadSelectedVersion');
- });
- afterEach(function(){
- view.shiftFlowOnSwitch.restore();
- view.get('controller').loadSelectedVersion.restore();
- });
- it('Only one service version is present', function () {
- view.set('serviceVersions', [Em.Object.create({version: 2})]);
- view.switchVersion(event);
- expect(view.get('serviceVersions').mapProperty('isDisplayed')).to.eql([true]);
- expect(view.get('controller').loadSelectedVersion.calledWith(2)).to.be.true;
- expect(view.shiftFlowOnSwitch.calledWith(0)).to.be.true;
- });
- it('Two service versions are present', function () {
- view.set('serviceVersions', [
- Em.Object.create({version: 1}),
- Em.Object.create({version: 2})
- ]);
- view.switchVersion(event);
- expect(view.get('serviceVersions').mapProperty('isDisplayed')).to.eql([false, true]);
- expect(view.get('controller').loadSelectedVersion.calledWith(2)).to.be.true;
- expect(view.shiftFlowOnSwitch.calledWith(1)).to.be.true;
- });
- });
- describe('#compare()', function () {
- it('should set compareServiceVersion', function () {
- sinon.spy(view.get('controller'), 'onConfigGroupChange');
- view.compare({context: Em.Object.create({version: 1})});
- expect(view.get('controller.compareServiceVersion')).to.eql(Em.Object.create({version: 1}));
- expect(view.get('controller').onConfigGroupChange.calledOnce).to.be.true;
- view.get('controller').onConfigGroupChange.restore();
- });
- });
- describe('#revert()', function () {
- beforeEach(function () {
- sinon.stub(App.ModalPopup, 'show', function (options) {
- options.onPrimary.call(Em.Object.create({
- serviceConfigNote: 'note',
- hide: Em.K
- }));
- });
- sinon.stub(view, 'sendRevertCall', Em.K);
- });
- afterEach(function () {
- App.ModalPopup.show.restore();
- view.sendRevertCall.restore();
- });
- it('context passed', function () {
- view.revert({context: Em.Object.create({
- version: 1,
- serviceName: 'S1'
- })});
- expect(App.ModalPopup.show.calledOnce).to.be.true;
- expect(view.sendRevertCall.calledWith(Em.Object.create({
- version: 1,
- serviceName: 'S1',
- serviceConfigNote: 'note'
- }))).to.be.true;
- });
- it('context is not passed', function () {
- view.set('displayedServiceVersion', Em.Object.create({
- version: 1,
- serviceName: 'S1'
- }));
- view.revert({});
- expect(App.ModalPopup.show.calledOnce).to.be.true;
- expect(view.sendRevertCall.calledWith(Em.Object.create({
- version: 1,
- serviceName: 'S1',
- serviceConfigNote: 'note',
- notes: ''
- }))).to.be.true;
- });
- });
- describe('#sendRevertCall()', function () {
- it('', function () {
- sinon.stub(App.ajax, 'send', Em.K);
- view.sendRevertCall(Em.Object.create());
- expect(App.ajax.send.calledOnce).to.be.true;
- App.ajax.send.restore();
- });
- });
- describe('#sendRevertCallSuccess()', function () {
- it('', function () {
- sinon.spy(view.get('controller'), 'loadStep');
- view.sendRevertCallSuccess();
- expect(view.get('controller').loadStep.calledOnce).to.be.true;
- view.get('controller').loadStep.restore();
- });
- });
- describe('#save()', function () {
- it('', function () {
- sinon.stub(App.ModalPopup, 'show', Em.K);
- view.save();
- expect(App.ModalPopup.show.calledOnce).to.be.true;
- App.ModalPopup.show.restore();
- });
- });
- describe('#shiftBack()', function () {
- it('', function () {
- sinon.stub(view, 'decrementProperty', Em.K);
- sinon.stub(view, 'adjustFlowView', Em.K);
- view.shiftBack();
- expect(view.decrementProperty.calledWith('startIndex')).to.be.true;
- expect(view.adjustFlowView.calledOnce).to.be.true;
- view.adjustFlowView.restore();
- view.decrementProperty.restore();
- });
- });
- describe('#shiftForward()', function () {
- it('', function () {
- sinon.stub(view, 'incrementProperty', Em.K);
- sinon.stub(view, 'adjustFlowView', Em.K);
- view.shiftForward();
- expect(view.incrementProperty.calledWith('startIndex')).to.be.true;
- expect(view.adjustFlowView.calledOnce).to.be.true;
- view.adjustFlowView.restore();
- view.incrementProperty.restore();
- });
- });
- describe('#adjustFlowView()', function () {
- var testCases = [
- {
- params: {
- serviceVersions: [],
- startIndex: 0,
- versionIndex: 1
- },
- result: {
- startIndex: 0,
- adjustFlowViewCall: false
- }
- },
- {
- params: {
- serviceVersions: new Array(6),
- startIndex: 7,
- versionIndex: 6
- },
- result: {
- startIndex: 1,
- adjustFlowViewCall: true
- }
- },
- {
- params: {
- serviceVersions: new Array(12),
- startIndex: 7,
- versionIndex: 6
- },
- result: {
- startIndex: 6,
- adjustFlowViewCall: true
- }
- },
- {
- params: {
- serviceVersions: new Array(12),
- startIndex: 0,
- versionIndex: 6
- },
- result: {
- startIndex: 6,
- adjustFlowViewCall: true
- }
- },
- {
- params: {
- serviceVersions: new Array(6),
- startIndex: 0,
- versionIndex: 6
- },
- result: {
- startIndex: 1,
- adjustFlowViewCall: true
- }
- }
- ];
- testCases.forEach(function (test) {
- it('start index - ' + test.params.startIndex + ', serviceVersions length - ' + test.params.serviceVersions.length + ', versionIndex - ' + test.params.versionIndex, function () {
- sinon.stub(view, 'adjustFlowView', Em.K);
- view.set('serviceVersions', test.params.serviceVersions);
- view.set('startIndex', test.params.startIndex);
- view.shiftFlowOnSwitch(test.params.versionIndex);
- expect(view.get('startIndex')).to.eql(test.result.startIndex);
- expect(view.adjustFlowView.calledOnce).to.eql(test.result.adjustFlowViewCall);
- view.adjustFlowView.restore();
- });
- });
- });
- });
|