|
@@ -6,20 +6,21 @@ import {
|
|
|
TestDataFactory
|
|
TestDataFactory
|
|
|
} from '~/utils/server/integration-test-db';
|
|
} from '~/utils/server/integration-test-db';
|
|
|
import { IntegrationTestAssertions } from '~/utils/server/integration-test-utils';
|
|
import { IntegrationTestAssertions } from '~/utils/server/integration-test-utils';
|
|
|
-import { activitiesRoutes } from '@/server/api/admin/activities';
|
|
|
|
|
|
|
+import { adminActivitiesRoutesExport } from '@/server/api';
|
|
|
import { AuthService } from '@/server/modules/auth/auth.service';
|
|
import { AuthService } from '@/server/modules/auth/auth.service';
|
|
|
|
|
+import { ActivityType } from '@/server/modules/activities/activity.entity';
|
|
|
import { UserService } from '@/server/modules/users/user.service';
|
|
import { UserService } from '@/server/modules/users/user.service';
|
|
|
|
|
|
|
|
// 设置集成测试钩子
|
|
// 设置集成测试钩子
|
|
|
setupIntegrationDatabaseHooks()
|
|
setupIntegrationDatabaseHooks()
|
|
|
|
|
|
|
|
describe('活动管理API集成测试', () => {
|
|
describe('活动管理API集成测试', () => {
|
|
|
- let client: ReturnType<typeof testClient<typeof activitiesRoutes>>['api']['v1']['admin'];
|
|
|
|
|
|
|
+ let client: ReturnType<typeof testClient<typeof adminActivitiesRoutesExport>>['api']['v1']['admin'];
|
|
|
let testToken: string;
|
|
let testToken: string;
|
|
|
|
|
|
|
|
beforeEach(async () => {
|
|
beforeEach(async () => {
|
|
|
// 创建测试客户端
|
|
// 创建测试客户端
|
|
|
- client = testClient(activitiesRoutes).api.v1.admin;
|
|
|
|
|
|
|
+ client = testClient(adminActivitiesRoutesExport).api.v1.admin;
|
|
|
|
|
|
|
|
// 创建测试用户并生成token
|
|
// 创建测试用户并生成token
|
|
|
const dataSource = await IntegrationTestDatabase.getDataSource();
|
|
const dataSource = await IntegrationTestDatabase.getDataSource();
|
|
@@ -39,7 +40,7 @@ describe('活动管理API集成测试', () => {
|
|
|
const activityData = {
|
|
const activityData = {
|
|
|
name: '测试去程活动',
|
|
name: '测试去程活动',
|
|
|
description: '这是一个测试去程活动',
|
|
description: '这是一个测试去程活动',
|
|
|
- type: 'departure' as const,
|
|
|
|
|
|
|
+ type: ActivityType.DEPARTURE,
|
|
|
startDate: '2025-10-17T08:00:00.000Z',
|
|
startDate: '2025-10-17T08:00:00.000Z',
|
|
|
endDate: '2025-10-17T18:00:00.000Z'
|
|
endDate: '2025-10-17T18:00:00.000Z'
|
|
|
};
|
|
};
|
|
@@ -71,7 +72,7 @@ describe('活动管理API集成测试', () => {
|
|
|
const activityData = {
|
|
const activityData = {
|
|
|
name: '测试返程活动',
|
|
name: '测试返程活动',
|
|
|
description: '这是一个测试返程活动',
|
|
description: '这是一个测试返程活动',
|
|
|
- type: 'return' as const,
|
|
|
|
|
|
|
+ type: ActivityType.RETURN,
|
|
|
startDate: '2025-10-17T16:00:00.000Z',
|
|
startDate: '2025-10-17T16:00:00.000Z',
|
|
|
endDate: '2025-10-17T20:00:00.000Z'
|
|
endDate: '2025-10-17T20:00:00.000Z'
|
|
|
};
|
|
};
|
|
@@ -121,8 +122,8 @@ describe('活动管理API集成测试', () => {
|
|
|
if (!dataSource) throw new Error('Database not initialized');
|
|
if (!dataSource) throw new Error('Database not initialized');
|
|
|
|
|
|
|
|
// 创建几个测试活动
|
|
// 创建几个测试活动
|
|
|
- await TestDataFactory.createTestActivity(dataSource, { name: '活动1', type: 'departure' });
|
|
|
|
|
- await TestDataFactory.createTestActivity(dataSource, { name: '活动2', type: 'return' });
|
|
|
|
|
|
|
+ await TestDataFactory.createTestActivity(dataSource, { name: '活动1', type: 'departure' as const });
|
|
|
|
|
+ await TestDataFactory.createTestActivity(dataSource, { name: '活动2', type: 'return' as const });
|
|
|
|
|
|
|
|
const response = await client.activities.$get({
|
|
const response = await client.activities.$get({
|
|
|
query: {}
|
|
query: {}
|
|
@@ -415,9 +416,9 @@ describe('活动管理API集成测试', () => {
|
|
|
const dataSource = await IntegrationTestDatabase.getDataSource();
|
|
const dataSource = await IntegrationTestDatabase.getDataSource();
|
|
|
if (!dataSource) throw new Error('Database not initialized');
|
|
if (!dataSource) throw new Error('Database not initialized');
|
|
|
|
|
|
|
|
- await TestDataFactory.createTestActivity(dataSource, { name: '去程活动1', type: 'departure' });
|
|
|
|
|
- await TestDataFactory.createTestActivity(dataSource, { name: '去程活动2', type: 'departure' });
|
|
|
|
|
- await TestDataFactory.createTestActivity(dataSource, { name: '返程活动1', type: 'return' });
|
|
|
|
|
|
|
+ await TestDataFactory.createTestActivity(dataSource, { name: '去程活动1', type: 'departure' as const });
|
|
|
|
|
+ await TestDataFactory.createTestActivity(dataSource, { name: '去程活动2', type: 'departure' as const });
|
|
|
|
|
+ await TestDataFactory.createTestActivity(dataSource, { name: '返程活动1', type: 'return' as const });
|
|
|
|
|
|
|
|
const response = await client.activities.$get({
|
|
const response = await client.activities.$get({
|
|
|
query: { filters: { type: 'departure' } }
|
|
query: { filters: { type: 'departure' } }
|