add test case
This commit is contained in:
parent
a75a27e627
commit
c283df576b
@ -3,7 +3,8 @@ import { describe } from 'node:test';
|
|||||||
import { FastifyAdapter, NestFastifyApplication } from '@nestjs/platform-fastify';
|
import { FastifyAdapter, NestFastifyApplication } from '@nestjs/platform-fastify';
|
||||||
import { Test, TestingModule } from '@nestjs/testing';
|
import { Test, TestingModule } from '@nestjs/testing';
|
||||||
|
|
||||||
import { pick } from 'lodash';
|
import { useContainer } from 'class-validator';
|
||||||
|
import { isNil, pick } from 'lodash';
|
||||||
import { DataSource } from 'typeorm';
|
import { DataSource } from 'typeorm';
|
||||||
|
|
||||||
import { AppModule } from '@/app.module';
|
import { AppModule } from '@/app.module';
|
||||||
@ -18,7 +19,7 @@ import {
|
|||||||
import { generateRandomNumber, generateUniqueRandomNumbers } from './generate-mock-data';
|
import { generateRandomNumber, generateUniqueRandomNumbers } from './generate-mock-data';
|
||||||
import { categoriesData, commentData, INIT_DATA, postData, tagData } from './test-data';
|
import { categoriesData, commentData, INIT_DATA, postData, tagData } from './test-data';
|
||||||
|
|
||||||
describe('category test', () => {
|
describe('nest app test', () => {
|
||||||
let datasource: DataSource;
|
let datasource: DataSource;
|
||||||
let app: NestFastifyApplication;
|
let app: NestFastifyApplication;
|
||||||
let categoryRepository: CategoryRepository;
|
let categoryRepository: CategoryRepository;
|
||||||
@ -36,6 +37,7 @@ describe('category test', () => {
|
|||||||
imports: [AppModule],
|
imports: [AppModule],
|
||||||
}).compile();
|
}).compile();
|
||||||
app = module.createNestApplication<NestFastifyApplication>(new FastifyAdapter());
|
app = module.createNestApplication<NestFastifyApplication>(new FastifyAdapter());
|
||||||
|
useContainer(app.select(AppModule), { fallbackOnErrors: true });
|
||||||
await app.init();
|
await app.init();
|
||||||
await app.getHttpAdapter().getInstance().ready();
|
await app.getHttpAdapter().getInstance().ready();
|
||||||
|
|
||||||
@ -94,6 +96,9 @@ describe('category test', () => {
|
|||||||
it('repository init', () => {
|
it('repository init', () => {
|
||||||
expect(categoryRepository).toBeDefined();
|
expect(categoryRepository).toBeDefined();
|
||||||
});
|
});
|
||||||
|
it('repository check data', () => {
|
||||||
|
expect(categories.length).toEqual(13);
|
||||||
|
});
|
||||||
|
|
||||||
// const category1: CreateCategoryDto = {};
|
// const category1: CreateCategoryDto = {};
|
||||||
it('create category without name', async () => {
|
it('create category without name', async () => {
|
||||||
@ -129,10 +134,64 @@ describe('category test', () => {
|
|||||||
const result = await app.inject({
|
const result = await app.inject({
|
||||||
method: 'POST',
|
method: 'POST',
|
||||||
url: '/category',
|
url: '/category',
|
||||||
body: { name: 'A'.repeat(30) },
|
body: {
|
||||||
|
name: '全栈',
|
||||||
|
},
|
||||||
});
|
});
|
||||||
expect(result.json()).toEqual({
|
expect(result.json()).toEqual({
|
||||||
message: ['The length of the category name shall not exceed 25'],
|
message: ['The Category names are duplicated'],
|
||||||
|
error: 'Bad Request',
|
||||||
|
statusCode: 400,
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
it('create category with same name 2', async () => {
|
||||||
|
const testData = categories.find((item) => !isNil(item.parent));
|
||||||
|
const result = await app.inject({
|
||||||
|
method: 'POST',
|
||||||
|
url: '/category',
|
||||||
|
body: {
|
||||||
|
name: testData.name,
|
||||||
|
parent: testData.parent.id,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
expect(result.json()).toEqual({
|
||||||
|
message: ['The Category names are duplicated'],
|
||||||
|
error: 'Bad Request',
|
||||||
|
statusCode: 400,
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
it('create category with error parent id', async () => {
|
||||||
|
const result = await app.inject({
|
||||||
|
method: 'POST',
|
||||||
|
url: '/category',
|
||||||
|
body: {
|
||||||
|
name: '全栈',
|
||||||
|
parent: '666',
|
||||||
|
},
|
||||||
|
});
|
||||||
|
expect(result.json()).toEqual({
|
||||||
|
message: [
|
||||||
|
'The format of the parent category ID is incorrect.',
|
||||||
|
'The parent category does not exist',
|
||||||
|
],
|
||||||
|
error: 'Bad Request',
|
||||||
|
statusCode: 400,
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
it('create category with not exist parent id', async () => {
|
||||||
|
const result = await app.inject({
|
||||||
|
method: 'POST',
|
||||||
|
url: '/category',
|
||||||
|
body: {
|
||||||
|
name: '全栈',
|
||||||
|
parent: '74e6c7b3-b69a-42ae-a101-41c224386e74',
|
||||||
|
},
|
||||||
|
});
|
||||||
|
expect(result.json()).toEqual({
|
||||||
|
message: ['The parent category does not exist'],
|
||||||
error: 'Bad Request',
|
error: 'Bad Request',
|
||||||
statusCode: 400,
|
statusCode: 400,
|
||||||
});
|
});
|
||||||
|
Loading…
Reference in New Issue
Block a user