小编use*_*304的帖子

Nestjs 使用 Jest 模拟服务构造函数

我创建了以下服务来使用 twilio 向用户发送登录代码短信:

短信服务.ts

import { Injectable, Logger } from '@nestjs/common';
import * as twilio from 'twilio';

Injectable()
export class SmsService {
    private twilio: twilio.Twilio;
    constructor() {
        this.twilio = this.getTwilio();
    }

    async sendLoginCode(phoneNumber: string, code: string): Promise<any> {
        const smsClient = this.twilio;
        const params = {
            body: 'Login code: ' + code,
            from: process.env.TWILIO_SENDER_NUMBER,
            to: phoneNumber
        };
        smsClient.messages.create(params).then(message => {
            return message;
        });
    }
    getTwilio() {
        return twilio(process.env.TWILIO_SID, process.env.TWILIO_SECRET);
    }
}
Run Code Online (Sandbox Code Playgroud)

包含我的测试的 sms.service.spec.js

import { Test, TestingModule } from '@nestjs/testing'; …
Run Code Online (Sandbox Code Playgroud)

javascript twilio typescript jestjs nestjs

6
推荐指数
1
解决办法
8257
查看次数

Typeorm 查询构建器加入最新行

我正在使用带有 TypeORM 的 NestJS

我得到了两个具有关系的实体:

export class Device {
    @PrimaryGeneratedColumn()
    id: number;

    @Column("macaddr")
    mac: string;

    @OneToMany(type => DeviceStatus, deviceStatus => deviceStatus.mac)
    @JoinColumn()
    status: DeviceStatus[]

    @Column()
    created: Date;
}

export class DeviceStatus {
    @PrimaryGeneratedColumn()
    id: number;

    @ManyToOne(type => Device, device => device.mac)
    @JoinColumn({ name: "mac", referencedColumnName: "mac" })
    mac: Device;

    @Column()
    deviceState: number;

    @Column()
    created: Date;
}
Run Code Online (Sandbox Code Playgroud)

我想获取 Device 但只有它的status属性是最新的 DeviceStatus 。

现在我这样做:

const deviceQuery: Device = await this.deviceRepository
                        .createQueryBuilder("device")
                        .where('device.id = :id AND "device"."userId" = :user', {id: id, …
Run Code Online (Sandbox Code Playgroud)

node.js typescript typeorm nestjs

0
推荐指数
1
解决办法
4494
查看次数

标签 统计

nestjs ×2

typescript ×2

javascript ×1

jestjs ×1

node.js ×1

twilio ×1

typeorm ×1