我正在尝试模拟 createQueryBuilder 对分页部分进行单元测试,但出现以下错误
queryBuilder.take(...).skip 不是函数
我的 createQueryBuilder 模拟
createQueryBuilder: jest.fn(() => ({
delete: jest.fn().mockReturnThis(),
innerJoinAndSelect: jest.fn().mockReturnThis(),
innerJoin: jest.fn().mockReturnThis(),
from: jest.fn().mockReturnThis(),
where: jest.fn().mockReturnThis(),
execute: jest.fn().mockReturnThis(),
getOne: jest.fn().mockReturnThis(),
orderBy : jest.fn().mockReturnThis(),
take : skip => ({
skip: 5
}),
}))
Run Code Online (Sandbox Code Playgroud)
查找全部的单元测试
it("Find All", async () => {
const pageData: PaginationDto = {
page: 1,
limit: 10,
sortBy: "id",
sortOrder: -1,
relatinalData: relatinalData.no
};
expect(await service.getGroups(pageData)).toEqual({
docs: [{
groupName: "group123",
description: "Group Description",
roleId: 1
},
{
groupName: "group123",
description: "Group Description",
roleId: …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用 @nestjs-modules/mailer nodemailer 在 Nestjs 框架中发送电子邮件。电子邮件与普通文本一起工作正常,但是当设置为使用 EJS 模板作为电子邮件正文时,它停止工作。我使用 [ https://nest-modules.github.io/mailer/docs/mailer.html][1]作为参考,下面是我的源代码。应用模块.ts
import { Module } from '@nestjs/common';
import { MailerModule } from '@nestjs-modules/mailer';
import { EjsAdapter } from '@nestjs-modules/mailer/dist/adapters/ejs.adapter';
import { join } from 'path';
const path = join(__dirname, '../../../apps/api/src/app/template');
@Module({
imports: [MailerModule.forRoot({
transport: environment.SmtpDetails,
defaults: {
from: environment.SmtpEmail,
},
template: {
dir: path,
adapter: new EjsAdapter(),
options: {
strict: true,
},
},
})
})
export class AppModule { }
Run Code Online (Sandbox Code Playgroud)
电子邮件服务
import { Injectable, BadGatewayException } from '@nestjs/common';
import { …Run Code Online (Sandbox Code Playgroud)