Как подделать http в новом окне, которое открывается приложением в тесте E2E?

Я использую Protractor и ng-mock-e2e для тестирования моего приложения AngularJS. Когда я проверяю страницу (B), которая открывается со страницы (A) с помощью window.open, я надеюсь, что $http на странице (B) будет подделан $httpBackend, но, похоже, он недоступен.

Мой код похож

const ngMockE2E = require('ng-mock-e2e');
const {$httpBackend} = ngMockE2E;

describe('example with ngMockE2E', () => {
  beforeEach(() => {
    ngMockE2E.addMockModule();
    ngMockE2E.addAsDependencyForModule('appName');
    ngMockE2E.embedScript('bower_components/angular-mocks/angular-mocks.js');
  });

  afterEach(() => {
    ngMockE2E.clearMockModules();
  });

  it('It works!', () => {
    $httpBackend.when('GET', 'heading').respond('It works!');
    browser.get('/pageA');
    element(by.id('openB')).click();      // *(1) 
  });

*(1) Это откроет страницу B в новом окне (через window.open ()), и pageB получит доступ к http:/heading в своем init.

Как я могу подделать http в новом окне, которое открывается приложением. Подделка Http доступна, когда я открываю страницу B со страницы A в том же окне.

0 ответов

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