Merged PR 904: POST /accounts/worktypes
## 概要 [Task3985: POST /accounts/worktypes](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/3985) - `POST /accounts/worktypes`のリクエストバリデータにテストを追加しました。 ## レビューポイント - テストケースに不足はないか? ## UIの変更 - なし ## クエリの変更 - なし ## 動作確認状況 - ローカルで確認 - 行った修正がデグレを発生させていないことを確認できるか - 具体的にどのような確認をしたか - テストの追加のみなので影響なし
This commit is contained in:
parent
261a5afbdd
commit
9736d23653
@ -8,6 +8,7 @@ import {
|
||||
DeletePartnerAccountRequest,
|
||||
GetPartnerUsersRequest,
|
||||
UpdatePartnerInfoRequest,
|
||||
CreateWorktypesRequest,
|
||||
} from './types/types';
|
||||
import { plainToClass } from 'class-transformer';
|
||||
import { validate } from 'class-validator';
|
||||
@ -41,6 +42,88 @@ describe('AccountsController', () => {
|
||||
expect(controller).toBeDefined();
|
||||
});
|
||||
|
||||
describe('valdation CreateWorktypesRequest', () => {
|
||||
it('最低限の有効なリクエストが成功する', async () => {
|
||||
const request = new CreateWorktypesRequest();
|
||||
request.worktypeId = 'TEST';
|
||||
|
||||
const valdationObject = plainToClass(CreateWorktypesRequest, request);
|
||||
|
||||
const errors = await validate(valdationObject);
|
||||
expect(errors.length).toBe(0);
|
||||
});
|
||||
it('worktypeIdが指定されていない場合、リクエストが失敗する', async () => {
|
||||
const request = new CreateWorktypesRequest();
|
||||
|
||||
const valdationObject = plainToClass(CreateWorktypesRequest, request);
|
||||
|
||||
const errors = await validate(valdationObject);
|
||||
expect(errors.length).toBe(1);
|
||||
});
|
||||
it('worktypeIdが空文字の場合、リクエストが失敗する', async () => {
|
||||
const request = new CreateWorktypesRequest();
|
||||
request.worktypeId = '';
|
||||
|
||||
const valdationObject = plainToClass(CreateWorktypesRequest, request);
|
||||
|
||||
const errors = await validate(valdationObject);
|
||||
expect(errors.length).toBe(1);
|
||||
});
|
||||
it('worktypeIdが16文字を超える場合、リクエストが失敗する', async () => {
|
||||
const request = new CreateWorktypesRequest();
|
||||
request.worktypeId = '123456789A1234567';
|
||||
|
||||
const valdationObject = plainToClass(CreateWorktypesRequest, request);
|
||||
|
||||
const errors = await validate(valdationObject);
|
||||
expect(errors.length).toBe(1);
|
||||
});
|
||||
it('worktypeIdが16文字の場合、リクエストが成功する', async () => {
|
||||
const request = new CreateWorktypesRequest();
|
||||
request.worktypeId = '123456789A123456';
|
||||
|
||||
const valdationObject = plainToClass(CreateWorktypesRequest, request);
|
||||
|
||||
const errors = await validate(valdationObject);
|
||||
expect(errors.length).toBe(0);
|
||||
});
|
||||
it('worktypeIdに使用不可文字が含まれる場合、リクエストが失敗する', async () => {
|
||||
const request = new CreateWorktypesRequest();
|
||||
request.worktypeId = 'test.test';
|
||||
|
||||
const valdationObject = plainToClass(CreateWorktypesRequest, request);
|
||||
|
||||
const errors = await validate(valdationObject);
|
||||
expect(errors.length).toBe(1);
|
||||
});
|
||||
it('descriptionが255文字を超える場合、リクエストが失敗する', async () => {
|
||||
const request = new CreateWorktypesRequest();
|
||||
request.worktypeId = 'TEST';
|
||||
request.description =
|
||||
'1234567A0A1234567A1A1234567A2A1234567A3A1234567A4A1234567A5A1234567A6A1234567A7A1234567A8A1234567A9A' +
|
||||
'1234567B0B1234567B1B1234567B2B1234567B3B1234567B4B1234567B5B1234567B6B1234567B7B1234567B8B1234567B9B' +
|
||||
'1234567A0A1234567A1A1234567A2A1234567A3A1234567A4A123456';
|
||||
|
||||
const valdationObject = plainToClass(CreateWorktypesRequest, request);
|
||||
|
||||
const errors = await validate(valdationObject);
|
||||
expect(errors.length).toBe(1);
|
||||
});
|
||||
it('descriptionが255文字の場合、リクエストが成功する', async () => {
|
||||
const request = new CreateWorktypesRequest();
|
||||
request.worktypeId = 'TEST';
|
||||
request.description =
|
||||
'1234567A0A1234567A1A1234567A2A1234567A3A1234567A4A1234567A5A1234567A6A1234567A7A1234567A8A1234567A9A' +
|
||||
'1234567B0B1234567B1B1234567B2B1234567B3B1234567B4B1234567B5B1234567B6B1234567B7B1234567B8B1234567B9B' +
|
||||
'1234567A0A1234567A1A1234567A2A1234567A3A1234567A4A12345';
|
||||
|
||||
const valdationObject = plainToClass(CreateWorktypesRequest, request);
|
||||
|
||||
const errors = await validate(valdationObject);
|
||||
expect(errors.length).toBe(0);
|
||||
});
|
||||
});
|
||||
|
||||
describe('valdation switchParentRequest', () => {
|
||||
it('最低限の有効なリクエストが成功する', async () => {
|
||||
const request = new SwitchParentRequest();
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user