AMBARI-22736 Filter of Config Versions should be case insensitive. (atkach)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/2b9a34b0 Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/2b9a34b0 Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/2b9a34b0 Branch: refs/heads/branch-feature-AMBARI-20859 Commit: 2b9a34b0fae681ed3d20459538f2c7711a314b51 Parents: cd5c1ca Author: Andrii Tkach <[email protected]> Authored: Fri Jan 5 18:26:14 2018 +0200 Committer: Andrii Tkach <[email protected]> Committed: Fri Jan 5 18:26:14 2018 +0200 ---------------------------------------------------------------------- ambari-web/app/assets/test/tests.js | 1 + .../configs/config_versions_dropdown_view.js | 2 +- .../config_versions_dropdown_view_test.js | 82 ++++++++++++++++++++ 3 files changed, 84 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/2b9a34b0/ambari-web/app/assets/test/tests.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/assets/test/tests.js b/ambari-web/app/assets/test/tests.js index 990c489..d20f531 100644 --- a/ambari-web/app/assets/test/tests.js +++ b/ambari-web/app/assets/test/tests.js @@ -373,6 +373,7 @@ var files = [ 'test/views/main/admin/highAvailability/progress_view_test', 'test/views/common/host_progress_popup_body_view_test', 'test/views/common/configs/config_versions_control_view_test', + 'test/views/common/configs/config_versions_dropdown_view_test', 'test/views/common/configs/overriddenProperty_view_test', 'test/views/common/configs/service_config_view_test', 'test/views/common/configs/service_config_container_view_test', http://git-wip-us.apache.org/repos/asf/ambari/blob/2b9a34b0/ambari-web/app/views/common/configs/config_versions_dropdown_view.js ---------------------------------------------------------------------- diff --git a/ambari-web/app/views/common/configs/config_versions_dropdown_view.js b/ambari-web/app/views/common/configs/config_versions_dropdown_view.js index fc9cb02..917b52d 100644 --- a/ambari-web/app/views/common/configs/config_versions_dropdown_view.js +++ b/ambari-web/app/views/common/configs/config_versions_dropdown_view.js @@ -57,7 +57,7 @@ App.ConfigVersionsDropdownView = Em.View.extend({ return this.get('serviceVersions').filter((serviceVersion) => { if (!this.get('filterValue').trim()) return true; const searchString = Em.I18n.t('common.version') + ' ' + serviceVersion.get('version') + ' ' + serviceVersion.get('notes'); - return searchString.indexOf(this.get('filterValue').trim()) !== -1; + return searchString.toLowerCase().indexOf(this.get('filterValue').trim().toLowerCase()) !== -1; }); }.property('serviceVersions.length', 'filterValue') }); http://git-wip-us.apache.org/repos/asf/ambari/blob/2b9a34b0/ambari-web/test/views/common/configs/config_versions_dropdown_view_test.js ---------------------------------------------------------------------- diff --git a/ambari-web/test/views/common/configs/config_versions_dropdown_view_test.js b/ambari-web/test/views/common/configs/config_versions_dropdown_view_test.js new file mode 100644 index 0000000..59783c8 --- /dev/null +++ b/ambari-web/test/views/common/configs/config_versions_dropdown_view_test.js @@ -0,0 +1,82 @@ +/** + * 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_versions_dropdown_view'); + +describe('App.ConfigVersionsDropdownView', function () { + var view; + + beforeEach(function() { + view = App.ConfigVersionsDropdownView.create({ + parentView: Em.Object.create({ + compare: sinon.spy(), + switchPrimaryInCompare: sinon.spy() + }) + }); + }); + + describe('#mainClickAction', function() { + it('compare should be called', function() { + view.set('isSecondary', true); + view.mainClickAction({}); + expect(view.get('parentView').compare.calledWith({})).to.be.true; + }); + + it('switchPrimaryInCompare should be called', function() { + view.set('isSecondary', false); + view.mainClickAction({}); + expect(view.get('parentView').switchPrimaryInCompare.calledWith({})).to.be.true; + }); + }); + + describe('#filteredServiceVersions', function() { + beforeEach(function() { + view.set('serviceVersions', [ + Em.Object.create({ + version: 1, + notes: 'lower case notes' + }), + Em.Object.create({ + version: 2, + notes: 'UPPER CASE NOTES' + }) + ]); + }); + + it('should show all versions when filter empty', function() { + view.set('filterValue', ''); + expect(view.get('filteredServiceVersions').length).to.be.equal(2); + }); + + it('should show version 1 when filter "Version 1"', function() { + view.set('filterValue', 'Version 1'); + expect(view.get('filteredServiceVersions').mapProperty('version')).to.be.eql([1]); + }); + + it('should show version 2 when filter "upper"', function() { + view.set('filterValue', 'upper'); + expect(view.get('filteredServiceVersions').mapProperty('version')).to.be.eql([2]); + }); + + it('should show version 1 when filter "LOWER"', function() { + view.set('filterValue', 'LOWER'); + expect(view.get('filteredServiceVersions').mapProperty('version')).to.be.eql([1]); + }); + }); +});
