juice-shop

Форк
0
/
configuration.service.spec.ts 
65 строк · 2.2 Кб
1
/*
2
 * Copyright (c) 2014-2024 Bjoern Kimminich & the OWASP Juice Shop contributors.
3
 * SPDX-License-Identifier: MIT
4
 */
5

6
import { fakeAsync, inject, TestBed, tick } from '@angular/core/testing'
7
import { HttpClientTestingModule, HttpTestingController } from '@angular/common/http/testing'
8
import { ConfigurationService } from './configuration.service'
9

10
describe('ConfigurationService', () => {
11
  beforeEach(() => {
12
    TestBed.configureTestingModule({
13
      imports: [HttpClientTestingModule],
14
      providers: [ConfigurationService]
15
    })
16
  })
17

18
  it('should be created', inject([ConfigurationService], (service: ConfigurationService) => {
19
    expect(service).toBeTruthy()
20
  }))
21

22
  it('should get application configuration directly from the rest api',
23
    inject([ConfigurationService, HttpTestingController],
24
      fakeAsync((service: ConfigurationService, httpMock: HttpTestingController) => {
25
        let res: any
26
        service.getApplicationConfiguration().subscribe(data => { res = data })
27

28
        const req = httpMock.expectOne('http://localhost:3000/rest/admin/application-configuration')
29
        req.flush({
30
          config:
31
            {
32
              version: '8.0.0',
33
              showGitHubLinks: false
34
            }
35
        })
36

37
        tick()
38

39
        const data = res
40
        expect(data.version).toBe('8.0.0')
41
        expect(data.showGitHubLink).toBeFalsy()
42

43
        httpMock.verify()
44
      })
45
    ))
46

47
  it('should throw an error on recieving an error from the server',
48
    inject([ConfigurationService, HttpTestingController],
49
      fakeAsync((service: ConfigurationService, httpMock: HttpTestingController) => {
50
        let res: any
51
        service.getApplicationConfiguration().subscribe(data => {
52
          console.log(data)
53
        }, (err) => (res = err))
54
        const req = httpMock.expectOne('http://localhost:3000/rest/admin/application-configuration')
55
        req.error(new ErrorEvent('Request failed'), { status: 404, statusText: 'Request failed' })
56
        tick()
57

58
        const error = res
59
        expect(service.getApplicationConfiguration).toThrow()
60
        expect(error.status).toBe(404)
61
        expect(error.statusText).toBe('Request failed')
62
        httpMock.verify()
63
      })
64
    ))
65
})
66

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.