AngularJS $httpBackend mock

by navyflower

HTML

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.5/angular-mocks.js"></script>
<div ng-app="mydevapp">
  <div ng-controller="myCtrl">
    Result: {{result}}
    <br/> Product name: {{name}}
  </div>
</div>

JavaScript

angular.module("myapp", [])
  .controller("myCtrl", ['$scope', '$http', function($scope, $http) {
    var successCallback = function(response) {
      debugger;
      $scope.result = 'successCallback';
      $scope.name = response.data.product_name;
    };
    var errorCallback = function(response) {
      $scope.result = 'errorCallback';
    };

    $http({
      method: 'GET',
      url: 'api/product?prod_id=1'
    }).then(successCallback, errorCallback);

  }]);

var mydevapp = angular.module('mydevapp', ['myapp', 'ngMockE2E']);

mydevapp.run(function($httpBackend) {

  $httpBackend.when('GET', /api\/product.*prod_id=1/).respond({
        product_name: "Orange"
  });
});