63825: use CookieService instead of ClientCookieService

This commit is contained in:
Kristof De Langhe
2019-07-25 11:19:59 +02:00
parent c2345c1562
commit 7269be9142
5 changed files with 19 additions and 17 deletions

View File

@@ -44,8 +44,8 @@ import { ActivatedRoute, Router } from '@angular/router';
import { RouteService } from './shared/services/route.service';
import { MockActivatedRoute } from './shared/mocks/mock-active-router';
import { MockRouter } from './shared/mocks/mock-router';
import { ClientCookieService } from './shared/services/client-cookie.service';
import { MockClientCookieService } from './shared/mocks/mock-client-cookie.service';
import { CookieService } from './shared/services/cookie.service';
import { MockCookieService } from './shared/mocks/mock-cookie.service';
let comp: AppComponent;
let fixture: ComponentFixture<AppComponent>;
@@ -80,7 +80,7 @@ describe('App component', () => {
{ provide: MenuService, useValue: menuService },
{ provide: CSSVariableService, useClass: CSSVariableServiceStub },
{ provide: HostWindowService, useValue: new HostWindowServiceStub(800) },
{ provide: ClientCookieService, useValue: new MockClientCookieService()},
{ provide: CookieService, useValue: new MockCookieService()},
AppComponent,
RouteService
],

View File

@@ -34,6 +34,7 @@ import { HostWindowService } from './shared/host-window.service';
import { Theme } from '../config/theme.inferface';
import { ClientCookieService } from './shared/services/client-cookie.service';
import { isNotEmpty } from './shared/empty.util';
import { CookieService } from './shared/services/cookie.service';
export const LANG_COOKIE = 'language_cookie';
@@ -65,7 +66,7 @@ export class AppComponent implements OnInit, AfterViewInit {
private cssService: CSSVariableService,
private menuService: MenuService,
private windowService: HostWindowService,
private clientCookie: ClientCookieService
private cookie: CookieService
) {
// Load all the languages that are defined as active from the config file
translate.addLangs(config.languages.filter((LangConfig) => LangConfig.active === true).map((a) => a.code));
@@ -74,7 +75,7 @@ export class AppComponent implements OnInit, AfterViewInit {
translate.setDefaultLang(config.defaultLanguage);
// Attempt to get the language from a cookie
const lang = clientCookie.get(LANG_COOKIE);
const lang = cookie.get(LANG_COOKIE);
if (isNotEmpty(lang)) {
// Cookie found
// Use the language from the cookie

View File

@@ -6,9 +6,9 @@ import {HttpClientTestingModule, HttpTestingController} from '@angular/common/ht
import { GLOBAL_CONFIG } from '../../../config';
import {LangConfig} from '../../../config/lang-config.interface';
import {Observable, of} from 'rxjs';
import { ClientCookieService } from '../services/client-cookie.service';
import { MockClientCookieService } from '../mocks/mock-client-cookie.service';
import { By } from '@angular/platform-browser';
import { CookieService } from '../services/cookie.service';
import { MockCookieService } from '../mocks/mock-cookie.service';
// This test is completely independent from any message catalogs or keys in the codebase
// The translation module is instantiated with these bogus messages that we aren't using anyway.
@@ -31,12 +31,12 @@ class CustomLoader implements TranslateLoader {
/* tslint:enable:quotemark */
/* tslint:enable:object-literal-key-quotes */
let clientCookie: ClientCookieService;
let cookie: CookieService;
describe('LangSwitchComponent', () => {
beforeEach(() => {
clientCookie = Object.assign(new MockClientCookieService());
cookie = Object.assign(new MockCookieService());
});
describe('with English and Deutsch activated, English as default', () => {
@@ -73,7 +73,7 @@ describe('LangSwitchComponent', () => {
providers: [
TranslateService,
{ provide: GLOBAL_CONFIG, useValue: mockConfig },
{ provide: ClientCookieService, useValue: clientCookie }
{ provide: CookieService, useValue: cookie }
]
}).compileComponents()
.then(() => {
@@ -111,7 +111,7 @@ describe('LangSwitchComponent', () => {
describe('when selecting a language', () => {
beforeEach(() => {
spyOn(translate, 'use');
spyOn(clientCookie, 'set');
spyOn(cookie, 'set');
const langItem = fixture.debugElement.query(By.css('.dropdown-item')).nativeElement;
langItem.click();
fixture.detectChanges();
@@ -122,7 +122,7 @@ describe('LangSwitchComponent', () => {
});
it('should set the client\'s language cookie', () => {
expect(clientCookie.set).toHaveBeenCalled();
expect(cookie.set).toHaveBeenCalled();
});
});
});
@@ -162,7 +162,7 @@ describe('LangSwitchComponent', () => {
providers: [
TranslateService,
{ provide: GLOBAL_CONFIG, useValue: mockConfig },
{ provide: ClientCookieService, useValue: clientCookie }
{ provide: CookieService, useValue: cookie }
]
}).compileComponents();
translate = TestBed.get(TranslateService);

View File

@@ -4,6 +4,7 @@ import {TranslateService} from '@ngx-translate/core';
import {LangConfig} from '../../../config/lang-config.interface';
import { ClientCookieService } from '../services/client-cookie.service';
import { LANG_COOKIE } from '../../app.component';
import { CookieService } from '../services/cookie.service';
@Component({
selector: 'ds-lang-switch',
@@ -26,7 +27,7 @@ export class LangSwitchComponent implements OnInit {
constructor(
@Inject(GLOBAL_CONFIG) public config: GlobalConfig,
public translate: TranslateService,
public clientCookie: ClientCookieService
public cookie: CookieService
) {
}
@@ -55,7 +56,7 @@ export class LangSwitchComponent implements OnInit {
*/
useLang(lang: string) {
this.translate.use(lang);
this.clientCookie.set(LANG_COOKIE, lang);
this.cookie.set(LANG_COOKIE, lang);
}
}

View File

@@ -1,7 +1,7 @@
/**
* Mock for [[ClientCookieService]]
* Mock for [[CookieService]]
*/
export class MockClientCookieService {
export class MockCookieService {
cookies: Map<string, string>;
constructor(cookies: Map<string, string> = new Map()) {