Могу ли я установить базовый URL для ожидаемого ()

0

Мой рестайлинг-вызов имеет baseUrl, установленный в файле конфигурации, на http://localhost:3000/. Так что вызов вроде

Restangular.all("awards").customPOST(award)

Звонит в baseUrl+"awards"

Теперь, когда я пишу тест для этого, мне нужно написать:

httpBackend.expectPOST("http://localhost:3000/awards")

Но позже, если этот baseUrl changes, мне придется изменить его во многих .expect().

Есть ли способ установить baseUrl для метода ожидания, где-нибудь в файле конфигурации?

Итак, чтобы ожидать метода что-то like-

httpBackend.expectPOST(baseUrl + "awards");

Так что любое изменение в baseUrl не требует какого-либо изменения в методе expect()?

Теги:
unit-testing
restangular

1 ответ

0
Лучший ответ

Вы можете создать angular.constant а затем ввести эту константу там, где это необходимо.

var app = angular.module('app', []);
app.constant('Configuration', {
  BASE_URL: 'http://localhost:3000/'
});

app.factory('RestApiService', function($http, Configuration) {
  var awardApi = Configuration.BASE_URL + '/awards';

  return {
    getAwards: fucntion() {
      return $http.get(awardApi);
    };
  };
});
  • 0
    Спасибо тебе большое !! Работало отлично !!
  • 0
    Добро пожаловать. Было бы круто, если бы вы проголосовали за ответ;)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню