Угловой макет $httpBackend не работает с транспортиром

Настроить:

beforeEach(function () {
    const targetUrl = browser.baseUrl + '/#/Editor/AddRule';
    browser.ignoreSynchronization = true;
    browser.get(targetUrl);
    browser.wait(
        function () {
            return browser.getCurrentUrl().then(
                function (url) {
                    return targetUrl == decodeURIComponent(url);
                });
        }, 4000, 'taking too long to load');
    browser.addMockModule('httpMocker', function () {
        angular.module('httpMocker', ['ngApp', 'ngMockE2E'])
            .run(function ($httpBackend) {
                console.log("started");
                // Mock a response from server
                $httpBackend.whenPOST(browser.baseUrl + '/Editor/SaveRule')
                    .respond(500, {});
            });
    });
});

Я пытаюсь смоделировать контроллер, у которого есть переменная области видимости, которая затем передается в угловой сервис и, наконец, публикуется на сервере. Сервер имеет конечную точку:

browser.baseUrl + '/Editor/SaveRule' and method is http post.

Тест, который работает против Я хочу запустить против него:

it('Should present a success modal dialog upon successful rule save', function () {
  var name = element(by.css('[name="Name"]'));
  name.sendKeys('Rule Name 1');

  var ErrorCode = element(by.css('[name="ErrorCode"]'));
  ErrorCode.sendKeys('Error or warning Code');

  var englishLanguage = element(by.css('[name="Language0"]'));
  englishLanguage.sendKeys('English warning language');

  const ruleSetCheckbox = element(by.css('[name="RuleSet1"]'));
  ruleSetCheckbox.click();

  browser.pause();
  const button = element(by.css('[ng-click="form.$valid && save()"]'));
  button.click();
  browser.pause();
});

Если я возьму управление на себя, когда транспортир сделает паузу, и вручную нажму кнопку "Сохранить" в моем пользовательском интерфейсе, то на вкладке "Сеть" будет показано, что этот запрос фактически передается на сервер и возвращается с 200, а не с 500, что я хочу. Я уже проверил, чтобы убедиться, что конечные точки совпадают. Что я делаю неправильно?

0 ответов

Другие вопросы по тегам