## 概要 [Task4034: API修正(アカウント削除系)](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/4034) - アカウント削除時にJobNumberテーブルのレコードも削除するように修正 - パートナー削除時にJobNumberテーブルのレコードも削除するように修正 - テスト修正 ## レビューポイント - テストケースに不足はないか - ジョブナンバーテーブルの削除順に問題はないか ## クエリの変更 - Repositoryを変更し、クエリが変更された場合は変更内容を確認する - JobNumberテーブルのレコードを削除する処理を追加した - 既存のクエリに影響はなし ## 動作確認状況 - ローカルで確認 - 行った修正がデグレを発生させていないことを確認できるか - 既存のテストが通ることを確認 - テストしていなかった観点(ソート条件も削除されているか等)も確認するように修正 ## 補足 - 相談、参考資料などがあれば
114 lines
5.1 KiB
TypeScript
114 lines
5.1 KiB
TypeScript
import { DataSource } from 'typeorm';
|
|
import { Test, TestingModule } from '@nestjs/testing';
|
|
import { ConfigModule } from '@nestjs/config';
|
|
import { UserGroupsRepositoryModule } from '../../repositories/user_groups/user_groups.repository.module';
|
|
import { TasksRepositoryModule } from '../../repositories/tasks/tasks.repository.module';
|
|
import { AuthModule } from '../../features/auth/auth.module';
|
|
import { AdB2cModule } from '../../gateways/adb2c/adb2c.module';
|
|
import { AccountsModule } from '../../features/accounts/accounts.module';
|
|
import { UsersModule } from '../../features/users/users.module';
|
|
import { FilesModule } from '../../features/files/files.module';
|
|
import { TasksModule } from '../../features/tasks/tasks.module';
|
|
import { SendGridModule } from '../../features/../gateways/sendgrid/sendgrid.module';
|
|
import { LicensesModule } from '../../features/licenses/licenses.module';
|
|
import { AccountsRepositoryModule } from '../../repositories/accounts/accounts.repository.module';
|
|
import { UsersRepositoryModule } from '../../repositories/users/users.repository.module';
|
|
import { LicensesRepositoryModule } from '../../repositories/licenses/licenses.repository.module';
|
|
import { AudioFilesRepositoryModule } from '../../repositories/audio_files/audio_files.repository.module';
|
|
import { AudioOptionItemsRepositoryModule } from '../../repositories/audio_option_items/audio_option_items.repository.module';
|
|
import { CheckoutPermissionsRepositoryModule } from '../../repositories/checkout_permissions/checkout_permissions.repository.module';
|
|
import { WorktypesRepositoryModule } from '../../repositories/worktypes/worktypes.repository.module';
|
|
import { NotificationModule } from '../../features//notification/notification.module';
|
|
import { NotificationhubModule } from '../../gateways/notificationhub/notificationhub.module';
|
|
import { BlobstorageModule } from '../../gateways/blobstorage/blobstorage.module';
|
|
import { AuthGuardsModule } from '../../common/guards/auth/authguards.module';
|
|
import { SortCriteriaRepositoryModule } from '../../repositories/sort_criteria/sort_criteria.repository.module';
|
|
import { AuthService } from '../../features/auth/auth.service';
|
|
import { AccountsService } from '../../features/accounts/accounts.service';
|
|
import { UsersService } from '../../features/users/users.service';
|
|
import { NotificationhubService } from '../../gateways/notificationhub/notificationhub.service';
|
|
import { FilesService } from '../../features/files/files.service';
|
|
import { LicensesService } from '../../features/licenses/licenses.service';
|
|
import { TasksService } from '../../features/tasks/tasks.service';
|
|
import { TemplatesService } from '../../features/templates/templates.service';
|
|
import { TemplatesModule } from '../../features/templates/templates.module';
|
|
import { WorkflowsService } from '../../features/workflows/workflows.service';
|
|
import { WorkflowsModule } from '../../features/workflows/workflows.module';
|
|
import { TermsService } from '../../features/terms/terms.service';
|
|
import { TermsRepositoryModule } from '../../repositories/terms/terms.repository.module';
|
|
import { TermsModule } from '../../features/terms/terms.module';
|
|
import { CacheModule } from '@nestjs/common';
|
|
import { RedisModule } from '../../gateways/redis/redis.module';
|
|
import { RedisService } from '../../gateways/redis/redis.service';
|
|
import { JobNumberRepositoryModule } from '../../repositories/job_number/job_number.repository.module';
|
|
|
|
export const makeTestingModule = async (
|
|
datasource: DataSource,
|
|
): Promise<TestingModule | undefined> => {
|
|
try {
|
|
const module: TestingModule = await Test.createTestingModule({
|
|
imports: [
|
|
ConfigModule.forRoot({
|
|
envFilePath: ['.env.test', '.env'],
|
|
isGlobal: true,
|
|
}),
|
|
AuthModule,
|
|
AdB2cModule,
|
|
AccountsModule,
|
|
UsersModule,
|
|
FilesModule,
|
|
TasksModule,
|
|
UsersModule,
|
|
SendGridModule,
|
|
LicensesModule,
|
|
TemplatesModule,
|
|
WorkflowsModule,
|
|
TermsModule,
|
|
AccountsRepositoryModule,
|
|
UsersRepositoryModule,
|
|
LicensesRepositoryModule,
|
|
AudioFilesRepositoryModule,
|
|
AudioOptionItemsRepositoryModule,
|
|
TasksRepositoryModule,
|
|
CheckoutPermissionsRepositoryModule,
|
|
UserGroupsRepositoryModule,
|
|
UserGroupsRepositoryModule,
|
|
NotificationModule,
|
|
NotificationhubModule,
|
|
BlobstorageModule,
|
|
AuthGuardsModule,
|
|
SortCriteriaRepositoryModule,
|
|
WorktypesRepositoryModule,
|
|
TermsRepositoryModule,
|
|
JobNumberRepositoryModule,
|
|
RedisModule,
|
|
CacheModule.register({ isGlobal: true, ttl: 86400 }),
|
|
],
|
|
providers: [
|
|
AuthService,
|
|
AccountsService,
|
|
UsersService,
|
|
NotificationhubService,
|
|
FilesService,
|
|
TasksService,
|
|
LicensesService,
|
|
TemplatesService,
|
|
WorkflowsService,
|
|
TermsService,
|
|
RedisService,
|
|
],
|
|
})
|
|
.useMocker(async (token) => {
|
|
switch (token) {
|
|
case DataSource:
|
|
return datasource;
|
|
}
|
|
})
|
|
.compile();
|
|
|
|
return module;
|
|
} catch (e) {
|
|
console.log(e);
|
|
}
|
|
};
|