blob: 8dee0adb3214a7df50ed75010486888b6222d0ff [file] [log] [blame]
/**
* 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.
*/
(function () {
'use strict';
var q;
var scope;
var controller;
var falconServiceMock = jasmine.createSpyObj('Falcon', ['getEntities', 'getEntityDefinition', 'logResponse', 'logRequest']);
var x2jsServiceMock = jasmine.createSpyObj('X2jsService', ['xml_str2json']);
var stateMock = jasmine.createSpyObj('state', ['go']);
var entityModel = {};
describe('MainController', function () {
beforeEach(module('app.controllers'));
beforeEach(inject(function($q, $rootScope, $controller) {
q = $q;
var promise = {};
promise.success = function() {return {error: function() {}}};
scope = $rootScope.$new();
scope.$parent.refreshLists = angular.noop;
scope.models = {};
falconServiceMock.getEntities.andReturn(successResponse({}));
controller = $controller('DashboardCtrl', {
$scope: scope,
$timeout: {},
Falcon: falconServiceMock,
FileApi: {},
EntityModel: entityModel,
$state: stateMock,
X2jsService: x2jsServiceMock
});
}));
//describe('editEntity', function() {
//
// it('Should invoke the Falcon.getEntityDefinition', function() {
// falconServiceMock.getEntityDefinition.andReturn(successResponse({}));
//
// scope.editEntity('feed', 'myFeed');
//
// expect(falconServiceMock.getEntityDefinition).toHaveBeenCalled();
// });
//
// describe('call to the api was successful', function() {
// it('Should set the retrieved entity from the server into EntityModel', function () {
// var myFeed = {};
// falconServiceMock.getEntityDefinition.andReturn(successResponse({}));
// x2jsServiceMock.xml_str2json.andReturn(myFeed);
//
// scope.editEntity('feed', 'myFeed');
//
// expect(entityModel.feedModel).toBe(myFeed);
// });
//
// it('Should set editing mode to true', function () {
// falconServiceMock.getEntityDefinition.andReturn(successResponse({}));
// scope.editingMode = false;
//
// scope.editEntity('feed', 'myFeed');
//
// expect(scope.editingMode).toBe(true);
// });
//
// it('Should navigate to the appropriate landing page for the entity type', function () {
// falconServiceMock.getEntityDefinition.andReturn(successResponse());
// scope.editingMode = false;
//
// scope.editEntity('feed', 'myFeed');
//
// expect(stateMock.go).toHaveBeenCalledWith('forms.feed.general');
// });
//
// it('Should set a copy of the model into the scope', function () {
// var feedModel = {name: 'MyFeed'};
// falconServiceMock.getEntityDefinition.andReturn(successResponse());
// x2jsServiceMock.xml_str2json.andReturn(feedModel);
//
// scope.editEntity('feed', 'myFeed');
//
// expect(scope.models.feedModel).toNotBe(feedModel);
// expect(scope.models.feedModel).toEqual(feedModel);
// });
// });
//
// xdescribe('call to the api errored out', function() {
// it('Should set the retrieved entity from the server into EntityModel', function () {
// var error = {result: 'error message'};
// falconServiceMock.success = true;
// falconServiceMock.getEntityDefinition.andReturn(errorResponse());
// x2jsServiceMock.xml_str2json.andReturn(error);
//
// scope.editEntity('feed', 'myFeed');
//
// expect(falconServiceMock.success).toBe(false);
// expect(falconServiceMock.serverResponse).toBe('error message');
// });
//
// });
//});
//
//describe('clone entity', function() {
// it('Should invoke the Falcon.getEntityDefinition', function() {
// var myFeed = {feed: {}};
// falconServiceMock.getEntityDefinition.andReturn(successResponse({}));
// x2jsServiceMock.xml_str2json.andReturn(myFeed);
//
// scope.cloneEntity('feed', 'myFeed');
//
// expect(falconServiceMock.getEntityDefinition).toHaveBeenCalled();
// });
//
// describe('call to the api was successful', function() {
// it('Should set the retrieved entity from the server into EntityModel', function () {
// var myFeed = {feed: {}};
// falconServiceMock.getEntityDefinition.andReturn(successResponse({}));
// x2jsServiceMock.xml_str2json.andReturn(myFeed);
//
// scope.cloneEntity('feed', 'myFeed');
//
// expect(entityModel.feedModel).toBe(myFeed);
// });
//
// it('Should set clone mode to true', function () {
// falconServiceMock.getEntityDefinition.andReturn(successResponse({}));
// scope.cloningMode = false;
//
// scope.cloneEntity('feed', 'myFeed');
//
// expect(scope.cloningMode).toBe(true);
// });
//
// it('Should navigate to the appropriate landing page for the entity type', function () {
// falconServiceMock.getEntityDefinition.andReturn(successResponse());
// scope.cloningMode = false;
//
// scope.cloneEntity('feed', 'myFeed');
//
// expect(stateMock.go).toHaveBeenCalledWith('forms.feed.general');
// });
//
// it('Should set a copy of the model into the scope', function () {
// var feedModel = {feed: {name: 'MyFeed'}};
// falconServiceMock.getEntityDefinition.andReturn(successResponse());
// x2jsServiceMock.xml_str2json.andReturn(feedModel);
//
// scope.cloneEntity('feed', 'myFeed');
//
// expect(scope.models.feedModel).toNotBe(feedModel);
// expect(scope.models.feedModel).toEqual(feedModel);
// });
// });
//});
});
function successResponse(value) {
var fakePromise = {};
fakePromise.success = function(callback) {
callback(value);
return fakePromise;
};
fakePromise.error = angular.noop;
return fakePromise;
}
function errorResponse(value) {
var fakePromise = {};
fakePromise.success = function() {
return fakePromise;
};
fakePromise.error = function(callback) {
callback(value);
return fakePromise;
};
return fakePromise;
}
})();