vendredi 22 janvier 2016

Angular Unit Test: Error: Unexpected request: GET

How can test this type of http format below?

$http({
    method: 'GET',
    url: 'http://ift.tt/1mXDz7a',
    headers:{
        'Authorization': "Basic " + btoa("xxxx:xxxx"),
        'Accept': 'application/json; odata=verbose'
    }
})
.success(function(data, status, headers, config) {
    $scope.valid = true;
    $scope.collection = data;
})
.error(function(data, status, headers, config) {
    $scope.error = data;
});

Test code,

it('should demonstrate using when (200 status)', inject(function($http, $httpBackend) {

    var $scope = {};

    /* Code Under Test */
    $http({
        method: 'GET',
        url: 'http://ift.tt/1mXDz7a',
        headers:{
            'Authorization': "Basic " + btoa("xxxxx:xxxx"),
            'Accept': 'application/json; odata=verbose'
        }
    })
    .success(function(data, status, headers, config) {
        $scope.valid = true;
        $scope.collection = data;
    })
    .error(function(data, status, headers, config) {
        $scope.error = data;
    });
    /* End */

  $httpBackend
    .when('GET', 'http://ift.tt/1mXDz7a', undefined, {
        Authorization: "Basic " + btoa("xxxxx:xxxx"),
        Accept: "application/json;odata=verbose"
    })
    .respond(200, { foo: 'bar' });

  $httpBackend.flush();

  expect($scope.valid).toBe(true);
  expect($scope.collection).toEqual({ foo: 'bar' });

}));

I get this error,

Error: Unexpected request: GET http://ift.tt/1mXDz7a No more request expected

Any ideas?

Aucun commentaire:

Enregistrer un commentaire