diff --git a/src/akun/akun.controller.spec.ts b/src/akun/akun.controller.spec.ts deleted file mode 100644 index 7f11ae57ea74daaa78c6c627d433afda62821322..0000000000000000000000000000000000000000 --- a/src/akun/akun.controller.spec.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { Test, TestingModule } from "@nestjs/testing"; -import { AkunController } from "./akun.controller"; - -describe("AkunController", () => { - let controller: AkunController; - - beforeEach(async () => { - const module: TestingModule = await Test.createTestingModule({ - controllers: [AkunController], - }).compile(); - - controller = module.get<AkunController>(AkunController); - }); - - it("should be defined", () => { - expect(controller).toBeDefined(); - }); -}); diff --git a/src/akun/akun.controller.ts b/src/akun/akun.controller.ts deleted file mode 100644 index 09d62007899f5517e5f9c59a5180057f2289e133..0000000000000000000000000000000000000000 --- a/src/akun/akun.controller.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { Controller, Get, Query } from "@nestjs/common"; -import { AkunService } from "./akun.service"; - -@Controller("akun") -export class AkunController { - constructor(private akunService: AkunService) {} - - @Get("/") - findAll( - @Query("page") page: number = 1, - @Query("limit") limit: number = 10, - @Query("search") search: string = "", - ) { - return this.akunService.findAll(page, limit, search); - } -} diff --git a/src/akun/akun.module.ts b/src/akun/akun.module.ts deleted file mode 100644 index 0da316c405b5d9e8e20da627fbce26057e55ffdc..0000000000000000000000000000000000000000 --- a/src/akun/akun.module.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { Module } from "@nestjs/common"; -import { AkunController } from "./akun.controller"; -import { AkunService } from "./akun.service"; -import { TypeOrmModule } from "@nestjs/typeorm"; -import { Pengguna } from "src/entities/pengguna.entity"; - -@Module({ - imports: [TypeOrmModule.forFeature([Pengguna])], - controllers: [AkunController], - providers: [AkunService], -}) -export class AkunModule {} diff --git a/src/akun/akun.service.spec.ts b/src/akun/akun.service.spec.ts deleted file mode 100644 index 4eb3cfd68418cfebb167aaf7f26350860ffb819e..0000000000000000000000000000000000000000 --- a/src/akun/akun.service.spec.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { Test, TestingModule } from "@nestjs/testing"; -import { AkunService } from "./akun.service"; - -describe("AkunService", () => { - let service: AkunService; - - beforeEach(async () => { - const module: TestingModule = await Test.createTestingModule({ - providers: [AkunService], - }).compile(); - - service = module.get<AkunService>(AkunService); - }); - - it("should be defined", () => { - expect(service).toBeDefined(); - }); -}); diff --git a/src/akun/akun.service.ts b/src/akun/akun.service.ts deleted file mode 100644 index f955ef010bedfef0b74bbc7ddce0bf22eb0a094a..0000000000000000000000000000000000000000 --- a/src/akun/akun.service.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { Injectable } from "@nestjs/common"; -import { InjectRepository } from "@nestjs/typeorm"; -import { Pengguna } from "src/entities/pengguna.entity"; -import { Repository } from "typeorm"; - -@Injectable() -export class AkunService { - constructor( - @InjectRepository(Pengguna) - private penggunaRepository: Repository<Pengguna>, - ) {} - - async findAll(page: number, limit: number, search: string) { - return await this.penggunaRepository - .createQueryBuilder("pengguna") - .where("pengguna.nama ILIKE :search", { search: `%${search}%` }) - .skip((page - 1) * limit) - .take(limit) - .getMany(); - } -} diff --git a/src/app.controller.spec.ts b/src/app.controller.spec.ts deleted file mode 100644 index f643a709a5cbd11fe1e53a51937b9cfbc33771c4..0000000000000000000000000000000000000000 --- a/src/app.controller.spec.ts +++ /dev/null @@ -1,22 +0,0 @@ -import { Test, TestingModule } from "@nestjs/testing"; -import { AppController } from "./app.controller"; -import { AppService } from "./app.service"; - -describe("AppController", () => { - let appController: AppController; - - beforeEach(async () => { - const app: TestingModule = await Test.createTestingModule({ - controllers: [AppController], - providers: [AppService], - }).compile(); - - appController = app.get<AppController>(AppController); - }); - - describe("root", () => { - it('should return "Hello World!"', () => { - expect(appController.getHello()).toBe("Hello World!"); - }); - }); -}); diff --git a/src/app.module.ts b/src/app.module.ts index 6b311daeee9094e337f93e8bccaa58e97273479b..aedee62cd4d24b2846de9fcd8f750f8c9a6c6834 100644 --- a/src/app.module.ts +++ b/src/app.module.ts @@ -22,7 +22,6 @@ import { PembimbingSeminar } from "./entities/pembimbingSeminar.entity"; import { PembimbingSidang } from "./entities/pembimbingSidang.entity"; import { PengujiSidang } from "./entities/pengujiSidang.entity"; import { RegistrasiTesisModule } from "./registrasi-tesis/registrasi-tesis.module"; -import { AkunModule } from "./akun/akun.module"; @Module({ imports: [ @@ -58,7 +57,6 @@ import { AkunModule } from "./akun/akun.module"; synchronize: true, }), RegistrasiTesisModule, - AkunModule, ], controllers: [AppController], providers: [AppService], diff --git a/src/dto/registrasi-topik.ts b/src/dto/registrasi-topik.ts index 0723ca85676da183cd75d8c1b03646db2c295205..3d0021750739795336deb7d08c75ee7d14f36141 100644 --- a/src/dto/registrasi-topik.ts +++ b/src/dto/registrasi-topik.ts @@ -1,5 +1,4 @@ export class RegistrasiTopikDto { - id: string; idMahasiswa: string; idPembimbing: string; judulTopik: string; diff --git a/src/entities/auditLog.entity.ts b/src/entities/auditLog.entity.ts index 2018517919e214c113c46f428232883ca0299fcb..c95d05a03fb11fb13d835bc1e6c64b22e107bff6 100644 --- a/src/entities/auditLog.entity.ts +++ b/src/entities/auditLog.entity.ts @@ -7,5 +7,5 @@ export class AuditLog { id: string; @ManyToOne(() => Pengguna, (pengguna) => pengguna.id) - pengguna: string; + pengguna: Pengguna; } diff --git a/src/entities/bimbingan.entity.ts b/src/entities/bimbingan.entity.ts index 022dcb88f286b1ada30cdc122fc80902d6130e49..997e08193353a428c388ee21ee96a9c4ca146020 100644 --- a/src/entities/bimbingan.entity.ts +++ b/src/entities/bimbingan.entity.ts @@ -8,8 +8,8 @@ export class Bimbingan { id: string; @ManyToOne(() => Topik, (topik) => topik.id) - topik: string; + topik: Topik; @ManyToOne(() => Pengguna, (pengguna) => pengguna.id) - mahasiswa: string; + mahasiswa: Pengguna; } diff --git a/src/entities/dosenBimbingan.entity.ts b/src/entities/dosenBimbingan.entity.ts index e03cb6e9afb207721f90c609b4a2f98df3bab6ad..50450bf3ad46f912b6b387944240e0d15a93c318 100644 --- a/src/entities/dosenBimbingan.entity.ts +++ b/src/entities/dosenBimbingan.entity.ts @@ -8,8 +8,8 @@ export class DosenBimbingan { id: string; @ManyToOne(() => Bimbingan, (bimbingan) => bimbingan.id) - bimbingan: string; + bimbingan: Bimbingan; @ManyToOne(() => Pengguna, (pengguna) => pengguna.id) - dosen: string; + dosen: Pengguna; } diff --git a/src/entities/mahasiswaKelas.ts b/src/entities/mahasiswaKelas.ts index 9bd19885c7e2a15f7b63f9eadcf07a3bc5ade54a..2c8422498639304cb86e2cb7f7eefacc3614b38d 100644 --- a/src/entities/mahasiswaKelas.ts +++ b/src/entities/mahasiswaKelas.ts @@ -8,8 +8,8 @@ export class MahasiswaKelas { id: string; @ManyToOne(() => Kelas, (kelas) => kelas.id) - kelas: string; + kelas: Kelas; @ManyToOne(() => Pengguna, (pengguna) => pengguna.id) - mahasiswa: string; + mahasiswa: Pengguna; } diff --git a/src/entities/pembimbingSeminar.entity.ts b/src/entities/pembimbingSeminar.entity.ts index 49ef1e5f244e03f30328076657e7eba69f5823b2..024ebe5b57e6835441faa33d687137fb82565cbb 100644 --- a/src/entities/pembimbingSeminar.entity.ts +++ b/src/entities/pembimbingSeminar.entity.ts @@ -8,8 +8,8 @@ export class PembimbingSeminar { id: string; @ManyToOne(() => Seminar, (seminar) => seminar.id) - seminar: string; + seminar: Seminar; @ManyToOne(() => Pengguna, (pengguna) => pengguna.id) - dosen: string; + dosen: Pengguna; } diff --git a/src/entities/pembimbingSidang.entity.ts b/src/entities/pembimbingSidang.entity.ts index 25837a6a72f836896ab91354127e68f93e8c7fd9..a3d9dbec55b4d3e94d7a1e6d8b14262b10752e3d 100644 --- a/src/entities/pembimbingSidang.entity.ts +++ b/src/entities/pembimbingSidang.entity.ts @@ -8,8 +8,8 @@ export class PembimbingSidang { id: string; @ManyToOne(() => Sidang, (sidang) => sidang.id) - sidang: string; + sidang: Sidang; @ManyToOne(() => Pengguna, (pengguna) => pengguna.id) - dosen: string; + dosen: Pengguna; } diff --git a/src/entities/pengajarKelas.entity.ts b/src/entities/pengajarKelas.entity.ts index 8dc2ea49d3119cd21b8bf46c5a326e77b5c4215d..ad5b1351996cf9c2dba15bcd5aff65d270fa1e74 100644 --- a/src/entities/pengajarKelas.entity.ts +++ b/src/entities/pengajarKelas.entity.ts @@ -8,8 +8,8 @@ export class PengajarKelas { id: string; @ManyToOne(() => Kelas, (kelas) => kelas.id) - kelas: string; + kelas: Kelas; @ManyToOne(() => Pengguna, (pengguna) => pengguna.id) - dosen: string; + dosen: Pengguna; } diff --git a/src/entities/pengajuanPengambilanTopik.entity.ts b/src/entities/pengajuanPengambilanTopik.entity.ts index e9d41023b6028d79f468bbf5fe8b8d1d6fbe136e..01a193286188f877065398c2749e17e4937ee797 100644 --- a/src/entities/pengajuanPengambilanTopik.entity.ts +++ b/src/entities/pengajuanPengambilanTopik.entity.ts @@ -10,6 +10,12 @@ export class PengajuanPengambilanTopik { @Column({ nullable: true }) disahkan: boolean; + @Column({ nullable: true }) + deskripsi: string; + + @Column() + jalurPilihan: string; + @Column({ type: "timestamptz" }) waktuPengiriman: Date; @@ -26,11 +32,11 @@ export class PengajuanPengambilanTopik { waktuPenolakan: Date; @ManyToOne(() => Topik, (topik) => topik.id) - judulTopik: string; + topik: Topik; @ManyToOne(() => Pengguna, (pengguna) => pengguna.id) - idMahasiswa: string; + mahasiswa: Pengguna; @ManyToOne(() => Pengguna, (pengguna) => pengguna.id) - idPembimbing: string; + pembimbing: Pengguna; } diff --git a/src/entities/pengambilanTopik.entity.ts b/src/entities/pengambilanTopik.entity.ts index 7250f9e76cc6082296c0518d053cc259b4735e77..6e933ed1214f0e1312076963fd7270719c5acb9c 100644 --- a/src/entities/pengambilanTopik.entity.ts +++ b/src/entities/pengambilanTopik.entity.ts @@ -1,4 +1,4 @@ -import { Entity, ManyToOne, PrimaryGeneratedColumn } from "typeorm"; +import { Column, Entity, ManyToOne, PrimaryGeneratedColumn } from "typeorm"; import { Topik } from "./topik.entity"; import { Pengguna } from "./pengguna.entity"; @@ -7,12 +7,18 @@ export class PengambilanTopik { @PrimaryGeneratedColumn("uuid") id: string; + @Column() + deskripsi: string; + + @Column() + jalurPilihan: string; + @ManyToOne(() => Topik, (topik) => topik.id) - judulTopik: string; + topik: Topik; @ManyToOne(() => Pengguna, (pengguna) => pengguna.id) - idMahasiswa: string; + mahasiswa: Pengguna; @ManyToOne(() => Pengguna, (pengguna) => pengguna.id) - idPembimbing: string; + pembimbing: Pengguna; } diff --git a/src/entities/pengujiSidang.entity.ts b/src/entities/pengujiSidang.entity.ts index f9a80497875503bacb9cff3bec771790110aa831..dfcd36b5c2f5e06bebad302b3488aedff86338c7 100644 --- a/src/entities/pengujiSidang.entity.ts +++ b/src/entities/pengujiSidang.entity.ts @@ -8,8 +8,8 @@ export class PengujiSidang { id: string; @ManyToOne(() => Sidang, (sidang) => sidang.id) - sidang: string; + sidang: Sidang; @ManyToOne(() => Pengguna, (pengguna) => pengguna.id) - dosen: string; + dosen: Pengguna; } diff --git a/src/entities/seminar.entity.ts b/src/entities/seminar.entity.ts index 42b2c4c47e83ba87c4b97038a10795fb98cf7f6d..7b0e30b783be1e1401448e73f5fd078f7d4cdd0c 100644 --- a/src/entities/seminar.entity.ts +++ b/src/entities/seminar.entity.ts @@ -9,14 +9,14 @@ export class Seminar { id: string; @ManyToOne(() => Pengguna, (pengguna) => pengguna.id) - mahasiswa: string; + mahasiswa: Pengguna; @ManyToOne( () => RangeJadwalSeminar, (rangeJadwalSeminar) => rangeJadwalSeminar.id, ) - rangeJadwal: string; + rangeJadwal: RangeJadwalSeminar; @ManyToOne(() => Ruangan, (ruangan) => ruangan.id) - ruangan: string; + ruangan: Ruangan; } diff --git a/src/entities/sidang.entity.ts b/src/entities/sidang.entity.ts index f4c175e23f466b41816e926bc663caa7a35985f6..c2dc57ecdca72af17a7496883e74a716f46dbf1c 100644 --- a/src/entities/sidang.entity.ts +++ b/src/entities/sidang.entity.ts @@ -9,14 +9,14 @@ export class Sidang { id: string; @ManyToOne(() => Pengguna, (pengguna) => pengguna.id) - mahasiswa: string; + mahasiswa: Pengguna; @ManyToOne( () => RangeJadwalSidang, (rangeJadwalSidang) => rangeJadwalSidang.id, ) - rangeJadwal: string; + rangeJadwal: RangeJadwalSidang; @ManyToOne(() => Ruangan, (ruangan) => ruangan.id) - ruangan: string; + ruangan: Ruangan; } diff --git a/src/entities/topik.entity.ts b/src/entities/topik.entity.ts index 7e7e426928b987a330784bd8fafd2cb300e7529d..e0da355499ef58e1592a7b2b2899d27201c7bb50 100644 --- a/src/entities/topik.entity.ts +++ b/src/entities/topik.entity.ts @@ -10,5 +10,5 @@ export class Topik { judul: string; @ManyToOne(() => Pengguna, (pengguna) => pengguna.id) - dosen: string; + dosen: Pengguna; } diff --git a/src/entities/tugas.entity.ts b/src/entities/tugas.entity.ts index 7d02dafa26ae87e6e96dd25ecead629b9c3cdb70..c445104cee8dbc1688e474e84031487e8d35f385 100644 --- a/src/entities/tugas.entity.ts +++ b/src/entities/tugas.entity.ts @@ -8,8 +8,8 @@ export class Tugas { id: string; @ManyToOne(() => Kelas, (kelas) => kelas.id) - kelas: string; + kelas: Kelas; @ManyToOne(() => Pengguna, (pengguna) => pengguna.id) - mahasiswa: string; + mahasiswa: Pengguna; } diff --git a/src/registrasi-tesis/registrasi-tesis.controller.spec.ts b/src/registrasi-tesis/registrasi-tesis.controller.spec.ts deleted file mode 100644 index 13313529a0bb4c307010003e733bb3dda6a59c03..0000000000000000000000000000000000000000 --- a/src/registrasi-tesis/registrasi-tesis.controller.spec.ts +++ /dev/null @@ -1,20 +0,0 @@ -import { Test, TestingModule } from "@nestjs/testing"; -import { RegistrasiTesisController } from "./registrasi-tesis.controller"; - -describe("RegistrasiTesisController", () => { - let controller: RegistrasiTesisController; - - beforeEach(async () => { - const module: TestingModule = await Test.createTestingModule({ - controllers: [RegistrasiTesisController], - }).compile(); - - controller = module.get<RegistrasiTesisController>( - RegistrasiTesisController, - ); - }); - - it("should be defined", () => { - expect(controller).toBeDefined(); - }); -}); diff --git a/src/registrasi-tesis/registrasi-tesis.controller.ts b/src/registrasi-tesis/registrasi-tesis.controller.ts index 3f534910fd0155e8f975a67819232bc1e3294436..18284cfb10c4eb44e3f38a2adc6b352d90696472 100644 --- a/src/registrasi-tesis/registrasi-tesis.controller.ts +++ b/src/registrasi-tesis/registrasi-tesis.controller.ts @@ -20,7 +20,7 @@ export class RegistrasiTesisController { @Body() topicRegistrationDto: RegistrasiTopikDto, ) { return this.registrasiTesisService.createTopicRegistration( - "1dceb29c-1e95-4dc6-895e-1321972e27d3", // TODO: Get user id from request, for now use generated UUID + "ae9697b9-590f-4820-826b-948f5e746ca7", // TODO: Get user id from request, for now use generated UUID topicRegistrationDto, ); } diff --git a/src/registrasi-tesis/registrasi-tesis.module.ts b/src/registrasi-tesis/registrasi-tesis.module.ts index 77ca8a059478f4c60d34b51a397b0b11e211d3d7..9b7a365ee001666b6b95db5168708a0b40bc9063 100644 --- a/src/registrasi-tesis/registrasi-tesis.module.ts +++ b/src/registrasi-tesis/registrasi-tesis.module.ts @@ -2,10 +2,10 @@ import { Module } from "@nestjs/common"; import { PengajuanPengambilanTopik } from "src/entities/pengajuanPengambilanTopik.entity"; import { Pengguna } from "src/entities/pengguna.entity"; import { DosenBimbingan } from "src/entities/dosenBimbingan.entity"; -import { HttpModule } from "@nestjs/axios"; import { TypeOrmModule } from "@nestjs/typeorm"; import { RegistrasiTesisController } from "./registrasi-tesis.controller"; import { RegistrasiTesisService } from "./registrasi-tesis.service"; +import { Topik } from "src/entities/topik.entity"; @Module({ imports: [ @@ -13,8 +13,8 @@ import { RegistrasiTesisService } from "./registrasi-tesis.service"; Pengguna, DosenBimbingan, PengajuanPengambilanTopik, + Topik, ]), - HttpModule, ], controllers: [RegistrasiTesisController], providers: [RegistrasiTesisService], diff --git a/src/registrasi-tesis/registrasi-tesis.service.spec.ts b/src/registrasi-tesis/registrasi-tesis.service.spec.ts deleted file mode 100644 index a52cc25adb2c423cf4187849ade2cdf5deae6f95..0000000000000000000000000000000000000000 --- a/src/registrasi-tesis/registrasi-tesis.service.spec.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { Test, TestingModule } from "@nestjs/testing"; -import { RegistrasiTesisService } from "./registrasi-tesis.service"; - -describe("RegistrasiTesisService", () => { - let service: RegistrasiTesisService; - - beforeEach(async () => { - const module: TestingModule = await Test.createTestingModule({ - providers: [RegistrasiTesisService], - }).compile(); - - service = module.get<RegistrasiTesisService>(RegistrasiTesisService); - }); - - it("should be defined", () => { - expect(service).toBeDefined(); - }); -}); diff --git a/src/registrasi-tesis/registrasi-tesis.service.ts b/src/registrasi-tesis/registrasi-tesis.service.ts index 51590d6412fb4b058e0d3dae05790a5917fbea42..39ca645e009b0ff800338d6303308b9234b1c6a1 100644 --- a/src/registrasi-tesis/registrasi-tesis.service.ts +++ b/src/registrasi-tesis/registrasi-tesis.service.ts @@ -5,6 +5,7 @@ import { PengajuanPengambilanTopik } from "src/entities/pengajuanPengambilanTopi import { RegistrasiTopikDto } from "src/dto/registrasi-topik"; import { Pengguna } from "src/entities/pengguna.entity"; import { validateId } from "src/helper/validation"; +import { Topik } from "src/entities/topik.entity"; @Injectable() export class RegistrasiTesisService { @@ -13,6 +14,8 @@ export class RegistrasiTesisService { private pengajuanPengambilanTopikRepository: Repository<PengajuanPengambilanTopik>, @InjectRepository(Pengguna) private penggunaRepository: Repository<Pengguna>, + @InjectRepository(Topik) + private topicRepostitory: Repository<Topik>, ) {} async createTopicRegistration( @@ -27,29 +30,35 @@ export class RegistrasiTesisService { { id: topicRegistrationDto.idPembimbing, object: "Pembimbing" }, ]); - // Validate user id - const user = await this.penggunaRepository.findOne({ - where: { id: userId }, - }); + // Validate user id, supervisor id + const [user, supervisor, topic] = await Promise.all([ + this.penggunaRepository.findOne({ + where: { id: userId }, + }), + this.penggunaRepository.findOne({ + where: { id: topicRegistrationDto.idPembimbing }, + }), + this.topicRepostitory.findOne({ + where: { judul: topicRegistrationDto.judulTopik }, + }), + ]); if (!user) { throw new NotFoundException("User not found."); - } - - // Validate supervisor id - const supervisor = await this.penggunaRepository.findOne({ - where: { id: topicRegistrationDto.idPembimbing }, - }); - - if (!supervisor) { + } else if (!supervisor) { throw new NotFoundException("Supervisor not found."); + } else if (!topic) { + throw new NotFoundException("Topic not found."); } // Create new registration const createdRegistration = this.pengajuanPengambilanTopikRepository.create( { ...topicRegistrationDto, - idMahasiswa: userId, + waktuPengiriman: new Date(), + mahasiswa: user, + pembimbing: supervisor, + topik: topic, }, ); @@ -59,11 +68,9 @@ export class RegistrasiTesisService { } async findByUserId(mahasiswaId: string) { - return await this.pengajuanPengambilanTopikRepository - .createQueryBuilder("pengajuanPengambilanTopik") - .where("pengajuanPengambilanTopik.mahasiswa = :mahasiswaId", { - mahasiswaId, - }) - .getMany(); + return await this.pengajuanPengambilanTopikRepository.find({ + relations: ["topik", "pembimbing"], + where: { mahasiswa: { id: mahasiswaId } }, + }); } } diff --git a/test/app.e2e-spec.ts b/test/app.e2e-spec.ts deleted file mode 100644 index 05db0a79438e0e58e57844b799696dcfebedb876..0000000000000000000000000000000000000000 --- a/test/app.e2e-spec.ts +++ /dev/null @@ -1,24 +0,0 @@ -import { Test, TestingModule } from "@nestjs/testing"; -import { INestApplication } from "@nestjs/common"; -import * as request from "supertest"; -import { AppModule } from "./../src/app.module"; - -describe("AppController (e2e)", () => { - let app: INestApplication; - - beforeEach(async () => { - const moduleFixture: TestingModule = await Test.createTestingModule({ - imports: [AppModule], - }).compile(); - - app = moduleFixture.createNestApplication(); - await app.init(); - }); - - it("/ (GET)", () => { - return request(app.getHttpServer()) - .get("/") - .expect(200) - .expect("Hello World!"); - }); -}); diff --git a/test/jest-e2e.json b/test/jest-e2e.json deleted file mode 100644 index e9d912f3e3cefc18505d3cd19b3a5a9f567f5de0..0000000000000000000000000000000000000000 --- a/test/jest-e2e.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "moduleFileExtensions": ["js", "json", "ts"], - "rootDir": ".", - "testEnvironment": "node", - "testRegex": ".e2e-spec.ts$", - "transform": { - "^.+\\.(t|j)s$": "ts-jest" - } -}