Merged PR 887: POST /auth/token

## 概要
[Task3981: POST /auth/token](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/3981)

- 元PBI or タスクへのリンク(内容・目的などはそちらにあるはず)
- `POST /auth/token` のバリデータのUTを追加しました。

## レビューポイント
- テスト項目は適切でしょうか?

## UIの変更
- なし

## クエリの変更
- なし

## 動作確認状況
- ローカルで確認
- 行った修正がデグレを発生させていないことを確認できるか
  - 具体的にどのような確認をしたか
    - テストの修正のみなので影響なし
This commit is contained in:
makabe.t 2024-05-09 05:28:03 +00:00
parent ffd6eb4e68
commit 68df7cd728

View File

@ -6,6 +6,9 @@ import {
makeDefaultAdB2cMockValue,
} from './test/auth.service.mock';
import { ConfigModule } from '@nestjs/config';
import { TokenRequest } from './types/types';
import { plainToClass } from 'class-transformer';
import { validate } from 'class-validator';
describe('AuthController', () => {
let controller: AuthController;
@ -30,4 +33,57 @@ describe('AuthController', () => {
it('should be defined', () => {
expect(controller).toBeDefined();
});
describe('valdation token', () => {
it('最低限の有効なリクエストが成功する', async () => {
const request = new TokenRequest();
request.idToken = 'test';
request.type = 'web';
const valdationObject = plainToClass(TokenRequest, request);
const errors = await validate(valdationObject);
expect(errors.length).toBe(0);
});
it('idTokenが指定されていない場合、リクエストが失敗する', async () => {
const request = new TokenRequest();
request.type = 'web';
const valdationObject = plainToClass(TokenRequest, request);
const errors = await validate(valdationObject);
expect(errors.length).toBe(1);
});
it('idTokenが空文字の場合、リクエストが失敗する', async () => {
const request = new TokenRequest();
request.idToken = '';
request.type = 'web';
const valdationObject = plainToClass(TokenRequest, request);
const errors = await validate(valdationObject);
expect(errors.length).toBe(1);
});
it('idTokenが文字列でない場合、リクエストが失敗する', async () => {
const request = { idToken: 1, type: 'web' };
const valdationObject = plainToClass(TokenRequest, request);
const errors = await validate(valdationObject);
expect(errors.length).toBe(1);
});
it('typeが指定されていない場合、リクエストが失敗する', async () => {
const request = new TokenRequest();
request.idToken = 'test';
const valdationObject = plainToClass(TokenRequest, request);
const errors = await validate(valdationObject);
expect(errors.length).toBe(1);
});
it('typeがweb,mobile,desktop以外の場合、リクエストが失敗する', async () => {
const request = new TokenRequest();
request.idToken = 'test';
request.type = 'invalid';
const valdationObject = plainToClass(TokenRequest, request);
const errors = await validate(valdationObject);
expect(errors.length).toBe(1);
});
});
});