Я мог бы использовать некоторую помощь, чтобы найти решение для моей проблемы. Мне нужно высмеять некоторые данные в моем приложении angular2, когда он делает запрос на api, мне нужно сделать что-то вроде:
$httpBackend.when('GET', '/userbookings/').respond(my json file data);
Проблема в том, что все, что я могу найти в google, используя $httpBackend, который используется для angularJS (angular 1).
Кто-нибудь знает, как я могу заставить это работать в моем тесте E2E (приложение является приложением angular2)? Я пытаюсь сделать это как с помощью транспортира, так и с ночного видения (попробовали оба фреймворка)
Спектральный тест:
describe('Protractor Mocking bookings for angular2 site', function() {
var ngMockE2E = require('ng-mock-e2e');
var $httpBackend = ngMockE2E.$httpBackend;
beforeEach(function() {
ngMockE2E.addMockModule();
ngMockE2E.addAsDependencyForModule('myApp');
ngMockE2E.embedScript('/bower_components/angular-mocks/angular-mocks.js');
});
afterEach(function() {
ngMockE2E.clearMockModules();
});
it('Inject mock data of bookings', function() {
var EC = protractor.ExpectedConditions;
var global = require('../bin/globals.js');
// Bookings data in a json file which should be send as the response
var mockData = require('../testData.json');
browser.ignoreSynchronization = false;
$httpBackend.when('GET', '/userbookings').respond(mockData);
browser.get(global.so.enLoggedIn);
});
});
Этот тест не работает, потому что он использует некоторый угловой метод. Вы показали это, так что вы можете увидеть, как выглядит мой тест.
Надеюсь, кто-то может помочь мне здесь, потому что очень трудно найти работу с angular2.