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:
parent
ffd6eb4e68
commit
68df7cd728
@ -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);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user