как установить cookie и проверить его на угловое? - PullRequest
0 голосов
/ 28 ноября 2018

Я хотел бы установить cookie в моем http-сервисе и проверить, отправляется ли он в запросе на сервер.Как я могу установить cookie и убедиться, что он отправлен с запросом?

Я полагаю, что моя служба устанавливает cookie (document.cookie), и я ожидал, что он будет отправлен в заголовке.

Мой сервис:

import { Injectable } from '@angular/core';
import {HttpClient, HttpHeaders} from '@angular/common/http';
import {Observable} from 'rxjs';

@Injectable({
  providedIn: 'root'
})
export class SessionService {
  readonly url = 'http://www.bs.com';
  constructor(private httpClient: HttpClient) { }

  getBS(): Observable<any> {
    document.cookie = 'username=John Doe';
    return this.httpClient.get(this.url);
 }
}

мой тест-код:

import { TestBed} from '@angular/core/testing';
import { SessionService } from './session.service';
import {HttpClientTestingModule, HttpTestingController} from '../../node_modules/@angular/common/http/testing';
import {Injector} from '@angular/core';

describe('SessionService', () => {
  let injector: Injector;
  let exampleService: SessionService;
  let httpMock: HttpTestingController;

  beforeEach(() => {
    injector = TestBed.configureTestingModule({
    imports: [
      HttpClientTestingModule
    ],
    providers: [
     SessionService
    ]
  });
  exampleService = injector.get(SessionService);
  httpMock = injector.get(HttpTestingController);
});

 it('should be created', () => {
   const test = 'hello world from server!';

   exampleService.getBS().subscribe(str => {
    expect(str).toBe(test);
   });
   const req = httpMock.expectOne('http://www.bs.com');
   req.flush(test);
});
);
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...