アドバイスに感謝します!
d._id
の部分を修正したところ,すべてのテストにパスすることが出来ました.
こちらの投稿は私もヒットしていたのですが,理解力不足で,自分の問題とは関係ないものと思っていました.
原因
d._id
とreq.query._id
の型の不一致による,_idを用いたGETリクエストの失敗
d._id
はObjectId型,req.query._id
は文字列型でした.
そして,FCCによるPUTリクエストのテストでは,PUTリクエスト後,_idを用いたGETリクエストによって_idを取得し,さらなるテストを行っていました(型チェックやupdated_onの更新チェック).私のローカルでのテストコードではupdate処理を行い,その戻り値のオブジェクトから_idを取得していたため,テストをパスしてしまっており,ここに見落としの原因がありました.
解決策
d._id
をd._id.toString()
に変更する
d._id.toString()
とすることで文字列型同士比較することが可能になり,正しいGETリクエストを実装することが出来ました.