当前位置: 首页>>代码示例>>TypeScript>>正文


TypeScript testing.MockBackend类代码示例

本文整理汇总了TypeScript中@angular/http/testing.MockBackend的典型用法代码示例。如果您正苦于以下问题:TypeScript MockBackend类的具体用法?TypeScript MockBackend怎么用?TypeScript MockBackend使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


在下文中一共展示了MockBackend类的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。

示例1: beforeEach

    beforeEach(inject([MockBackend], (backend: MockBackend) => {
        const baseResponse = new Response(new ResponseOptions({ body: 'got response' }));
        backend.connections.subscribe((c: MockConnection) => c.mockRespond(baseResponse));

        backend.createConnection(new Request({
            method: RequestMethod.Get,
            url: 'http://localhost/Nana10MVC/service/126',
            search: 'password=123'
        }));
    }));
开发者ID:kolanton,项目名称:nanaDev,代码行数:10,代码来源:navigation.service.spec.ts

示例2: it

 it('should get techs', async(inject([MockBackend, Techs], (mockBackend: MockBackend, techs: Techs) => {
   let conn: MockConnection;
   const response = new Response(new ResponseOptions({body: techsJson}));
   mockBackend.connections.subscribe((connection: MockConnection) => {
     conn = connection;
   });
   techs.getTechs().subscribe((jsonObject => {
     techs.techs = jsonObject;
   }));
   conn.mockRespond(response);
   expect(techs.techs.length).toBe(3);
   mockBackend.verifyNoPendingRequests();
 })));
开发者ID:taureandyerATL,项目名称:Hack-The-Pay-Gap,代码行数:13,代码来源:techs.spec.ts

示例3: it

    it('should get application data and cache it', async(inject([NavService, XHRBackend], (service: NavService, backend: MockBackend) => {
      let count = 0;
      backend.connections.subscribe((connection: MockConnection) => {
        expect(connection.request.method).toBe(RequestMethod.Get);
        expect(connection.request.url).toBe('http://localhost:8080/application');
        connection.mockRespond(new Response(new ResponseOptions({body: '{"expects": "JSON"}', status: 200})));
        count++;
      });

      service.getNavData().subscribe((data: any) => {
        expect(data.expects).toEqual('JSON');
      });
      service.getNavData().subscribe((data: any) => {
        expect(data.expects).toEqual('JSON');
      });

      expect(backend.connectionsArray.length).toBe(1);
      backend.verifyNoPendingRequests();
    })));
开发者ID:Vector-USS,项目名称:SECCION_4,代码行数:19,代码来源:nav.service.spec.ts

示例4: describe

