Merge branch 'develop' into release-ccb
This commit is contained in:
commit
c16a8b023c
@ -2,7 +2,7 @@ import { Test, TestingModule } from '@nestjs/testing';
|
||||
import { FilesController } from './files.controller';
|
||||
import { FilesService } from './files.service';
|
||||
import { ConfigModule } from '@nestjs/config';
|
||||
import { FileRenameRequest } from './types/types';
|
||||
import { AudioUploadFinishedRequest, FileRenameRequest } from './types/types';
|
||||
import { plainToClass } from 'class-transformer';
|
||||
import { validate } from 'class-validator';
|
||||
|
||||
@ -111,3 +111,189 @@ describe('valdation FileRenameRequest', () => {
|
||||
expect(errors.length).toBe(1);
|
||||
});
|
||||
});
|
||||
|
||||
describe('valdation AudioUploadFinishedRequest', () => {
|
||||
it('最低限の有効なリクエストが成功する', async () => {
|
||||
const request = new AudioUploadFinishedRequest();
|
||||
request.url = 'url';
|
||||
request.authorId = 'authorId';
|
||||
request.fileName = 'fileName';
|
||||
request.duration = '10';
|
||||
request.createdDate = '2024-12-31T23:59:59.999Z';
|
||||
request.finishedDate = '2024-12-31T23:59:59.999Z';
|
||||
request.uploadedDate = '2024-12-31T23:59:59.999Z';
|
||||
request.fileSize = 1;
|
||||
request.priority = '00';
|
||||
request.audioFormat = 'DSS';
|
||||
request.comment = 'comment';
|
||||
request.workType = 'workType';
|
||||
request.optionItemList = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10].map((i) => {
|
||||
return {
|
||||
optionItemLabel: `optionItemLabel${i}`,
|
||||
optionItemValue: `optionItemValue${i}`,
|
||||
};
|
||||
});
|
||||
request.isEncrypted = false;
|
||||
|
||||
const valdationObject = plainToClass(AudioUploadFinishedRequest, request);
|
||||
const errors = await validate(valdationObject);
|
||||
expect(errors.length).toBe(0);
|
||||
});
|
||||
|
||||
it('必須パラメータが空文字の場合、リクエストが失敗する', async () => {
|
||||
const request = new AudioUploadFinishedRequest();
|
||||
request.url = ''; //空文字
|
||||
request.authorId = ''; //空文字
|
||||
request.fileName = ''; //空文字
|
||||
request.duration = ''; //空文字
|
||||
request.createdDate = ''; //空文字
|
||||
request.finishedDate = ''; //空文字
|
||||
request.uploadedDate = ''; //空文字
|
||||
request.priority = ''; //空文字
|
||||
// fileSizeは設定しない
|
||||
request.audioFormat = ''; //空文字
|
||||
request.comment = 'comment';
|
||||
request.workType = 'workType';
|
||||
request.optionItemList = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10].map((i) => {
|
||||
return {
|
||||
optionItemLabel: `optionItemLabel${i}`,
|
||||
optionItemValue: `optionItemValue${i}`,
|
||||
};
|
||||
});
|
||||
request.isEncrypted = false;
|
||||
|
||||
const valdationObject = plainToClass(AudioUploadFinishedRequest, request);
|
||||
const errors = await validate(valdationObject);
|
||||
expect(errors.length).toBe(10);
|
||||
});
|
||||
it('durationが数値変換不可の場合、リクエストが失敗する', async () => {
|
||||
const request = new AudioUploadFinishedRequest();
|
||||
request.url = 'url';
|
||||
request.authorId = 'authorId';
|
||||
request.fileName = 'fileName';
|
||||
request.duration = 'aaaaa'; //数値変換不可
|
||||
request.createdDate = '2024-12-31T23:59:59.999Z';
|
||||
request.finishedDate = '2024-12-31T23:59:59.999Z';
|
||||
request.uploadedDate = '2024-12-31T23:59:59.999Z';
|
||||
request.fileSize = 1;
|
||||
request.priority = '00';
|
||||
request.audioFormat = 'DSS';
|
||||
request.comment = 'comment';
|
||||
request.workType = 'workType';
|
||||
request.optionItemList = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10].map((i) => {
|
||||
return {
|
||||
optionItemLabel: `optionItemLabel${i}`,
|
||||
optionItemValue: `optionItemValue${i}`,
|
||||
};
|
||||
});
|
||||
request.isEncrypted = false;
|
||||
|
||||
const valdationObject = plainToClass(AudioUploadFinishedRequest, request);
|
||||
const errors = await validate(valdationObject);
|
||||
expect(errors.length).toBe(1);
|
||||
});
|
||||
it('fileSizeが数値でない場合、リクエストが失敗する', async () => {
|
||||
const request = new AudioUploadFinishedRequest();
|
||||
request.url = 'url';
|
||||
request.authorId = 'authorId';
|
||||
request.fileName = 'fileName';
|
||||
request.duration = '10';
|
||||
request.createdDate = '2024-12-31T23:59:59.999Z';
|
||||
request.finishedDate = '2024-12-31T23:59:59.999Z';
|
||||
request.uploadedDate = '2024-12-31T23:59:59.999Z';
|
||||
request.fileSize = 'aaaa' as any; //数値でない
|
||||
request.priority = '00';
|
||||
request.audioFormat = 'DSS';
|
||||
request.comment = 'comment';
|
||||
request.workType = 'workType';
|
||||
request.optionItemList = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10].map((i) => {
|
||||
return {
|
||||
optionItemLabel: `optionItemLabel${i}`,
|
||||
optionItemValue: `optionItemValue${i}`,
|
||||
};
|
||||
});
|
||||
request.isEncrypted = false;
|
||||
|
||||
const valdationObject = plainToClass(AudioUploadFinishedRequest, request);
|
||||
const errors = await validate(valdationObject);
|
||||
expect(errors.length).toBe(1);
|
||||
});
|
||||
it('fileSizeがintではない場合、リクエストが失敗する', async () => {
|
||||
const request = new AudioUploadFinishedRequest();
|
||||
request.url = 'url';
|
||||
request.authorId = 'authorId';
|
||||
request.fileName = 'fileName';
|
||||
request.duration = '10';
|
||||
request.createdDate = '2024-12-31T23:59:59.999Z';
|
||||
request.finishedDate = '2024-12-31T23:59:59.999Z';
|
||||
request.uploadedDate = '2024-12-31T23:59:59.999Z';
|
||||
request.fileSize = 5.01; //integerでない
|
||||
request.priority = '00';
|
||||
request.audioFormat = 'DSS';
|
||||
request.comment = 'comment';
|
||||
request.workType = 'workType';
|
||||
request.optionItemList = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10].map((i) => {
|
||||
return {
|
||||
optionItemLabel: `optionItemLabel${i}`,
|
||||
optionItemValue: `optionItemValue${i}`,
|
||||
};
|
||||
});
|
||||
request.isEncrypted = false;
|
||||
|
||||
const valdationObject = plainToClass(AudioUploadFinishedRequest, request);
|
||||
const errors = await validate(valdationObject);
|
||||
expect(errors.length).toBe(1);
|
||||
});
|
||||
it('priorityが00,01ではない場合、リクエストが失敗する', async () => {
|
||||
const request = new AudioUploadFinishedRequest();
|
||||
request.url = 'url';
|
||||
request.authorId = 'authorId';
|
||||
request.fileName = 'fileName';
|
||||
request.duration = '10';
|
||||
request.createdDate = '2024-12-31T23:59:59.999Z';
|
||||
request.finishedDate = '2024-12-31T23:59:59.999Z';
|
||||
request.uploadedDate = '2024-12-31T23:59:59.999Z';
|
||||
request.fileSize = 1;
|
||||
request.priority = '001';
|
||||
request.audioFormat = 'DSS';
|
||||
request.comment = 'comment';
|
||||
request.workType = 'workType';
|
||||
request.optionItemList = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10].map((i) => {
|
||||
return {
|
||||
optionItemLabel: `optionItemLabel${i}`,
|
||||
optionItemValue: `optionItemValue${i}`,
|
||||
};
|
||||
});
|
||||
request.isEncrypted = false;
|
||||
|
||||
const valdationObject = plainToClass(AudioUploadFinishedRequest, request);
|
||||
const errors = await validate(valdationObject);
|
||||
expect(errors.length).toBe(1);
|
||||
});
|
||||
it('optionItemListが10件ではない場合、リクエストが失敗する', async () => {
|
||||
const request = new AudioUploadFinishedRequest();
|
||||
request.url = 'url';
|
||||
request.authorId = 'authorId';
|
||||
request.fileName = 'fileName';
|
||||
request.duration = '10';
|
||||
request.createdDate = '2024-12-31T23:59:59.999Z';
|
||||
request.finishedDate = '2024-12-31T23:59:59.999Z';
|
||||
request.uploadedDate = '2024-12-31T23:59:59.999Z';
|
||||
request.fileSize = 1;
|
||||
request.priority = '01';
|
||||
request.audioFormat = 'DSS';
|
||||
request.comment = 'comment';
|
||||
request.workType = 'workType';
|
||||
request.optionItemList = [1, 2, 3, 4, 5, 6, 7, 8, 9].map((i) => {
|
||||
return {
|
||||
optionItemLabel: `optionItemLabel${i}`,
|
||||
optionItemValue: `optionItemValue${i}`,
|
||||
};
|
||||
});
|
||||
request.isEncrypted = false;
|
||||
|
||||
const valdationObject = plainToClass(AudioUploadFinishedRequest, request);
|
||||
const errors = await validate(valdationObject);
|
||||
expect(errors.length).toBe(1);
|
||||
});
|
||||
});
|
||||
|
||||
@ -36,7 +36,7 @@ describe('getWorkflows', () => {
|
||||
database: 'odms',
|
||||
entities: [__dirname + '/../../**/*.entity{.ts,.js}'],
|
||||
synchronize: false, // trueにすると自動的にmigrationが行われるため注意
|
||||
logger: new TestLogger('file'),
|
||||
logger: new TestLogger('none'),
|
||||
logging: true,
|
||||
});
|
||||
return await s.initialize();
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user