我正在测试以下服务:
@Injectable()
export class TripService {
private readonly logger = new Logger('TripService');
constructor(
@InjectRepository(TripEntity)
private tripRepository: Repository<TripEntity>
) {}
public async showTrip(clientId: string, tripId: string): Promise<Partial<TripEntity>> {
const trip = await this.tripRepository
.createQueryBuilder('trips')
.innerJoinAndSelect('trips.driver', 'driver', 'driver.clientId = :clientId', { clientId })
.where({ id: tripId })
.select([
'trips.id',
'trips.distance',
'trips.sourceAddress',
'trips.destinationAddress',
'trips.startTime',
'trips.endTime',
'trips.createdAt'
])
.getOne();
if (!trip) {
throw new HttpException('Trip not found', HttpStatus.NOT_FOUND);
}
return trip;
}
}
Run Code Online (Sandbox Code Playgroud)
我的存储库模拟:
export const repositoryMockFactory: () => MockType<Repository<any>> = jest.fn(() => ({ …Run Code Online (Sandbox Code Playgroud) 我正在测试以下服务:
\n\nimport { HttpException, HttpStatus, Injectable, Logger } from '@nestjs/common';\nimport { InjectRepository } from '@nestjs/typeorm';\nimport { extend } from 'lodash';\nimport { Repository } from 'typeorm';\n\nimport { DriverDTO } from './driver.dto';\nimport { DriverEntity } from './driver.entity';\n\n@Injectable()\nexport class DriverService {\n private logger = new Logger('DriverService');\n constructor(\n @InjectRepository(DriverEntity)\n private driverRepository: Repository<DriverEntity>,\n ) { }\n\n async create(clientId: string, data: DriverDTO): Promise<Partial<DriverEntity>> {\n let driver = await this.driverRepository.findOne({ where: { clientId, driverId: data.driverId } });\n this.logger.log(driver);\n if (driver) {\n throw new HttpException('Driver already exists', …Run Code Online (Sandbox Code Playgroud)