<!DOCTYPE html>
<html ng-app="plunker">
<head>
<link data-require="jasmine@*" data-semver="2.4.1" rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/jasmine/2.4.1/jasmine.css" />
<script data-require="jasmine@*" data-semver="2.4.1" src="https://cdnjs.cloudflare.com/ajax/libs/jasmine/2.4.1/jasmine.js"></script>
<script data-require="jasmine@*" data-semver="2.4.1" src="https://cdnjs.cloudflare.com/ajax/libs/jasmine/2.4.1/jasmine-html.js"></script>
<script data-require="jasmine@*" data-semver="2.4.1" src="https://cdnjs.cloudflare.com/ajax/libs/jasmine/2.4.1/boot.js"></script>
<script data-require="angular.js@1.6.6" data-semver="1.6.6" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.6/angular.min.js"></script>
<script data-require="angular-mocks@*" data-semver="1.5.8" src="https://code.angularjs.org/1.5.8/angular-mocks.js"></script>
<link rel="stylesheet" href="style.css" />
<script src="script.js"></script>
</head>
<body>
<h1>Hello Plunker!</h1>
</body>
</html>
var app = angular.module("plunker", ["ngMockE2E"]);
app.run(['$httpBackend', function ($httpBackend){
$httpBackend.whenPOST(/\/data\/employee\/(\d+)/, undefined, undefined, ['id']).respond(function(method, url, data, headers, params){
console.log('Received these data:', method, url, data, headers, params);
return [200, {eid:params.id}, {}];
});
}])
app.service("employeeService", ["$http", "$q", function($http, $q){
this.get = function(id){
var deferred = $q.defer();
$http.post("/data/employee/".concat(id)).then(function(response){
deferred.resolve(response.data)
},
function(err){
deferred.reject("An error occured!")
})
return deferred.promise;
}
}])
describe("Unit testing", function(){
beforeEach(module('plunker'));
describe('employee service', function() {
var employeeService, $httpBackend;
beforeEach(inject(function(_employeeService_, _$httpBackend_){
employeeService = _employeeService_;
$httpBackend = _$httpBackend_;
}));
it('should be defined', function(){
expect(employeeService).toBeDefined();
});
it('should return employee record', function(/*done*/){
var employeeId = 1;
var employee = {e_id: employeeId}
//Works
//$httpBackend.expectPOST("/data/employee/".concat(employeeId)).respond(employee);
//Works
//$httpBackend.expectPOST(/\/data\/employee\/(\d+)/).respond(employee);
//Works
//$httpBackend.expect("POST", /\/data\/employee\/(\d+)/).respond(employee);
//Works
$httpBackend.expect("POST", /\/data\/employee\/(\d+)/, undefined, undefined, ['id']).respond(function(method, url, data, headers, params){
console.log('Received these data:', method, url, data, headers, params);
return [200, {e_id:parseInt(params.id)}, {}];
});
employeeService.get(employeeId).then(function(data){
expect(data).toEqual(employee);
})
$httpBackend.flush()
});
});
});
/* Styles go here */