describe('ItemsService', () => {
  let http: Http,
    injector: Injector,
    backend: MockBackend,
    service: ItemsService,
    setConnection: Function;

  beforeEach(() => {
    injector = ReflectiveInjector.resolveAndCreate([
      ItemsService, BaseRequestOptions, MockBackend, {
        provide: Http,
        useFactory: function(backend: ConnectionBackend, defaultOptions: BaseRequestOptions) {
          return new Http(backend, defaultOptions);
        },
        deps: [MockBackend, BaseRequestOptions]
      }
    ]);

    http = injector.get(Http);
    backend = injector.get(MockBackend);
    service = injector.get(ItemsService);

    setConnection = (options): void => {
      const responseOptions = { body: options},
        baseResponse = new Response(new ResponseOptions(responseOptions));

      backend.connections.subscribe((connection: MockConnection) => {
        connection.mockRespond(baseResponse);
      });
    };
  });

  afterEach(() => backend.verifyNoPendingRequests());

  it('#loadItems', () => {
    const requestBody = {id: 1, name: 'First Item'};

    setConnection(requestBody);
    spyOn(http, 'get').and.callThrough();

    service.loadItems()
      .then((res) => {
        expect(http.get).toHaveBeenCalled();
        expect(res).toEqual(requestBody);
      });
  });

  it('#saveItem', () => {
    const newItem = { id: undefined, name: 'New Item', description: 'Description' },
        existingItem = { id: 1, name: 'Existing Item', description: 'Description' };

    const createItem = spyOn(service, 'createItem').and.callThrough();
    const updateItem = spyOn(service, 'updateItem');

    service.saveItem(newItem);

    expect(service.createItem).toHaveBeenCalled();
    expect(service.updateItem).not.toHaveBeenCalled();

    service.saveItem(existingItem);

    expect(createItem.calls.count()).toEqual(1);
    expect(updateItem).toHaveBeenCalled();
  });

  it('#createItem', () => {
    const requestBody = { id: 1, name: 'First Item', description: 'Described' };

    setConnection(requestBody);
    const post = spyOn(http, 'post').and.callThrough();

    service.createItem(requestBody)
      .then((res) => {
        expect(post.calls.argsFor(0).length).toBe(3);
        expect(res).toEqual(requestBody);
      });
  });

  it('#updateItem', () => {
    const requestBody = { id: 1, name: 'First Item Updated', description: 'Described' };

    setConnection(requestBody);
    const put = spyOn(http, 'put').and.callThrough();

    service.updateItem(requestBody)
      .then((res) => {
        expect(put.calls.argsFor(0).length).toBe(3);
        expect(res).toEqual(requestBody);
      });
  });

  it('#deleteItem', () => {
    const requestBody = { id: 1, name: 'First Item Deleted', description: 'Described' };

    setConnection(requestBody);
    const del = spyOn(http, 'delete').and.callThrough();

    service.deleteItem(requestBody)
      .then((res) => {
        expect(del.calls.argsFor(0).length).toBe(1);
//.........这里部分代码省略.........
开发者ID:onehungrymind,项目名称:fem-ng2-rest-app,代码行数:101,代码来源:items.service.spec.ts

示例5: describe

describe("Hero Integration tests", () => {

	let service: HeroService;
	let configService: SdkSampleConfigService;
	let mockBackend: MockBackend;

	beforeEachProviders(() => [
		HTTP_PROVIDERS,
		GLOBAL_PROVIDERS,
		COMMON_PROVIDERS,
		provide(XHRBackend, { useClass: MockBackend }),
		SdkSampleConfigService,
		HeroService,
		HeroClient
	]);

	beforeEach(inject([
		XHRBackend,
		HeroService,
		SdkSampleConfigService,
		LoggingService,
		CommonHttpClient
	], (
		_mockBackend: MockBackend,
		_service: HeroService,
		_configService: SdkSampleConfigService,
		_loggingService: LoggingService,
		_commonHttpClient: CommonHttpClient
	) => {
			service = _service;
			configService = _configService;
			mockBackend = _mockBackend;

			spyOn(_loggingService, "log").and.stub();

			configService.set({
				baseUri: "http://obg-sdk.test.com"
			});

			utils.httpMock.mockResponse(mockBackend, {
				body: heroes,
				status: statusCodes.OK
			});

			_commonHttpClient.initialize({
				baseUri: "http://obg-sdk.test.com",
				brandId: "b0032790-0fc8-4e38-b98f-71df0a4f6753",
				marketCode: "en"
			});
		}));

	afterEach(() => {
		mockBackend.resolveAllConnections();
		mockBackend.verifyNoPendingRequests();
	});

	describe("when getAll is invoked", () => {
		it("should return all items", (done: Function) => {
			service.getAll()
				.subscribe(x => {
					expect(x.length).toBe(5);
					done();
				});
		});
	});
});
开发者ID:emersonbarrion,项目名称:clean-code-angular2,代码行数:66,代码来源:hero.spec.ts

示例6: describe

describe('QuoteService', () => {
  let quoteService: QuoteService;
  let mockBackend: MockBackend;

  beforeEach(() => {
    TestBed.configureTestingModule({
      providers: [
        QuoteService,
        MockBackend,
        BaseRequestOptions,
        {
          provide: Http,
          useFactory: (backend: MockBackend, defaultOptions: BaseRequestOptions) => {
            return new Http(backend, defaultOptions);
          },
          deps: [MockBackend, BaseRequestOptions]
        }
      ]
    });
  });

  beforeEach(inject([
    QuoteService,
    MockBackend
  ], (_quoteService: QuoteService,
      _mockBackend: MockBackend) => {

    quoteService = _quoteService;
    mockBackend = _mockBackend;
  }));

  afterEach(() => {
    mockBackend.verifyNoPendingRequests();
  });

  describe('getRandomQuote', () => {
    it('should return a random Chuck Norris quote', fakeAsync(() => {
      // Arrange
      const mockQuote = 'a random quote';
      const response = new Response(new ResponseOptions({
        body: { value: mockQuote }
      }));
      mockBackend.connections.subscribe((connection: MockConnection) => connection.mockRespond(response));

      // Act
      const randomQuoteSubscription = quoteService.getRandomQuote({ category: 'toto' });
      tick();

      // Assert
      randomQuoteSubscription.subscribe((quote: string) => {
        expect(quote).toEqual(mockQuote);
      });
    }));

    it('should return a string in case of error', fakeAsync(() => {
      // Arrange
      const response = new Response(new ResponseOptions({ status: 500 }));
      mockBackend.connections.subscribe((connection: MockConnection) => connection.mockError(response as any));

      // Act
      const randomQuoteSubscription = quoteService.getRandomQuote({ category: 'toto' });
      tick();

      // Assert
      randomQuoteSubscription.subscribe((quote: string) => {
        expect(typeof quote).toEqual('string');
        expect(quote).toContain('Error');
      });
    }));
  });
});
开发者ID:BBoyBreaker,项目名称:iko-demo,代码行数:71,代码来源:quote.service.spec.ts

示例7: afterEach

 afterEach(() => backend.verifyNoPendingRequests());
开发者ID:onehungrymind,项目名称:fem-ng2-rest-app,代码行数:1,代码来源:items.service.spec.ts

示例8:

	afterEach(() => {
		mockBackend.resolveAllConnections();
		mockBackend.verifyNoPendingRequests();
	});
开发者ID:emersonbarrion,项目名称:clean-code-angular2,代码行数:4,代码来源:hero.spec.ts

示例9: afterEach

 afterEach(() => {
   mockBackend.verifyNoPendingRequests();
 });
开发者ID:BBoyBreaker,项目名称:iko-demo,代码行数:3,代码来源:quote.service.spec.ts


注:本文中的@angular/http/testing.MockBackend类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。