Sami
Sami

Reputation: 11

AngularJs $httpbackend.whenPOST regular expression not working

am getting an error Error: Unexpected request: POST data/employee/1 No more request expected

Am using angular-mocks, angular-ui-route in my app.config i've got my $stateProvider routes and my mocks the main one with the issue being the one below:

$httpBackend.whenPOST(/data\/employee\/(\d+)/, {}, {},['id']).respond(function(method, url, data, headers, params){

        console.log('Received these data:', method, url, data, headers, params);

        return [200, {}, {}]
});

Calling via controller:

app.controller("employeeController", ['$scope','$http', "$state", "$stateParams", function($scope, $http, $state, $stateParams){

   $http.post("data/employee/1").then(function(response){


   })
 })

What might be the issue?

Upvotes: 1

Views: 206

Answers (1)

Sami
Sami

Reputation: 11

In order for the mock $httpBackend.whenPOST(url, [data], [headers], [keys]) to work optional parameters data and header need to be declared as undefined where they are not used and not just as empty objects {}.

Upvotes: 0

Related Questions