Я пробовал jest test script для моего бизнес уровня. Который написан graphql с машинописным шрифтом, mongodb с использованием фрейма nodejs. Я написал тестовый сценарий для получения метода данных пациента. Код
Test file
:
import { PatientManager } from "./patient";
let patient = new PatientManager();
describe('getPatient', () => {
test("patient detail", async () => {
const users = {
_id: "5d9dc0b3cb7a9972debc2520"
};
try {
await expect(patient.findPatientById(users._id)).resolves.toBe(users);
} catch (error) {
console.log('error', error);
}
})
})
patient manger
:
import { PatientPersitor } from "../data/persistor/patient";
export class PatientManager {
patientPersitor = new PatientPersitor();
async findPatientById(_id) {
console.log("_id for find", _id);
return await this.patientPersitor.findById(_id);
}
}
persitor logic
:
import PatientsModel from '../model/patient';
export class PatientPersitor {
async findById(id: string) {
console.log('find model:', id);
let patientData = await PatientsModel.findById(id);
console.log('response data:', patientData);
return patientData;
}
}
Patient Model
(Объявление схемы пациента):
import mongoose, { Schema } from 'mongoose';
const PatientsModel = new Schema({
patientFirstName: {
type: String,
required: true
},
patientLastName: {
type: String,
required: true
},
dob: {
type: Date,
required: true
},
services: {
type: Array,
required: true
},
profile: {
type: String
}
});
export default mongoose.model('patients', PatientsModel);
Здесь я получил ошибку тайм-аута
Тайм-аут - асинхронный обратный вызов не был вызван в течение тайм-аута 5000 мс, указанного в jest.setTimeout.Timeout - Asyncобратный вызов не был вызван в течение тайм-аута 5000 мс, указанного в jest.setTimeout.Error:
я увеличил тайм-аут, но та же проблема также catch не выдает никакой ошибки. Мне нужна помощь в этом вопросе также, чтобы предложить любой пример для создания, удаления, обновления методов и тестовых сценариев ".