Projekt

Obecné

Profil

Stáhnout (2.52 KB) Statistiky
| Větev: | Tag: | Revize:
1
import {TestBed} from '@angular/core/testing';
2

    
3
import {HttpClientTestingModule, HttpTestingController} from '@angular/common/http/testing';
4
import {environment} from '../../../environments/environment';
5
import {SettingsService} from '../api/settings.service';
6
import {Languages} from '../../enums/common.enum';
7

    
8
describe('SettingsService', () => {
9
  let service: SettingsService;
10
  let httpMock: HttpTestingController;
11
  const baseUrl: string = environment.apiUrl;
12

    
13
  beforeEach(() => {
14
    TestBed.configureTestingModule({
15
      imports: [HttpClientTestingModule],
16
      providers: [SettingsService]
17
    });
18

    
19
    service = TestBed.get(SettingsService);
20
    httpMock = TestBed.get(HttpTestingController);
21
  });
22
  afterEach(() => httpMock.verify());
23

    
24
  it('getDefaultSettings', () => {
25
    const dummyData = {
26
      sickdayCount: 3,
27
      notification: '2019/05/25 14:41:31'
28
    };
29

    
30
    service.getDefaultSettings().subscribe((data: any) => {
31
      expect(data.sickdayCount).toBeDefined();
32
      expect(data.sickdayCount).toBe(3);
33
      expect(data.notification).toBeDefined();
34
    });
35

    
36
    const req = httpMock.expectOne(baseUrl + '/api/settings');
37
    expect(req.request.method).toBe('GET');
38
    req.flush(dummyData);
39
  });
40

    
41
  it('getDefaultSettingsWithLanguage', () => {
42
    const dummyData = {
43
      sickdayCount: 3,
44
      notification: '2019/05/25 14:41:31'
45
    };
46

    
47
    service.getDefaultSettingsWithLanguage(Languages.ENGLISH).subscribe((data: any) => {
48
      expect(data.sickdayCount).toBeDefined();
49
      expect(data.sickdayCount).toBe(3);
50
      expect(data.notification).toBeDefined();
51
    });
52

    
53
    const req = httpMock.expectOne(baseUrl + '/api/settings?lang=EN');
54
    expect(req.request.method).toBe('GET');
55
    req.flush(dummyData);
56
  });
57

    
58

    
59
  it('postDefaultSettings', () => {
60
    const dummyAnswer = {
61
      answer: 'ok',
62
    };
63

    
64
    service.postDefaultSettings({sickdayCount: 3, notification: '2019/04/25 18:23:36'})
65
      .subscribe((data: any) => expect(data.answer).toBe('ok'));
66

    
67
    const req = httpMock.expectOne(baseUrl + '/api/settings');
68
    expect(req.request.method).toBe('POST');
69
    req.flush(dummyAnswer);
70
  });
71

    
72
  it('postDefaultSettingsWithLanguage', () => {
73
    const dummyAnswer = {
74
      answer: 'ok',
75
    };
76

    
77
    service.postDefaultSettingsWithLanguage({sickdayCount: 3, notification: '2019/04/25 18:23:36'}, Languages.ENGLISH)
78
      .subscribe((data: any) => expect(data.answer).toBe('ok'));
79

    
80
    const req = httpMock.expectOne(baseUrl + '/api/settings?lang=EN');
81
    expect(req.request.method).toBe('POST');
82
    req.flush(dummyAnswer);
83
  });
84

    
85
});
(1-1/3)