165 lines
6.8 KiB
JavaScript
165 lines
6.8 KiB
JavaScript
(function() {
|
|
'use strict';
|
|
|
|
describe('horizon.dashboard.project.heat_dashboard.template_generator.TempModalController', function(){
|
|
|
|
beforeEach(module('horizon.dashboard.project.heat_dashboard.template_generator'));
|
|
|
|
beforeEach(module('appTemplates'));
|
|
|
|
var hotgenGlobals, hotgenStates, hotgenNotify, basePath, projectPath;
|
|
beforeEach(inject(function($injector){
|
|
hotgenGlobals = $injector.get('hotgenGlobals');
|
|
hotgenStates = $injector.get('hotgenStates');
|
|
hotgenNotify = $injector.get('hotgenNotify');
|
|
basePath = $injector.get('horizon.dashboard.project.heat_dashboard.template_generator.basePath');
|
|
projectPath = $injector.get('horizon.dashboard.project.heat_dashboard.template_generator.projectPath');
|
|
}));
|
|
|
|
var $controller, controller, $scope, $rootScope, $mdDialog;
|
|
|
|
beforeEach(inject(function($injector){
|
|
$rootScope = $injector.get('$rootScope');
|
|
$mdDialog = $injector.get('$mdDialog');
|
|
}));
|
|
|
|
beforeEach(inject(function(_$controller_, $rootScope) {
|
|
$controller = _$controller_;
|
|
$scope = $rootScope.$new();
|
|
spyOn($mdDialog, 'show');
|
|
spyOn($mdDialog, 'cancel');
|
|
spyOn(hotgenNotify, 'show_success');
|
|
controller = $controller('horizon.dashboard.project.heat_dashboard.template_generator.TempModalController',
|
|
{ $scope: $scope, $mdDialog: $mdDialog});
|
|
|
|
$mdDialog.show = jasmine.createSpy().and.callFake(function() {
|
|
return {
|
|
then: (function (callBack) {
|
|
callBack(true); //return the value to be assigned.
|
|
}, function(callBack){
|
|
callBack(false)}
|
|
)
|
|
}
|
|
});
|
|
$mdDialog.cancel = jasmine.createSpy().and.callFake(function() {
|
|
return function(callBack){callBack(true)};
|
|
});
|
|
}));
|
|
|
|
it('should exist', function(){
|
|
expect(controller).toBeDefined();
|
|
expect($mdDialog).toBeDefined();
|
|
});
|
|
|
|
it('$scope.open', function(){
|
|
$scope.open();
|
|
|
|
expect($mdDialog.show).not.toHaveBeenCalled();
|
|
|
|
hotgenGlobals.set_template_version('2017-09-01.template');
|
|
$scope.open();
|
|
|
|
expect($mdDialog.show).toHaveBeenCalled();
|
|
});
|
|
|
|
it('$scope.dialogController', function(){
|
|
$scope.dialogController($scope, $mdDialog, hotgenStates, hotgenGlobals, hotgenNotify);
|
|
|
|
expect($scope.all_saved).toEqual(false);
|
|
});
|
|
|
|
it('$scope.dialogController $cancel', function(){
|
|
$scope.dialogController($scope, $mdDialog, hotgenStates, hotgenGlobals, hotgenNotify);
|
|
$scope.cancel();
|
|
|
|
expect($mdDialog.cancel).toHaveBeenCalled();
|
|
});
|
|
|
|
it('$scope.dialogController download', function(){
|
|
$scope.dialogController($scope, $mdDialog, hotgenStates, hotgenGlobals, hotgenNotify);
|
|
$scope.download();
|
|
|
|
expect(hotgenNotify.show_success).toHaveBeenCalled();
|
|
});
|
|
|
|
it('$scope.dialogController save', function(){
|
|
$scope.dialogController($scope, $mdDialog, hotgenStates, hotgenGlobals, hotgenNotify);
|
|
|
|
$scope.redirect = jasmine.createSpy().and.callFake(function() {
|
|
return function(){return true};
|
|
});
|
|
$scope.save();
|
|
|
|
expect($scope.redirect).toHaveBeenCalled();
|
|
});
|
|
|
|
it('$scope.dialogController extract_properties', function(){
|
|
$scope.dialogController($scope, $mdDialog, hotgenStates, hotgenGlobals, hotgenNotify);
|
|
var to_extract = {
|
|
description: '', public_key: '',
|
|
metadata: '', scheduler_hints: '', value_specs: '',
|
|
allocation_pools: '', allowed_address_pairs: '', block_device_mapping: '',
|
|
block_device_mapping_v2: '', fixed_ips: '', host_routes: '',
|
|
personality: '',
|
|
rules: '', dns_nameservers: '', dhcp_agent_ids: '', tags: '',
|
|
resource_def: '',
|
|
others: ''
|
|
}
|
|
var resource_data = $scope.extract_properties(to_extract);
|
|
|
|
expect(Object.keys(resource_data).length).toEqual(2);
|
|
});
|
|
|
|
it('$scope.dialogController generate', function(){
|
|
$scope.dialogController($scope, $mdDialog, hotgenStates, hotgenGlobals, hotgenNotify);
|
|
hotgenStates.update_saved_resources('node_id', {
|
|
type: 'Node_Type',
|
|
data: { description: '', public_key: '',
|
|
metadata: '', scheduler_hints: '', value_specs: '',
|
|
allocation_pools: '', allowed_address_pairs: '', block_device_mapping: '',
|
|
block_device_mapping_v2: '', fixed_ips: '', host_routes: '',
|
|
personality: '',
|
|
rules: '', dns_nameservers: '', dhcp_agent_ids: '', tags: '',
|
|
resource_def: '',
|
|
others: ''}
|
|
});
|
|
hotgenStates.set_saved_flags({'node_id': true});
|
|
hotgenStates.update_saved_dependsons('node_id', ['depend_on_id']);
|
|
hotgenStates.set_incremented_label('depend_on_id', 'depend_on_label');
|
|
hotgenGlobals.set_resource_outputs('Node_Type', {'property': 'public_key'});
|
|
hotgenGlobals.set_template_version('2017-09-01.template');
|
|
var yamlstring = $scope.generate();
|
|
|
|
expect(yamlstring.length).toBeGreaterThan(0);
|
|
});
|
|
|
|
|
|
it('$scope.dialogController trivial generate', function(){
|
|
$scope.dialogController($scope, $mdDialog, hotgenStates, hotgenGlobals, hotgenNotify);
|
|
hotgenStates.update_saved_resources('node_id', {
|
|
type: 'Node_Type',
|
|
data: {metadata: ''}
|
|
});
|
|
hotgenStates.set_saved_flags({'node_id': true});
|
|
hotgenGlobals.set_template_version('2017-09-01.template');
|
|
var yamlstring = $scope.generate();
|
|
|
|
expect(yamlstring.length).toBeGreaterThan(0);
|
|
});
|
|
|
|
it('$scope.dialogController trivial dependson generate', function(){
|
|
$scope.dialogController($scope, $mdDialog, hotgenStates, hotgenGlobals, hotgenNotify);
|
|
hotgenStates.update_saved_resources('node_id', {
|
|
type: 'Node_Type',
|
|
data: {metadata: ''}
|
|
});
|
|
hotgenStates.set_saved_flags({'node_id': true});
|
|
hotgenStates.update_saved_dependsons('node_id', []);
|
|
hotgenGlobals.set_template_version('2017-09-01.template');
|
|
var yamlstring = $scope.generate();
|
|
|
|
expect(yamlstring.length).toBeGreaterThan(0);
|
|
});
|
|
});
|
|
})();
|