Browse Source

LanguagesService tests.

pull/130/head
Sebastian Stehle 9 years ago
parent
commit
73086d5f34
  1. 4
      src/Squidex/app/features/settings/pages/languages/languages-page.component.ts
  2. 4
      src/Squidex/app/shared/module.ts
  3. 65
      src/Squidex/app/shared/services/languages.service.spec.ts
  4. 2
      src/Squidex/app/shared/services/languages.service.ts

4
src/Squidex/app/features/settings/pages/languages/languages-page.component.ts

@ -18,7 +18,7 @@ import {
ImmutableArray,
MessageBus,
LanguageDto,
LanguageService,
LanguagesService,
NotificationService,
Version
} from 'shared';
@ -44,7 +44,7 @@ export class LanguagesPageComponent extends AppComponentBase implements OnInit {
constructor(apps: AppsStoreService, notifications: NotificationService,
private readonly appLanguagesService: AppLanguagesService,
private readonly languagesService: LanguageService,
private readonly languagesService: LanguagesService,
private readonly messageBus: MessageBus,
private readonly formBuilder: FormBuilder
) {

4
src/Squidex/app/shared/module.ts

@ -30,7 +30,7 @@ import {
HistoryComponent,
HistoryService,
LanguageSelectorComponent,
LanguageService,
LanguagesService,
MustBeAuthenticatedGuard,
MustBeNotAuthenticatedGuard,
PlansService,
@ -108,7 +108,7 @@ export class SqxSharedModule {
EventConsumersService,
HelpService,
HistoryService,
LanguageService,
LanguagesService,
MustBeAuthenticatedGuard,
MustBeNotAuthenticatedGuard,
PlansService,

65
src/Squidex/app/shared/services/languages.service.spec.ts

@ -0,0 +1,65 @@
/*
* Squidex Headless CMS
*
* @license
* Copyright (c) Sebastian Stehle. All rights reserved
*/
import { HttpClientTestingModule, HttpTestingController } from '@angular/common/http/testing';
import { inject, TestBed } from '@angular/core/testing';
import {
ApiUrlConfig,
LanguageDto,
LanguagesService
} from './../';
describe('LanguageService', () => {
beforeEach(() => {
TestBed.configureTestingModule({
imports: [
HttpClientTestingModule
],
providers: [
LanguagesService,
{ provide: ApiUrlConfig, useValue: new ApiUrlConfig('http://service/p/') }
]
});
});
afterEach(inject([HttpTestingController], (httpMock: HttpTestingController) => {
httpMock.verify();
}));
it('should make get request to get languages',
inject([LanguagesService, HttpTestingController], (languagesService: LanguagesService, httpMock: HttpTestingController) => {
let languages: LanguageDto[] | null = null;
languagesService.getLanguages().subscribe(result => {
languages = result;
});
const req = httpMock.expectOne('http://service/p/api/languages');
expect(req.request.method).toEqual('GET');
expect(req.request.headers.get('If-Match')).toBeNull();
req.flush([
{
iso2Code: 'de',
englishName: 'German'
},
{
iso2Code: 'en',
englishName: 'English'
}
]);
expect(languages).toEqual(
[
new LanguageDto('de', 'German'),
new LanguageDto('en', 'English')
]);
}));
});

2
src/Squidex/app/shared/services/languages.service.ts

@ -22,7 +22,7 @@ export class LanguageDto {
}
@Injectable()
export class LanguageService {
export class LanguagesService {
constructor(
private readonly http: HttpClient,
private readonly apiUrl: ApiUrlConfig

Loading…
Cancel
Save