Я хотел бы создать тест, чтобы убедиться, что в случае пропуска обязательного поля служба выдает ошибку.
Это моя схема:
export const UserSchema = new Schema({
firstName: String,
lastName: String,
email: { type: String, required: true },
passwordHash: String
});
И это моеservice:
@Injectable()
export class UsersService {
constructor(@InjectModel('User') private readonly userModel: Model<User>) {}
async create(createUserDto): Promise<User> {
const createdUser = new this.userModel(createUserDto);
return await createdUser.save();
}
}
И в моем тесте сервиса у меня есть такой случай:
it('Validates required email', async () => {
const dto = {
firstName: 'Test',
lastName: 'User',
passwordHash: '123ABC'
};
expect( async () => {
return await service.create(dto);
}).toThrowError(/required/);
});
Но тест не пройден, с таким сообщением:
Expected the function to throw an error matching:
/required/
But it didn't throw anything.
Может кто-нибудьпомогите мне?