fixes testing due to wrong httpbackend injection

This commit is contained in:
Per Ploug
2013-07-02 15:46:50 +02:00
parent 4c7351aa8a
commit 2e636d5bcb
10 changed files with 90 additions and 68 deletions

View File

@@ -4,4 +4,4 @@ var app = angular.module('umbraco', [
'umbraco.resources',
'umbraco.services',
'umbraco.security'
]);
]);

View File

@@ -1 +1 @@
angular.module("umbraco.mocks", ['ngMockE2E']);
angular.module("umbraco.mocks", []);

View File

@@ -21,8 +21,9 @@ angular.module('umbraco.mocks').
}
function returnNodebyId(status, data, headers) {
var id = mocksUtills.getParameterByName(data, "id") || 1234;
var id = mocksUtills.getParameterByName(data, "id") || "1234";
id = parseInt(id, 10);
var node = {
name: "My content with id: " + id,
updateDate: new Date(),

View File

@@ -21,5 +21,4 @@ function initBackEnd($httpBackend, contentMocks, treeMocks, userMocks, contentTy
}
umbracoAppDev.run(initBackEnd);

View File

@@ -33,9 +33,26 @@ function contentResource($q, $http, umbDataFormatter, umbRequestHelper) {
return {
getById: function (id) {
return $http.get(getContentUrl(id))
.then(function(response) {
_.each(response.data.tabs, function (item) {
item.active = false;
});
if (response.data.tabs.length > 0){
response.data.tabs[0].active = true;
}
return response.data;
},function(response) {
throw new Error('Failed to retreive data for content id ' + id);
});
/*
var deferred = $q.defer();
//go and get the data
$http.get(getContentUrl(id)).
success(function (data, status, headers, config) {
@@ -53,7 +70,7 @@ function contentResource($q, $http, umbDataFormatter, umbRequestHelper) {
deferred.reject('Failed to retreive data for content id ' + id);
});
return deferred.promise;
return deferred.promise;*/
},
getByIds: function (ids) {

View File

@@ -3,7 +3,7 @@
* @name umbraco.resources.contentTypeResource
* @description Loads in data for content types
**/
function contentTypeResource($q, $http) {
function contentTypeResource($q, $http, $rootScope) {
/** internal method to get the api url */
function getChildContentTypesUrl(contentId) {
@@ -43,15 +43,15 @@ function contentTypeResource($q, $http) {
//return all types allowed under given document
getAllowedTypes: function (contentId) {
var deferred = $q.defer();
$http.get(getChildContentTypesUrl(contentId))
.success(function (data, status, headers, config) {
deferred.resolve(data);
}).
error(function (data, status, headers, config) {
deferred.reject('Failed to retreive data for content id ' + contentId);
//var deferred = $q.defer();
//getChildContentTypesUrl(contentId))
return $http.get(getChildContentTypesUrl(contentId))
.then(function(response) {
return response.data;
},function(response) {
throw new Error('Failed to retreive data for content id ' + contentId);
});
return deferred.promise;
}
};

View File

@@ -3,7 +3,7 @@ describe('content factory tests', function () {
beforeEach(module('umbraco.services'));
beforeEach(module('umbraco.resources'));
beforeEach(module('umbraco.httpbackend'));
beforeEach(module('umbraco.mocks'));
beforeEach(inject(function ($injector) {
$rootScope = $injector.get('$rootScope');
@@ -21,6 +21,8 @@ describe('content factory tests', function () {
describe('global content factory crud', function () {
it('should return a content object, given an id', function () {
var doc;
contentFactory.getById(1234).then(function(result){
@@ -28,6 +30,7 @@ describe('content factory tests', function () {
});
$rootScope.$digest();
$httpBackend.flush();
expect(doc).toNotBe(undefined);
expect(doc.id).toBe(1234);
@@ -36,10 +39,15 @@ describe('content factory tests', function () {
it('should return a content children collection given an id', function () {
var collection = contentFactory.getChildren(1234, undefined);
$rootScope.$digest();
$httpBackend.flush();
expect(collection.resultSet.length).toBe(10);
collection = contentFactory.getChildren(1234,{take: 5, offset: 1, filter: ""});
$rootScope.$digest();
$httpBackend.flush();
expect(collection.resultSet.length).toBe(5);
});
});
});
});

View File

@@ -1,48 +1,46 @@
describe('content type factory tests', function () {
var $rootScope, $httpBackend, contentTypeResource, m;
beforeEach(module('ngMockE2E'));
// beforeEach(module('ngMockE2E'));
beforeEach(module('umbraco.resources'));
beforeEach(module('umbraco.httpbackend'));
beforeEach(module('umbraco.mocks'));
beforeEach(inject(function ($injector, contentTypeMocks) {
$rootScope = $injector.get('$rootScope');
$httpBackend = $injector.get('$httpBackend');
m = contentTypeMocks;
m.register();
contentTypeResource = $injector.get('contentTypeResource');
beforeEach(inject(function ($injector) {
$rootScope = $injector.get('$rootScope');
$httpBackend = $injector.get('$httpBackend');
mocks = $injector.get("contentTypeMocks");
mocks.register();
contentTypeResource = $injector.get('contentTypeResource');
}));
describe('global content type factory crud', function () {
/*
it('should return a content type object, given an id', function () {
var ct1;
contentTypeResource.getContentType(1234).then(function(result){
ct1 = result;
});
$rootScope.$digest();
$rootScope.$digest();
console.log("ct1:", ct1);
$rootScope.$digest();
expect(ct1).toNotBe(undefined);
expect(ct1.id).toBe(1234);
});
*/
it('should return a allowed content type collection given a document id', function(){
m.expectAllowedChildren();
// m.expectAllowedChildren();
var collection;
contentTypeResource.getAllowedTypes(1234).then(function(result){
collection = result;
});
$rootScope.$digest();
$httpBackend.flush();
expect(collection.length).toBe(3);
});
});

View File

@@ -47,9 +47,7 @@
</style>*@
</head>
<body ng-controller="MainController" id="umbracoMainPageBody">
<div ng-cloak id="Div1" class="clearfix" ng-click="closeDialogs($event)">
<umb-left-column></umb-left-column>
<section id="contentwrapper">
@@ -57,6 +55,7 @@
<div ng-view></div>
</div>
</section>
</div>
<umb-notifications></umb-notifications>

View File

@@ -1,30 +1,30 @@
<!doctype html>
<html lang="en">
<head>
<base href="/belle/" />
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Umbraco</title>
<link rel="stylesheet" href="assets/css/umbraco.css" />
</head>
<body ng-controller="MainController" id="umbracoMainPageBody">
<div ng-hide="!authenticated" ng-cloak ng-animate="'fade'" id="Div1" class="clearfix" ng-click="closeDialogs($event)">
<umb-left-column></umb-left-column>
<section id="contentwrapper">
<div id="contentcolumn">
<div ng-view></div>
</div>
</section>
</div>
<umb-notifications></umb-notifications>
<script src="lib/yepnope/yepnope.min.js"></script>
<script src="js/loader.js"></script>
</body>
</html>
<!doctype html>
<html lang="en">
<head>
<base href="/belle/" />
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Umbraco</title>
<link rel="stylesheet" href="assets/css/umbraco.css" />
</head>
<body ng-controller="MainController" id="umbracoMainPageBody">
<div ng-hide="!authenticated" ng-cloak ng-animate="'fade'" id="Div1" class="clearfix" ng-click="closeDialogs($event)">
<umb-left-column></umb-left-column>
<section id="contentwrapper">
<div id="contentcolumn">
<div ng-view></div>
</div>
</section>
</div>
<umb-notifications></umb-notifications>
<script src="lib/yepnope/yepnope.min.js"></script>
<script src="js/loader.js"></script>
</body>
</html>