universo-platform-3d

Форк
0
/
godot-server-override-config.integration-spec.ts 
92 строки · 3.1 Кб
1
import { INestApplication } from '@nestjs/common'
2
import { Test, TestingModule } from '@nestjs/testing'
3
import request from 'supertest'
4
import { GodotServerOverrideConfigController } from '../src/godot-server-override-config/godot-server-override-config.controller'
5
import { GodotServerOverrideConfigService } from '../src/godot-server-override-config/godot-server-override-config.service'
6
import { FileUploadService } from '../src/util/file-upload/file-upload.service'
7
import { SpaceManagerExternalService } from './../src/zone/space-manager-external.service'
8

9
import { beforeAll, describe, it } from 'vitest'
10
import { FirebaseAuthenticationService } from '../src/firebase/firebase-authentication.service'
11
import { LoggerModule } from '../src/util/logger/logger.module'
12
import { getMockClassesForProvidersArray } from './mocks/service.mocks'
13
import { spaceManagerExternalServiceMock } from './mocks/space-manager-external-service.mock'
14

15
describe('Godot Server Override Config (Integration)', () => {
16
  let app: INestApplication
17
  let service: GodotServerOverrideConfigService
18
  // Modify mockEntity as needed for the test
19
  const id = 'some-space-id'
20
  const mockEntity: any = {
21
    spaceId: id
22
  }
23

24
  beforeAll(async () => {
25
    const moduleFixture: TestingModule = await Test.createTestingModule({
26
      imports: [LoggerModule],
27
      controllers: [GodotServerOverrideConfigController],
28
      providers: [
29
        ...getMockClassesForProvidersArray([
30
          FirebaseAuthenticationService,
31
          FileUploadService,
32
          GodotServerOverrideConfigService
33
        ]),
34
        {
35
          provide: SpaceManagerExternalService,
36
          useValue: spaceManagerExternalServiceMock
37
        }
38
      ]
39
    }).compile()
40

41
    app = moduleFixture.createNestApplication()
42
    await app.init()
43

44
    service = moduleFixture.get(GodotServerOverrideConfigService)
45
  })
46

47
  // TODO having trouble with async/await tests here, but works on Postman
48
  // xit('GET one by space ID', async () => {
49
  //   // Arrange
50
  //   vi
51
  //     .spyOn(service, 'findOne')
52
  //     .mockResolvedValue(mockEntity as GodotServerOverrideConfigDocument)
53
  //   // TODO this test doesn't do much
54
  //   jest.spyOn(service, 'findOneFormatted').mockResolvedValue('someString')
55

56
  //   // Act
57
  //   await request(app.getHttpServer())
58
  //     .get(`/godot-server-override-config/${id}`)
59

60
  //     // Assert
61
  //     .expect(200)
62
  //     .expect(await service.findOneFormatted('some-id'))
63
  // })
64

65
  it('GET one without space ID: should return default', async () => {
66
    // Arrange
67

68
    // Act
69
    await request(app.getHttpServer())
70
      .get(`/godot-server-override-config/`)
71

72
      // Assert
73
      .expect(404)
74
  })
75

76
  // running into weirdness with a 400 bad request here, but it works in Postman
77
  // xit('create one', async () => {
78
  //   // Arrange
79
  //   vi
80
  //     .spyOn(service, 'create')
81
  //     .mockResolvedValue(mockEntity as GodotServerOverrideConfigDocument)
82

83
  //   // Act
84
  //   await request(app.getHttpServer())
85
  //     .post('/godot-server-override-config')
86
  //     .send(mockEntity)
87

88
  //     // Assert
89
  //     .expect(201)
90
  //     .expect(await service.create(mockEntity))
91
  // })
92
})
93

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

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

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

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