したがって、基本的に、収集車両をリセットする API エンドポイントを持つ最初の MERN スタック プロジェクトを開発しています。コレクションからデータを削除し、csv からデータを解析して json に変換し、新しいデータを挿入します。バックエンド コードを実行すると、postman と robo3T ですべてがスムーズに実行されます。しかし、テスト コードを実行すると、次の命令で実行が停止します。
const vehicle_model = await tojson().fromFile(vehicles_csv);
その結果、テストは失敗します (res.status 500 が返されます)。また、テスト コードを実行している間、エンドポイントは postman でも実行できません。私は何を間違っていますか?
PS: stackoverflow について書くのは初めてです。問題を明確にしていない場合は、喜んで詳しく説明します :)
これが私のエンドポイントです
exports.postResetVehicles = async (req, res) => {
const vehicles_csv = "vehicles.csv";
try {
Vehicles.deleteMany({}).then(function () {
console.log("Data deleted and");
});
const vehicles_model = await tojson().fromFile(vehicles_csv);
Vehicles.insertMany(vehicles_model).then(function () {
console.log("data inserted"); // Success
console.log("=>Data reseted");
}).catch(function (error) {
console.log(error); // Failure
});
return res.status(200).json({ "status": "OK" });
} catch (err) {
return res.status(500).json({ "status": "failed", "error": err });
}
};
これが私のテストコードです
describe("Testing 'admin/resetvehicles'", () => {
it("should succeed if Vehicles collection is reset", async () => {
const response = await request(app).post(
"/interoperability/api/admin/resetvehicles"
);
expect(response.status).to.equal(200)
});
});