diff --git a/openstack_dashboard/static/app/core/keypairs/actions/actions.module.spec.js b/openstack_dashboard/static/app/core/keypairs/actions/actions.module.spec.js new file mode 100644 index 0000000000..e861d235af --- /dev/null +++ b/openstack_dashboard/static/app/core/keypairs/actions/actions.module.spec.js @@ -0,0 +1,59 @@ +/** + * + * Licensed 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. + */ + +(function() { + 'use strict'; + + describe('keypairs actions module', function() { + var registry; + beforeEach(module('horizon.app.core.keypairs.actions')); + + beforeEach(inject(function($injector) { + registry = $injector.get('horizon.framework.conf.resource-type-registry.service'); + })); + + it('registers Create Key Pair as a global action', function() { + var actions = registry.getResourceType('OS::Nova::Keypair').globalActions; + expect(actionHasId(actions, 'createKeypairService')).toBe(true); + }); + + it('registers Import Public Key as a global action', function() { + var actions = registry.getResourceType('OS::Nova::Keypair').globalActions; + expect(actionHasId(actions, 'importKeypairService')).toBe(true); + }); + + it('registers Delete Key Pairs as a batch action', function() { + var actions = registry.getResourceType('OS::Nova::Keypair').batchActions; + expect(actionHasId(actions, 'batchDeleteKeypairAction')).toBe(true); + }); + + it('registers Delete Key Pairs as a item action', function() { + var actions = registry.getResourceType('OS::Nova::Keypair').itemActions; + expect(actionHasId(actions, 'deleteKeypairAction')).toBe(true); + }); + + function actionHasId(list, value) { + return list.filter(matchesId).length === 1; + + function matchesId(action) { + if (action.id === value) { + return true; + } + } + } + + }); + +})(); diff --git a/openstack_dashboard/static/app/core/keypairs/actions/create.key-type.controller.spec.js b/openstack_dashboard/static/app/core/keypairs/actions/create.key-type.controller.spec.js new file mode 100644 index 0000000000..edb92aba5d --- /dev/null +++ b/openstack_dashboard/static/app/core/keypairs/actions/create.key-type.controller.spec.js @@ -0,0 +1,45 @@ +/** + * + * Licensed 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. + */ + +(function() { + 'use strict'; + + describe('horizon.app.core.keypairs.actions.CreateKeypairController', function() { + var ctrl, scope; + + beforeEach(module('horizon.app.core.keypairs')); + beforeEach(inject(function ($injector, _$rootScope_) { + scope = _$rootScope_.$new(); + scope.model = { + key_type: 'ssh', + public_key: '' + }; + + var controller = $injector.get('$controller'); + ctrl = controller( + 'horizon.app.core.keypairs.actions.CreateKeypairController', + { $scope: scope } + ); + })); + + it('sets key type into scope.model.key_type', function() { + var key = 'key type string'; + ctrl.onKeyTypeChange(key); + expect(scope.model.key_type).toBeDefined(key); + }); + + }); + +})(); diff --git a/openstack_dashboard/static/app/core/keypairs/details/details.module.spec.js b/openstack_dashboard/static/app/core/keypairs/details/details.module.spec.js new file mode 100644 index 0000000000..23128145eb --- /dev/null +++ b/openstack_dashboard/static/app/core/keypairs/details/details.module.spec.js @@ -0,0 +1,31 @@ +/** + * + * Licensed 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. + */ + +(function() { + 'use strict'; + + describe('keypairs details module', function() { + var registry, resource; + beforeEach(module('horizon.app.core.keypairs.details')); + beforeEach(inject(function($injector) { + registry = $injector.get('horizon.framework.conf.resource-type-registry.service'); + })); + + it('should be loaded', function() { + resource = registry.getResourceType('OS::Nova::Keypair'); + expect(resource.detailsViews[0].id).toBe('keypairDetails'); + }); + }); +})();