From b532943a31a9adb673586fc250cfa967306dccf3 Mon Sep 17 00:00:00 2001 From: Tatiana Ovchinnikova Date: Tue, 8 Dec 2020 17:12:50 -0600 Subject: [PATCH] Update devDependencies in package.json This patch updates outdated JavaScript dev dependencies. The latest Jasmine version makes nested beforeEach and unhandled promise rejection fail, this was fixed. Also, the latest Jasmine version runs tests in random order by default, random is set to false for now to prevent tests failures. Finally, the latest Jasmine version supports a new configuration option failSpecWithNoExpectations. By default, this option is set to false and Jasmine reports specs that have no expectations as passed. Setting this option to true tells Jasmine to report specs without as expectations as failed. For now, it is set to false for openstack-dashboard tests, this should be changed in future. Change-Id: I04d5c3ce7f7e0a9a38251e975b68bfa1998e556f --- horizon/karma.conf.js | 11 ++++-- .../resource-type-registry.service.spec.js | 5 +++ .../launch-instance-model.service.spec.js | 35 +++++++++---------- openstack_dashboard/karma.conf.js | 8 +++++ package.json | 10 +++--- 5 files changed, 44 insertions(+), 25 deletions(-) diff --git a/horizon/karma.conf.js b/horizon/karma.conf.js index ea59218cb4..6f0e758c6a 100644 --- a/horizon/karma.conf.js +++ b/horizon/karma.conf.js @@ -139,12 +139,19 @@ module.exports = function (config) { dir: '../../cover/horizon' }, + client: { + jasmine: { + random: false, + failSpecWithNoExpectations: true + } + }, + // Coverage threshold values. thresholdReporter: { - statements: 93, // target 100 + statements: 92, // target 100 branches: 84, // target 100 functions: 91, // target 100 - lines: 93 // target 100 + lines: 92 // target 100 } }); }; diff --git a/horizon/static/framework/conf/resource-type-registry.service.spec.js b/horizon/static/framework/conf/resource-type-registry.service.spec.js index 8459322dec..58df2e336b 100644 --- a/horizon/static/framework/conf/resource-type-registry.service.spec.js +++ b/horizon/static/framework/conf/resource-type-registry.service.spec.js @@ -194,7 +194,12 @@ }); it("default load function returns a promise", function() { + function load() { + return 'here be a promise'; + } + type.setLoadFunction(load); expect(type.load()).toBeDefined(); + expect(type.load()).toBe('here be a promise'); }); it("allows setting a list function", function() { diff --git a/openstack_dashboard/dashboards/project/static/dashboard/project/workflow/launch-instance/launch-instance-model.service.spec.js b/openstack_dashboard/dashboards/project/static/dashboard/project/workflow/launch-instance/launch-instance-model.service.spec.js index 93f2a821fa..8e33169d8b 100644 --- a/openstack_dashboard/dashboards/project/static/dashboard/project/workflow/launch-instance/launch-instance-model.service.spec.js +++ b/openstack_dashboard/dashboards/project/static/dashboard/project/workflow/launch-instance/launch-instance-model.service.spec.js @@ -159,24 +159,23 @@ } }); - beforeEach(function () { - settings = { - LAUNCH_INSTANCE_DEFAULTS: { - create_volume: true, - hide_create_volume: false, - config_drive: false, - disable_image: false, - disable_instance_snapshot: false, - disable_volume: false, - disable_volume_snapshot: false - }, - DEFAULT_BOOT_SOURCE: 'image' - }; - IMAGE = {type: 'image', label: 'Image', selected: true}; - VOLUME = {type: 'volume', label: 'Volume', selected: false}; - VOLUME_SNAPSHOT = {type: 'volume_snapshot', label: 'Volume Snapshot', selected: false}; - INSTANCE_SNAPSHOT = {type: 'snapshot', label: 'Instance Snapshot', selected: false}; - }); + settings = { + LAUNCH_INSTANCE_DEFAULTS: { + create_volume: true, + hide_create_volume: false, + config_drive: false, + disable_image: false, + disable_instance_snapshot: false, + disable_volume: false, + disable_volume_snapshot: false + }, + DEFAULT_BOOT_SOURCE: 'image' + }; + IMAGE = {type: 'image', label: 'Image', selected: true}; + VOLUME = {type: 'volume', label: 'Volume', selected: false}; + VOLUME_SNAPSHOT = {type: 'volume_snapshot', label: 'Volume Snapshot', selected: false}; + INSTANCE_SNAPSHOT = {type: 'snapshot', label: 'Instance Snapshot', selected: false}; + $provide.value('horizon.app.core.openstack-service-api.nova', novaApi); $provide.value('horizon.app.core.openstack-service-api.security-group', securityGroupApi); diff --git a/openstack_dashboard/karma.conf.js b/openstack_dashboard/karma.conf.js index 2dd2713baf..d542b82e00 100644 --- a/openstack_dashboard/karma.conf.js +++ b/openstack_dashboard/karma.conf.js @@ -180,6 +180,14 @@ module.exports = function (config) { dir: '../cover/openstack_dashboard' }, + // TODO(tmazur) set failSpecWithNoExpectations to true after fixing tests + client: { + jasmine: { + random: false, + failSpecWithNoExpectations: false + } + }, + // Coverage threshold values. thresholdReporter: { statements: 96, // target 100 diff --git a/package.json b/package.json index be51478a67..65b3b2e233 100644 --- a/package.json +++ b/package.json @@ -9,12 +9,12 @@ "eslint": "3.0.0", "eslint-config-openstack": "4.0.1", "eslint-plugin-angular": "4.0.1", - "jasmine-core": "2.4.1", - "karma": "1.1.2", - "karma-cli": "1.0.1", - "karma-coverage": "1.1.1", + "jasmine-core": "3.6.0", + "karma": "5.2.3", + "karma-cli": "2.0.0", + "karma-coverage": "2.0.3", "karma-firefox-launcher": "2.1.0", - "karma-jasmine": "1.0.2", + "karma-jasmine": "4.0.1", "karma-ng-html2js-preprocessor": "1.0.0", "karma-threshold-reporter": "0.1.15" },