Repository: ambari Updated Branches: refs/heads/trunk 17f7b7127 -> 1901b395c
http://git-wip-us.apache.org/repos/asf/ambari/blob/1901b395/ambari-web/test/views/main/admin/highAvailability/nameNode/step6_view_test.js ---------------------------------------------------------------------- diff --git a/ambari-web/test/views/main/admin/highAvailability/nameNode/step6_view_test.js b/ambari-web/test/views/main/admin/highAvailability/nameNode/step6_view_test.js index e6c456c..88898db 100644 --- a/ambari-web/test/views/main/admin/highAvailability/nameNode/step6_view_test.js +++ b/ambari-web/test/views/main/admin/highAvailability/nameNode/step6_view_test.js @@ -42,7 +42,7 @@ describe('App.HighAvailabilityWizardStep6View', function () { }); describe("#step6BodyText", function() { - it("", function() { + it("step6BodyText is formatted with dependent data", function() { view.set('controller.content.masterComponentHosts', [{ component: 'NAMENODE', isInstalled: true, http://git-wip-us.apache.org/repos/asf/ambari/blob/1901b395/ambari-web/test/views/main/admin/highAvailability/nameNode/step8_view_test.js ---------------------------------------------------------------------- diff --git a/ambari-web/test/views/main/admin/highAvailability/nameNode/step8_view_test.js b/ambari-web/test/views/main/admin/highAvailability/nameNode/step8_view_test.js index 510ad7c..df9598b 100644 --- a/ambari-web/test/views/main/admin/highAvailability/nameNode/step8_view_test.js +++ b/ambari-web/test/views/main/admin/highAvailability/nameNode/step8_view_test.js @@ -29,7 +29,7 @@ describe('App.HighAvailabilityWizardStep8View', function () { }); describe("#step8BodyText", function() { - it("", function() { + it("step8BodyText is formatted with dependent data", function() { view.set('controller.content.masterComponentHosts', [ { component: 'NAMENODE', http://git-wip-us.apache.org/repos/asf/ambari/blob/1901b395/ambari-web/test/views/main/admin/highAvailability/progress_view_test.js ---------------------------------------------------------------------- diff --git a/ambari-web/test/views/main/admin/highAvailability/progress_view_test.js b/ambari-web/test/views/main/admin/highAvailability/progress_view_test.js index 2da16d9..e68c2f1 100644 --- a/ambari-web/test/views/main/admin/highAvailability/progress_view_test.js +++ b/ambari-web/test/views/main/admin/highAvailability/progress_view_test.js @@ -36,7 +36,7 @@ describe('App.HighAvailabilityProgressPageView', function () { afterEach(function () { view.get('controller').loadStep.restore(); }); - it("", function () { + it("loadStep is called once", function () { view.didInsertElement(); expect(view.get('controller').loadStep.calledOnce).to.be.true; }); @@ -119,7 +119,7 @@ describe('App.HighAvailabilityProgressPageView', function () { afterEach(function () { taskView.onStatus.restore(); }); - it("", function () { + it("onStatus is called once", function () { taskView.didInsertElement(); expect(taskView.onStatus.calledOnce).to.be.true; }); http://git-wip-us.apache.org/repos/asf/ambari/blob/1901b395/ambari-web/test/views/main/admin/stack_upgrade/failed_hosts_modal_view_test.js ---------------------------------------------------------------------- diff --git a/ambari-web/test/views/main/admin/stack_upgrade/failed_hosts_modal_view_test.js b/ambari-web/test/views/main/admin/stack_upgrade/failed_hosts_modal_view_test.js index d63cca0..376d4c5 100644 --- a/ambari-web/test/views/main/admin/stack_upgrade/failed_hosts_modal_view_test.js +++ b/ambari-web/test/views/main/admin/stack_upgrade/failed_hosts_modal_view_test.js @@ -29,7 +29,7 @@ describe('App.FailedHostsPopupBodyView', function () { describe("#subHeader", function() { - it("", function() { + it("subHeader is formatted with hosts count", function() { view.set('parentView.content', { hosts: ['host1', 'host2', 'host3'] }); @@ -48,7 +48,7 @@ describe('App.FailedHostsPopupBodyView', function () { App.format.role.restore(); }); - it("", function() { + it("hosts are mapped from parentView.content", function() { view.set('parentView.content', { hosts: ['host1', 'long.host.50.chars.commmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm'], host_detail: { http://git-wip-us.apache.org/repos/asf/ambari/blob/1901b395/ambari-web/test/views/main/admin/stack_upgrade/services_view_test.js ---------------------------------------------------------------------- diff --git a/ambari-web/test/views/main/admin/stack_upgrade/services_view_test.js b/ambari-web/test/views/main/admin/stack_upgrade/services_view_test.js index bc0907e..64afed3 100644 --- a/ambari-web/test/views/main/admin/stack_upgrade/services_view_test.js +++ b/ambari-web/test/views/main/admin/stack_upgrade/services_view_test.js @@ -37,7 +37,7 @@ describe('App.MainAdminStackServicesView', function () { App.StackService.find.restore(); App.Service.find.restore(); }); - it("", function () { + it("`isInstalled`-flag depends on App.Service", function () { view.propertyDidChange('services'); expect(view.get('services')).to.eql([ Em.Object.create({serviceName: 'S1', isInstalled: true}), http://git-wip-us.apache.org/repos/asf/ambari/blob/1901b395/ambari-web/test/views/main/admin/stack_upgrade/upgrade_group_view_test.js ---------------------------------------------------------------------- diff --git a/ambari-web/test/views/main/admin/stack_upgrade/upgrade_group_view_test.js b/ambari-web/test/views/main/admin/stack_upgrade/upgrade_group_view_test.js index ac50eee..2aed7e9 100644 --- a/ambari-web/test/views/main/admin/stack_upgrade/upgrade_group_view_test.js +++ b/ambari-web/test/views/main/admin/stack_upgrade/upgrade_group_view_test.js @@ -27,14 +27,10 @@ describe('App.upgradeGroupView', function () { }); describe("#toggleExpanded()", function () { - before(function () { + var data; + beforeEach(function () { sinon.stub(view, 'collapseLowerLevels', Em.K); - }); - after(function () { - view.collapseLowerLevels.restore(); - }); - it("", function () { - var data = { + data = { context: Em.Object.create({ isExpanded: true }), @@ -48,8 +44,17 @@ describe('App.upgradeGroupView', function () { ] }; view.toggleExpanded(data); + }); + afterEach(function () { + view.collapseLowerLevels.restore(); + }); + it("collapseLowerLevels called twice", function () { expect(view.collapseLowerLevels.calledTwice).to.be.true; + }); + it("context.isExpanded is false", function () { expect(data.context.get('isExpanded')).to.be.false; + }); + it("contexts[1][0].isExpanded is false", function () { expect(data.contexts[1][0].get('isExpanded')).to.be.false; }); }); http://git-wip-us.apache.org/repos/asf/ambari/blob/1901b395/ambari-web/test/views/main/admin/stack_upgrade/upgrade_task_view_test.js ---------------------------------------------------------------------- diff --git a/ambari-web/test/views/main/admin/stack_upgrade/upgrade_task_view_test.js b/ambari-web/test/views/main/admin/stack_upgrade/upgrade_task_view_test.js index 66e6d41..5c74d38 100644 --- a/ambari-web/test/views/main/admin/stack_upgrade/upgrade_task_view_test.js +++ b/ambari-web/test/views/main/admin/stack_upgrade/upgrade_task_view_test.js @@ -31,7 +31,7 @@ describe('App.upgradeTaskView', function () { App.TestAliases.testAsComputedOr(view, 'showContent', ['outsideView', 'content.isExpanded']); describe("#logTabId", function() { - it("", function() { + it("depends on `elementId`", function() { view.reopen({ elementId: 'elementId' }); @@ -40,7 +40,7 @@ describe('App.upgradeTaskView', function () { }); describe("#errorTabId", function() { - it("", function() { + it("depends on `elementId`", function() { view.reopen({ elementId: 'elementId' }); @@ -49,7 +49,7 @@ describe('App.upgradeTaskView', function () { }); describe("#logTabIdLink", function() { - it("", function() { + it("depends on `logTabId`", function() { view.reopen({ logTabId: 'elementId-log-tab' }); @@ -58,7 +58,7 @@ describe('App.upgradeTaskView', function () { }); describe("#errorTabIdLInk", function() { - it("", function() { + it("depends on `errorTabId`", function() { view.reopen({ errorTabId: 'elementId-error-tab' }); @@ -73,7 +73,7 @@ describe('App.upgradeTaskView', function () { after(function () { view.toggleProperty.restore(); }); - it("", function () { + it("`errorLogOpened` is toggled", function () { view.copyErrLog(); expect(view.toggleProperty.calledWith('errorLogOpened')).to.be.true; }); @@ -86,7 +86,7 @@ describe('App.upgradeTaskView', function () { after(function () { view.toggleProperty.restore(); }); - it("", function () { + it("outputLogOpened is toggled", function () { view.copyOutLog(); expect(view.toggleProperty.calledWith('outputLogOpened')).to.be.true; }); @@ -99,7 +99,7 @@ describe('App.upgradeTaskView', function () { after(function () { view.openLogWindow.restore(); }); - it("", function () { + it("stderr is open with openLogWindow", function () { view.set('content.stderr', 'stderr'); view.openErrorLog(); expect(view.openLogWindow.calledWith('stderr')).to.be.true; @@ -113,7 +113,7 @@ describe('App.upgradeTaskView', function () { after(function () { view.openLogWindow.restore(); }); - it("", function () { + it("stdout is open with openLogWindow", function () { view.set('content.stdout', 'stdout'); view.openOutLog(); expect(view.openLogWindow.calledWith('stdout')).to.be.true; @@ -135,27 +135,36 @@ describe('App.upgradeTaskView', function () { body: mockAppendChild } }; - before(function () { + beforeEach(function () { sinon.stub(window, 'open').returns(mockWindow); sinon.spy(mockWindow.document, 'write'); sinon.spy(mockWindow.document, 'close'); sinon.spy(mockWindow.document, 'createElement'); sinon.spy(mockWindow.document, 'createTextNode'); sinon.spy(mockAppendChild, 'appendChild'); + view.openLogWindow('log'); }); - after(function () { + afterEach(function () { window.open.restore(); mockWindow.document.write.restore(); mockWindow.document.close.restore(); mockWindow.document.createElement.restore(); mockWindow.document.createTextNode.restore(); + mockAppendChild.appendChild.restore(); }); - it("", function () { - view.openLogWindow('log'); + it("window.open is called once", function () { expect(window.open.calledOnce).to.be.true; + }); + it("pre-element is created", function () { expect(mockWindow.document.createElement.calledWith('pre')).to.be.true; + }); + it("log-node is created", function () { expect(mockWindow.document.createTextNode.calledWith('log')).to.be.true; + }); + it("two nodes are appended", function () { expect(mockAppendChild.appendChild.calledTwice).to.be.true; + }); + it("document is closed", function () { expect(mockWindow.document.close.calledOnce).to.be.true; }); }); http://git-wip-us.apache.org/repos/asf/ambari/blob/1901b395/ambari-web/test/views/main/admin/stack_upgrade/upgrade_wizard_view_test.js ---------------------------------------------------------------------- diff --git a/ambari-web/test/views/main/admin/stack_upgrade/upgrade_wizard_view_test.js b/ambari-web/test/views/main/admin/stack_upgrade/upgrade_wizard_view_test.js index 9507e08..94c8fe9 100644 --- a/ambari-web/test/views/main/admin/stack_upgrade/upgrade_wizard_view_test.js +++ b/ambari-web/test/views/main/admin/stack_upgrade/upgrade_wizard_view_test.js @@ -37,6 +37,16 @@ describe('App.upgradeWizardView', function () { }); view.removeObserver('App.clusterName', view, 'startPolling'); + beforeEach(function () { + sinon.stub(App.ajax, 'send').returns({ + complete: Em.clb + }); + }); + + afterEach(function () { + App.ajax.send.restore(); + }); + App.TestAliases.testAsComputedOr(view, 'isManualProceedDisabled', ['!isManualDone', 'controller.requestInProgress']); App.TestAliases.testAsComputedEqualProperties(view, 'isFinalizeItem', 'manualItem.context', 'controller.finalizeContext'); @@ -60,7 +70,7 @@ describe('App.upgradeWizardView', function () { activeGroup: Em.Object.create() }); }); - it("", function () { + it("status is updated", function () { view.reopen({ activeStatuses: ['IN_PROGRESS'], upgradeGroups: [Em.Object.create({ @@ -156,58 +166,66 @@ describe('App.upgradeWizardView', function () { }); sinon.spy(view, 'doPolling'); this.clock = sinon.useFakeTimers(); + view.doPolling(); + this.clock.tick(App.bgOperationsUpdateInterval); }); afterEach(function () { view.get('controller').loadUpgradeData.restore(); view.doPolling.restore(); this.clock.restore(); }); - it("", function () { - view.doPolling(); - this.clock.tick(App.bgOperationsUpdateInterval); + it("loadUpgradeData is called once", function () { expect(view.get('controller').loadUpgradeData.calledOnce).to.be.true; + }); + it("doPolling is called twice", function () { expect(view.doPolling.calledTwice).to.be.true; }); }); describe("#continue()", function () { - before(function () { + beforeEach(function () { sinon.stub(view.get('controller'), 'setUpgradeItemStatus', Em.K); + view.continue({context: Em.Object.create({'status': 'HOLDING_FAILED'})}); }); - after(function () { + afterEach(function () { view.get('controller').setUpgradeItemStatus.restore(); }); - it("", function () { - view.continue({context: Em.Object.create({'status': 'HOLDING_FAILED'})}); + it("setUpgradeItemStatus is called with correct data", function () { expect(view.get('controller').setUpgradeItemStatus.calledWith(Em.Object.create({'status': 'HOLDING_FAILED'}), 'FAILED')).to.be.true; + }); + it("isDetailsOpened is false", function () { expect(view.get('isDetailsOpened')).to.be.false; }); }); describe("#complete()", function () { - before(function () { + beforeEach(function () { sinon.stub(view.get('controller'), 'setUpgradeItemStatus', Em.K); + view.complete({context: Em.Object.create({'status': 'FAILED'})}); }); - after(function () { + afterEach(function () { view.get('controller').setUpgradeItemStatus.restore(); }); - it("", function () { - view.complete({context: Em.Object.create({'status': 'FAILED'})}); + it("setUpgradeItemStatus is called with correct data", function () { expect(view.get('controller').setUpgradeItemStatus.calledWith(Em.Object.create({'status': 'FAILED'}), 'COMPLETED')).to.be.true; + }); + it("isManualDone is false", function () { expect(view.get('isManualDone')).to.be.false; }); }); describe("#retry()", function () { - before(function () { + beforeEach(function () { sinon.stub(view.get('controller'), 'setUpgradeItemStatus', Em.K); + view.retry({context: Em.Object.create({'status': 'FAILED'})}); }); - after(function () { + afterEach(function () { view.get('controller').setUpgradeItemStatus.restore(); }); - it("", function () { - view.retry({context: Em.Object.create({'status': 'FAILED'})}); + it("setUpgradeItemStatus is called with correct data", function () { expect(view.get('controller').setUpgradeItemStatus.calledWith(Em.Object.create({'status': 'FAILED'}), 'PENDING')).to.be.true; + }); + it("isDetailsOpened is false", function () { expect(view.get('isDetailsOpened')).to.be.false; }); }); @@ -226,7 +244,7 @@ describe('App.upgradeWizardView', function () { }); describe("#resetManualDone()", function() { - it("", function() { + it("isManualDone is set to false", function() { view.set('isManualDone', true); view.propertyDidChange('manualItem'); expect(view.get('isManualDone')).to.be.false; @@ -417,7 +435,7 @@ describe('App.upgradeWizardView', function () { after(function () { view.toggleProperty.restore(); }); - it("", function () { + it("isDetailsOpened is toggled", function () { view.toggleDetails(); expect(view.toggleProperty.calledWith('isDetailsOpened')).to.be.true; }); @@ -658,15 +676,6 @@ describe('App.upgradeWizardView', function () { beforeEach(function () { view.set('controller.upgradeId', 1); - sinon.stub(App.ajax, 'send').returns({ - complete: function (callback) { - callback(); - } - }); - }); - - afterEach(function () { - App.ajax.send.restore(); }); cases.forEach(function (item) { @@ -775,7 +784,7 @@ describe('App.upgradeWizardView', function () { }); describe("#failedHostsMessage", function() { - it("", function() { + it("is formatted with slaveComponentStructuredInfo", function() { view.set('controller.slaveComponentStructuredInfo', { hosts: ['host1'] }); http://git-wip-us.apache.org/repos/asf/ambari/blob/1901b395/ambari-web/test/views/main/admin/stack_upgrade/version_view_test.js ---------------------------------------------------------------------- diff --git a/ambari-web/test/views/main/admin/stack_upgrade/version_view_test.js b/ambari-web/test/views/main/admin/stack_upgrade/version_view_test.js index 50fb21a..4561449 100644 --- a/ambari-web/test/views/main/admin/stack_upgrade/version_view_test.js +++ b/ambari-web/test/views/main/admin/stack_upgrade/version_view_test.js @@ -226,7 +226,7 @@ describe('App.mainAdminStackVersionsView', function () { after(function () { view.observesCategories.restore(); }); - it("", function() { + it("observesCategories is called once", function() { view.didInsertElement(); expect(view.observesCategories.calledOnce).to.be.true; }); @@ -234,19 +234,11 @@ describe('App.mainAdminStackVersionsView', function () { describe("#observesCategories()", function () { var mock = {format: Em.K}; - before(function () { + beforeEach(function () { sinon.stub(Em.I18n, 't').returns(mock); sinon.stub(mock, 'format').returns('label'); sinon.stub(view, 'filterBy').returns([]); sinon.stub(view, 'filterVersions'); - }); - after(function () { - Em.I18n.t.restore(); - mock.format.restore(); - view.filterBy.restore(); - view.filterVersions.restore(); - }); - it("", function () { view.set('categories', [ Em.Object.create({ labelKey: 'labelKey', @@ -255,20 +247,26 @@ describe('App.mainAdminStackVersionsView', function () { }) ]); view.observesCategories(); + }); + afterEach(function () { + Em.I18n.t.restore(); + mock.format.restore(); + view.filterBy.restore(); + view.filterVersions.restore(); + }); + it("categories[0].label is updated", function () { expect(view.get('categories')[0].get('label')).to.equal('label'); + }); + it("filterVersions is called once", function () { expect(view.filterVersions.calledOnce).to.be.true; }); }); describe("#selectCategory()", function() { - before(function () { + var event; + beforeEach(function () { sinon.stub(view, 'filterVersions'); - }); - after(function () { - view.filterVersions.restore(); - }); - it("", function() { - var event = { + event = { context: Em.Object.create({ isSelected: false }) @@ -280,8 +278,17 @@ describe('App.mainAdminStackVersionsView', function () { event.context ]); view.selectCategory(event); + }); + afterEach(function () { + view.filterVersions.restore(); + }); + it("categories[0].isSelected false", function() { expect(view.get('categories')[0].get('isSelected')).to.be.false; + }); + it("isSelected is true", function() { expect(event.context.get('isSelected')).to.be.true; + }); + it("filterVersions is called with correct data", function() { expect(view.filterVersions.calledWith(event.context)).to.be.true; }); }); @@ -295,7 +302,7 @@ describe('App.mainAdminStackVersionsView', function () { view.filterBy.restore(); view.observesCategories.restore(); }); - it("", function() { + it("isVisible for repoVersion is updated", function() { view.set('repoVersions', [Em.Object.create({id: 1})]); view.filterVersions(); expect(view.get('repoVersions')[0].get('isVisible')).to.be.true; @@ -348,28 +355,34 @@ describe('App.mainAdminStackVersionsView', function () { after(function () { view.poll.restore(); }); - it("", function() { + it("poll is called once", function() { view.willInsertElement(); expect(view.poll.calledOnce).to.be.true; }); }); describe("#willDestroyElement()", function() { - var abort = sinon.spy(), + var request; + beforeEach(function () { request = { - abort: abort + abort: Em.K }; - before(function () { sinon.stub(window, 'clearTimeout', Em.K); + sinon.spy(request, 'abort'); view.set('controller.runningCheckRequests', [request, request]); + view.willDestroyElement(); }); - after(function () { + afterEach(function () { window.clearTimeout.restore(); + request.abort.restore(); }); - it("", function() { - view.willDestroyElement(); + it("clearTimeout is called once", function() { expect(window.clearTimeout.calledOnce).to.be.true; - expect(abort.calledTwice).to.be.true; + }); + it("abort is called twice", function() { + expect(request.abort.calledTwice).to.be.true; + }); + it("runningCheckRequests is empty", function() { expect(view.get('controller.runningCheckRequests')).to.have.length(0); }); }); @@ -381,7 +394,7 @@ describe('App.mainAdminStackVersionsView', function () { after(function () { window.setTimeout.restore(); }); - it("", function() { + it("setTimeout is called once", function() { view.doPolling(); expect(window.setTimeout.calledOnce).to.be.true; }); http://git-wip-us.apache.org/repos/asf/ambari/blob/1901b395/ambari-web/test/views/main/admin_test.js ---------------------------------------------------------------------- diff --git a/ambari-web/test/views/main/admin_test.js b/ambari-web/test/views/main/admin_test.js index 928480f..53bc39f 100644 --- a/ambari-web/test/views/main/admin_test.js +++ b/ambari-web/test/views/main/admin_test.js @@ -86,7 +86,7 @@ describe('App.MainAdminView', function () { }); describe("#willDestroyElement()", function() { - it("", function() { + it("controller.category is set to null", function() { view.willDestroyElement(); expect(view.get('controller.category')).to.be.null; }); http://git-wip-us.apache.org/repos/asf/ambari/blob/1901b395/ambari-web/test/views/main/alerts/manage_alert_groups/select_definitions_popup_body_view_test.js ---------------------------------------------------------------------- diff --git a/ambari-web/test/views/main/alerts/manage_alert_groups/select_definitions_popup_body_view_test.js b/ambari-web/test/views/main/alerts/manage_alert_groups/select_definitions_popup_body_view_test.js index 9ba7bf6..4ddaf50 100644 --- a/ambari-web/test/views/main/alerts/manage_alert_groups/select_definitions_popup_body_view_test.js +++ b/ambari-web/test/views/main/alerts/manage_alert_groups/select_definitions_popup_body_view_test.js @@ -82,19 +82,23 @@ describe('App.SelectDefinitionsPopupBodyView', function () { beforeEach(function () { sinon.stub(view, 'filterDefs', Em.K); sinon.stub(view, 'filteredContentObsOnce', Em.K); - }); - afterEach(function () { - view.filterDefs.restore(); - view.filteredContentObsOnce.restore(); - }); - it("", function () { view.set('initialDefs', [ Em.Object.create({filtered: true}), Em.Object.create({filtered: false}) ]); view.didInsertElement(); + }); + afterEach(function () { + view.filterDefs.restore(); + view.filteredContentObsOnce.restore(); + }); + it("each availableDefs filtered is updated", function () { expect(view.get('parentView.availableDefs').mapProperty('filtered')).to.eql([true, true]); + }); + it("parentView.isLoaded is true", function () { expect(view.get('parentView.isLoaded')).to.be.true; + }); + it("filteredContentObsOnce is called once", function () { expect(view.filteredContentObsOnce.calledOnce).to.be.true; }); }); @@ -244,7 +248,7 @@ describe('App.SelectDefinitionsPopupBodyView', function () { afterEach(function () { view.filterDefs.restore(); }); - it("", function () { + it("is formatted with parentView.availableDefs", function () { view.set('parentView.availableDefs', [ {selected: true}, {selected: false} @@ -370,26 +374,38 @@ describe('App.SelectDefinitionsPopupBodyView', function () { }); describe("#toggleShowSelectedDefs()", function() { + var filterComponent; + var filterService; beforeEach(function () { sinon.stub(view, 'filterDefs', Em.K); - }); - afterEach(function () { - view.filterDefs.restore(); - }); - - it("", function() { view.set('showOnlySelectedDefs', true); - var filterComponent = Em.Object.create(); - var filterService = Em.Object.create(); + filterComponent = Em.Object.create(); + filterService = Em.Object.create(); view.set('filterComponent', filterComponent); view.set('filterService', filterService); - view.toggleShowSelectedDefs(); + }); + afterEach(function () { + view.filterDefs.restore(); + }); + it("filterComponent.selected is false", function() { expect(filterComponent.get('selected')).to.be.false; + }); + + it("filterService.selected is false", function() { expect(filterService.get('selected')).to.be.false; + }); + + it("filterComponent is null", function() { expect(view.get('filterComponent')).to.be.null; + }); + + it("filterService is null", function() { expect(view.get('filterService')).to.be.null; + }); + + it("showOnlySelectedDefs is false", function() { expect(view.get('showOnlySelectedDefs')).to.be.false; }); }); http://git-wip-us.apache.org/repos/asf/ambari/blob/1901b395/ambari-web/test/views/main/charts/heatmap_test.js ---------------------------------------------------------------------- diff --git a/ambari-web/test/views/main/charts/heatmap_test.js b/ambari-web/test/views/main/charts/heatmap_test.js index 60df2eb..c3ad695 100644 --- a/ambari-web/test/views/main/charts/heatmap_test.js +++ b/ambari-web/test/views/main/charts/heatmap_test.js @@ -41,7 +41,7 @@ describe('App.MainChartsHeatmapView', function () { afterEach(function () { view.get('controller').loadPageData.restore(); }); - it("", function () { + it("loadPageData is called once", function () { view.didInsertElement(); expect(view.get('controller').loadPageData.calledOnce).to.be.true; }); @@ -54,7 +54,7 @@ describe('App.MainChartsHeatmapView', function () { afterEach(function () { view.get('controller').clearActiveWidgetLayout.restore(); }); - it("", function () { + it("clearActiveWidgetLayout is called once", function () { view.willDestroyElement(); expect(view.get('controller').clearActiveWidgetLayout.calledOnce).to.be.true; }); http://git-wip-us.apache.org/repos/asf/ambari/blob/1901b395/ambari-web/test/views/main/dashboard/config_history_view_test.js ---------------------------------------------------------------------- diff --git a/ambari-web/test/views/main/dashboard/config_history_view_test.js b/ambari-web/test/views/main/dashboard/config_history_view_test.js index 76ad4bd..4ac8401 100644 --- a/ambari-web/test/views/main/dashboard/config_history_view_test.js +++ b/ambari-web/test/views/main/dashboard/config_history_view_test.js @@ -46,7 +46,7 @@ describe('App.MainConfigHistoryView', function() { view.removeObserver('controller.resetStartIndex', view, 'resetStartIndex'); describe("#filteredContentInfo", function () { - it("", function () { + it("is formatted with filteredCount and totalCount", function () { view.set('filteredCount', 1); view.set('totalCount', 2); view.propertyDidChange('filteredContentInfo'); @@ -226,18 +226,32 @@ describe('App.MainConfigHistoryView', function() { }); describe('#didInsertElement()', function() { - it('', function() { + + beforeEach(function () { sinon.stub(view, 'addObserver', Em.K); sinon.spy(view.get('controller'), 'doPolling'); - view.didInsertElement(); + }); + + afterEach(function () { + view.addObserver.restore(); + view.get('controller').doPolling.restore(); + }); + + it('addObserver is called twice', function() { expect(view.addObserver.calledTwice).to.be.true; + }); + + it('isInitialRendering is true', function() { expect(view.get('isInitialRendering')).to.be.true; + }); + + it('controller.isPolling is true', function() { expect(view.get('controller.isPolling')).to.be.true; - expect(view.get('controller').doPolling.calledOnce).to.be.true; + }); - view.addObserver.restore(); - view.get('controller').doPolling.restore(); + it('controller.doPolling is true', function() { + expect(view.get('controller').doPolling.calledOnce).to.be.true; }); }); @@ -271,43 +285,50 @@ describe('App.MainConfigHistoryView', function() { }); describe('#willDestroyElement()', function() { - it('', function() { + it('controller.isPolling is false', function() { view.willDestroyElement(); expect(view.get('controller.isPolling')).to.be.false; }); }); describe('#refresh()', function() { - it('', function() { + + beforeEach(function () { sinon.spy(view.get('controller'), 'load'); view.refresh(); + }); + + afterEach(function () { + view.get('controller').load.restore(); + }); + + it('filteringComplete is false', function() { expect(view.get('filteringComplete')).to.be.false; + }); + + it('controller.load is called once', function() { expect(view.get('controller').load.calledOnce).to.be.true; - view.get('controller').load.restore(); }); }); describe("#refreshDone()", function () { - before(function () { + beforeEach(function () { sinon.stub(view, 'propertyDidChange', Em.K); - }); - after(function () { - view.propertyDidChange.restore(); - }); - it("", function () { view.set('filteringComplete', false); view.set('controller.resetStartIndex', true); view.refreshDone(); + }); + afterEach(function () { + view.propertyDidChange.restore(); + }); + it("filteringComplete is true", function () { expect(view.get('filteringComplete')).to.be.true; + }); + it("controller.resetStartIndex is false", function () { expect(view.get('controller.resetStartIndex')).to.be.false; }); }); - describe("#colPropAssoc", function () { - it("", function () { - view.set('controller.colPropAssoc', [1]); - view.propertyDidChange('colPropAssoc'); - expect(view.get('colPropAssoc')).to.eql([1]); - }); - }); + App.TestAliases.testAsComputedAlias(view, 'colPropAssoc', 'controller.colPropAssoc', 'array'); + }); http://git-wip-us.apache.org/repos/asf/ambari/blob/1901b395/ambari-web/test/views/main/dashboard/widget_test.js ---------------------------------------------------------------------- diff --git a/ambari-web/test/views/main/dashboard/widget_test.js b/ambari-web/test/views/main/dashboard/widget_test.js index 0625474..36a1a42 100644 --- a/ambari-web/test/views/main/dashboard/widget_test.js +++ b/ambari-web/test/views/main/dashboard/widget_test.js @@ -93,15 +93,9 @@ describe('App.DashboardWidgetView', function () { }); describe("#deleteWidgetComplete()", function () { - before(function () { + beforeEach(function () { sinon.spy(dashboardWidgetView.get('parentView'), 'postUserPref'); sinon.spy(dashboardWidgetView.get('parentView'), 'translateToReal'); - }); - after(function () { - dashboardWidgetView.get('parentView').postUserPref.restore(); - dashboardWidgetView.get('parentView').translateToReal.restore(); - }); - it("", function () { dashboardWidgetView.set('parentView.currentPrefObject', { dashboardVersion: 'new', visible: ['1', '2'], @@ -110,12 +104,20 @@ describe('App.DashboardWidgetView', function () { }); dashboardWidgetView.set('parentView.persistKey', 'key'); dashboardWidgetView.deleteWidgetComplete(); + }); + afterEach(function () { + dashboardWidgetView.get('parentView').postUserPref.restore(); + dashboardWidgetView.get('parentView').translateToReal.restore(); + }); + it("postUserPref is called with correct data", function () { expect(dashboardWidgetView.get('parentView').postUserPref.calledWith('key', { dashboardVersion: 'new', visible: ['2'], hidden: ['1'], threshold: 'threshold' })); + }); + it("translateToReal is called with valid data", function () { expect(dashboardWidgetView.get('parentView').translateToReal.calledWith({ dashboardVersion: 'new', visible: ['2'], @@ -231,7 +233,7 @@ describe('App.DashboardWidgetView', function () { describe("#widgetConfig", function() { var widget = dashboardWidgetView.get('widgetConfig').create(); describe("#hintInfo", function() { - it("", function() { + it("is formatted with maxValue", function() { widget.set('maxValue', 1); widget.propertyDidChange('hintInfo'); expect(widget.get('hintInfo')).to.equal(Em.I18n.t('dashboard.widgets.hintInfo.common').format(1)); http://git-wip-us.apache.org/repos/asf/ambari/blob/1901b395/ambari-web/test/views/main/dashboard/widgets_test.js ---------------------------------------------------------------------- diff --git a/ambari-web/test/views/main/dashboard/widgets_test.js b/ambari-web/test/views/main/dashboard/widgets_test.js index 558dbe3..311bf21 100644 --- a/ambari-web/test/views/main/dashboard/widgets_test.js +++ b/ambari-web/test/views/main/dashboard/widgets_test.js @@ -140,24 +140,32 @@ describe('App.MainDashboardWidgetsView', function () { }); describe("#didInsertElement()", function () { - before(function () { + beforeEach(function () { sinon.stub(view, 'setWidgetsDataModel', Em.K); sinon.stub(view, 'setInitPrefObject', Em.K); sinon.stub(view, 'setOnLoadVisibleWidgets', Em.K); sinon.stub(Em.run, 'next', Em.K); + view.didInsertElement(); }); - after(function () { + afterEach(function () { view.setWidgetsDataModel.restore(); view.setInitPrefObject.restore(); view.setOnLoadVisibleWidgets.restore(); Em.run.next.restore(); }); - it("", function () { - view.didInsertElement(); + it("setWidgetsDataModel is called once", function () { expect(view.setWidgetsDataModel.calledOnce).to.be.true; + }); + it("setInitPrefObject is called once", function () { expect(view.setInitPrefObject.calledOnce).to.be.true; + }); + it("setOnLoadVisibleWidgets is called once", function () { expect(view.setOnLoadVisibleWidgets.calledOnce).to.be.true; + }); + it("makeSortable is called in the next loop", function () { expect(Em.run.next.calledWith(view, 'makeSortable')).to.be.true; + }); + it("isDataLoaded is true", function () { expect(view.get('isDataLoaded')).to.be.true }); }); @@ -239,21 +247,10 @@ describe('App.MainDashboardWidgetsView', function () { beforeEach(function () { sinon.stub(view, 'postUserPref'); sinon.stub(view, 'translateToReal'); - }); - afterEach(function () { - view.postUserPref.restore(); - view.translateToReal.restore(); - }); - beforeEach(function () { sinon.stub(App.router, 'get', function (k) { if ('loginName' === k) return 'tdk'; return Em.get(App.router, k); }); - }); - afterEach(function () { - App.router.get.restore(); - }); - it("", function () { plusButtonFilterView.set('hiddenWidgets', [ Em.Object.create({ checked: true, @@ -274,7 +271,16 @@ describe('App.MainDashboardWidgetsView', function () { })); view.set('persistKey', 'key'); plusButtonFilterView.applyFilterComplete(); + }); + afterEach(function () { + view.postUserPref.restore(); + view.translateToReal.restore(); + App.router.get.restore(); + }); + it("postUserPref is called once", function () { expect(view.postUserPref.calledOnce).to.be.true; + }); + it("translateToReal is called with correct data", function () { expect(view.translateToReal.getCall(0).args[0]).to.eql(Em.Object.create({ dashboardVersion: 'new', visible: [1], @@ -283,6 +289,8 @@ describe('App.MainDashboardWidgetsView', function () { ], threshold: 'threshold' })); + }); + it("1 hidden widget", function () { expect(plusButtonFilterView.get('hiddenWidgets.length')).to.equal(1); }); }); @@ -352,16 +360,22 @@ describe('App.MainDashboardWidgetsView', function () { }); describe("#removeWidget()", function () { - it("", function () { - var widget = {}; - var value = { + var widget; + var value; + beforeEach(function () { + widget = {}; + value = { visible: [widget], hidden: [ [widget] ] }; value = view.removeWidget(value, widget); + }); + it("value.visible is empty", function () { expect(value.visible).to.be.empty; + }); + it("value.hidden is empty", function () { expect(value.hidden).to.be.empty; }); }); @@ -404,7 +418,7 @@ describe('App.MainDashboardWidgetsView', function () { after(function () { App.get.restore(); }); - it("", function () { + it("depends on router.loginName", function () { view.propertyDidChange('persistKey'); expect(view.get('persistKey')).to.equal('user-pref-user-dashboard'); }); @@ -445,7 +459,7 @@ describe('App.MainDashboardWidgetsView', function () { after(function () { App.showConfirmationPopup.restore(); }); - it("", function () { + it("showConfirmationPopup is called once", function () { view.resetAllWidgets(); expect(App.showConfirmationPopup.calledOnce).to.be.true; }); http://git-wip-us.apache.org/repos/asf/ambari/blob/1901b395/ambari-web/test/views/main/host/stack_versions_view_test.js ---------------------------------------------------------------------- diff --git a/ambari-web/test/views/main/host/stack_versions_view_test.js b/ambari-web/test/views/main/host/stack_versions_view_test.js index 8023cc9..7bbd371 100644 --- a/ambari-web/test/views/main/host/stack_versions_view_test.js +++ b/ambari-web/test/views/main/host/stack_versions_view_test.js @@ -41,7 +41,7 @@ describe('App.MainHostStackVersionsView', function() { App.router.get.restore(); view.filter.restore(); }); - it("", function () { + it("host.id is updated", function () { view.propertyDidChange('host'); expect(view.get('host.id')).to.equal(1); }); @@ -60,7 +60,7 @@ describe('App.MainHostStackVersionsView', function() { view.get.restore(); view.filter.restore(); }); - it("", function () { + it("content.id is updated", function () { view.propertyDidChange('content'); expect(view.get('content')).to.eql([Em.Object.create({ id: 1 @@ -69,7 +69,7 @@ describe('App.MainHostStackVersionsView', function() { }); describe("#filteredContentInfo", function () { - it("", function () { + it("formatted with filteredCount and totalCount", function () { view.set('filteredCount', 1); view.set('totalCount', 2); view.propertyDidChange('filteredContentInfo'); http://git-wip-us.apache.org/repos/asf/ambari/blob/1901b395/ambari-web/test/views/wizard/step4_view_test.js ---------------------------------------------------------------------- diff --git a/ambari-web/test/views/wizard/step4_view_test.js b/ambari-web/test/views/wizard/step4_view_test.js index 94f9830..11d11dc 100644 --- a/ambari-web/test/views/wizard/step4_view_test.js +++ b/ambari-web/test/views/wizard/step4_view_test.js @@ -34,7 +34,7 @@ describe('App.WizardStep4View', function () { afterEach(function () { App.get('router').set.restore(); }); - it('', function () { + it('router.transitionInProgress is set to false', function () { view.didInsertElement(); expect(App.get('router').set.calledWith('transitionInProgress', false)).to.be.true; }); http://git-wip-us.apache.org/repos/asf/ambari/blob/1901b395/ambari-web/test/views/wizard/step6_view_test.js ---------------------------------------------------------------------- diff --git a/ambari-web/test/views/wizard/step6_view_test.js b/ambari-web/test/views/wizard/step6_view_test.js index 9beca51..b5d2f43 100644 --- a/ambari-web/test/views/wizard/step6_view_test.js +++ b/ambari-web/test/views/wizard/step6_view_test.js @@ -111,23 +111,32 @@ describe('App.WizardStep6View', function() { }); describe("#checkboxClick()", function() { + var e; beforeEach(function() { sinon.stub(view.get('controller'), 'checkCallback', Em.K); sinon.stub(view.get('controller'), 'callValidation', Em.K); + e = { + context: { + checked: true, + component: 'c1' + } + }; + view.checkboxClick(e); }); afterEach(function() { view.get('controller').checkCallback.restore(); view.get('controller').callValidation.restore(); }); - it("", function() { - var e = {context: { - checked: true, - component: 'c1' - }}; - view.checkboxClick(e); + it("checked is false", function() { expect(e.context.checked).to.be.false; + }); + + it("checkCallback is called with correct data", function() { expect(view.get('controller').checkCallback.calledWith('c1')).to.be.true; + }); + + it("callValidation is called once", function() { expect(view.get('controller').callValidation.calledOnce).to.be.true; }); });