juice-shop

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

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

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

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

22
  it('should get address directly from the api', inject([AddressService, HttpTestingController],
23
    fakeAsync((service: AddressService, httpMock: HttpTestingController) => {
24
      let res
25
      service.get().subscribe((data) => (res = data))
26
      const req = httpMock.expectOne('http://localhost:3000/api/Addresss')
27
      req.flush({ data: 'apiResponse' })
28
      tick()
29
      expect(req.request.method).toBe('GET')
30
      expect(res).toBe('apiResponse')
31
      httpMock.verify()
32
    })
33
  ))
34

35
  it('should get single address directly from the api', inject([AddressService, HttpTestingController],
36
    fakeAsync((service: AddressService, httpMock: HttpTestingController) => {
37
      let res
38
      service.getById(1).subscribe((data) => (res = data))
39
      const req = httpMock.expectOne('http://localhost:3000/api/Addresss/1')
40
      req.flush({ data: 'apiResponse' })
41
      tick()
42
      expect(req.request.method).toBe('GET')
43
      expect(res).toBe('apiResponse')
44
      httpMock.verify()
45
    })
46
  ))
47

48
  it('should create address directly from the api', inject([AddressService, HttpTestingController],
49
    fakeAsync((service: AddressService, httpMock: HttpTestingController) => {
50
      let res
51
      service.save({}).subscribe((data) => (res = data))
52
      const req = httpMock.expectOne('http://localhost:3000/api/Addresss/')
53
      req.flush({ data: 'apiResponse' })
54
      tick()
55
      expect(req.request.method).toBe('POST')
56
      expect(res).toBe('apiResponse')
57
      httpMock.verify()
58
    })
59
  ))
60

61
  it('should update address directly from the api', inject([AddressService, HttpTestingController],
62
    fakeAsync((service: AddressService, httpMock: HttpTestingController) => {
63
      let res
64
      service.put(1, {}).subscribe((data) => (res = data))
65
      const req = httpMock.expectOne('http://localhost:3000/api/Addresss/1')
66
      req.flush({ data: 'apiResponse' })
67
      tick()
68
      expect(req.request.method).toBe('PUT')
69
      expect(res).toBe('apiResponse')
70
      httpMock.verify()
71
    })
72
  ))
73

74
  it('should delete address directly from the api', inject([AddressService, HttpTestingController],
75
    fakeAsync((service: AddressService, httpMock: HttpTestingController) => {
76
      let res
77
      service.del(1).subscribe((data) => (res = data))
78
      const req = httpMock.expectOne('http://localhost:3000/api/Addresss/1')
79
      req.flush({ data: 'apiResponse' })
80
      tick()
81
      expect(req.request.method).toBe('DELETE')
82
      expect(res).toBe('apiResponse')
83
      httpMock.verify()
84
    })
85
  ))
86
})
87

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

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

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

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