@@ -10,12 +10,18 @@ import {
1010import { TestBed } from '@angular/core/testing' ;
1111import { Router } from '@angular/router' ;
1212import { StoreModule } from '@ngrx/store' ;
13+ import { of } from 'rxjs' ;
1314
1415import {
1516 appReducers ,
1617 storeModuleConfig ,
1718} from '../../app.reducer' ;
1819import { CorrelationIdService } from '../../correlation-id/correlation-id.service' ;
20+ import { OrejimeService } from '../../shared/cookies/orejime.service' ;
21+ import {
22+ CORRELATION_ID_COOKIE ,
23+ CORRELATION_ID_OREJIME_KEY ,
24+ } from '../../shared/cookies/orejime-configuration' ;
1925import { CookieServiceMock } from '../../shared/mocks/cookie.service.mock' ;
2026import { RouterStub } from '../../shared/testing/router.stub' ;
2127import { RestRequestMethod } from '../data/rest-request-method' ;
@@ -40,6 +46,8 @@ describe('LogInterceptor', () => {
4046 const mockStatusCode = 200 ;
4147 const mockStatusText = 'SUCCESS' ;
4248
49+ const mockOrejimeService = jasmine . createSpyObj ( 'OrejimeService' , [ 'getSavedPreferences' ] ) ;
50+
4351
4452 beforeEach ( ( ) => {
4553 TestBed . configureTestingModule ( {
@@ -56,6 +64,7 @@ describe('LogInterceptor', () => {
5664 { provide : Router , useValue : router } ,
5765 { provide : CorrelationIdService , useClass : CorrelationIdService } ,
5866 { provide : UUIDService , useClass : UUIDService } ,
67+ { provide : OrejimeService , useValue : mockOrejimeService } ,
5968 provideHttpClient ( withInterceptorsFromDi ( ) ) ,
6069 provideHttpClientTesting ( ) ,
6170 ] ,
@@ -66,12 +75,14 @@ describe('LogInterceptor', () => {
6675 cookieService = TestBed . inject ( CookieService ) ;
6776 correlationIdService = TestBed . inject ( CorrelationIdService ) ;
6877
69- cookieService . set ( 'CORRELATION-ID' , '123455' ) ;
70- correlationIdService . initCorrelationId ( ) ;
78+ cookieService . set ( CORRELATION_ID_COOKIE , '123455' ) ;
79+ correlationIdService . setCorrelationId ( ) ;
7180 } ) ;
7281
7382
74- it ( 'headers should be set' , ( done ) => {
83+ it ( 'headers should be set when cookie is accepted' , ( done ) => {
84+ mockOrejimeService . getSavedPreferences . and . returnValue ( of ( { [ CORRELATION_ID_OREJIME_KEY ] : true } ) ) ;
85+
7586 service . request ( RestRequestMethod . POST , 'server/api/core/items' , 'test' , { withCredentials : false } ) . subscribe ( ( response ) => {
7687 expect ( response ) . toBeTruthy ( ) ;
7788 done ( ) ;
@@ -83,7 +94,23 @@ describe('LogInterceptor', () => {
8394 expect ( httpRequest . request . headers . has ( 'X-REFERRER' ) ) . toBeTrue ( ) ;
8495 } ) ;
8596
86- it ( 'headers should have the right values' , ( done ) => {
97+ it ( 'headers should not be set when cookie is declined' , ( done ) => {
98+ mockOrejimeService . getSavedPreferences . and . returnValue ( of ( { [ CORRELATION_ID_OREJIME_KEY ] : false } ) ) ;
99+
100+ service . request ( RestRequestMethod . POST , 'server/api/core/items' , 'test' , { withCredentials : false } ) . subscribe ( ( response ) => {
101+ expect ( response ) . toBeTruthy ( ) ;
102+ done ( ) ;
103+ } ) ;
104+
105+ const httpRequest = httpMock . expectOne ( 'server/api/core/items' ) ;
106+ httpRequest . flush ( mockPayload , { status : mockStatusCode , statusText : mockStatusText } ) ;
107+ expect ( httpRequest . request . headers . has ( 'X-CORRELATION-ID' ) ) . toBeFalse ( ) ;
108+ expect ( httpRequest . request . headers . has ( 'X-REFERRER' ) ) . toBeTrue ( ) ;
109+ } ) ;
110+
111+ it ( 'headers should have the right values when cookie is accepted' , ( done ) => {
112+ mockOrejimeService . getSavedPreferences . and . returnValue ( of ( { [ CORRELATION_ID_OREJIME_KEY ] : true } ) ) ;
113+
87114 service . request ( RestRequestMethod . POST , 'server/api/core/items' , 'test' , { withCredentials : false } ) . subscribe ( ( response ) => {
88115 expect ( response ) . toBeTruthy ( ) ;
89116 done ( ) ;
0 commit comments