/ / ember-cli-mirage त्रुटि: हैंडलर द्वारा कुछ भी नहीं लौटाया गया, लेकिन हैंडलर मौजूद है - ember.js, ember-cli-mirage, pretender.js

अंगारा-cli-मिराज त्रुटि: कुछ भी हेंडलर द्वारा वापस आ गया, लेकिन हैंडलर मौजूद है-ember. js, अंगारा-cli-मिराज, pretender. js

एप्लिकेशन में मैं "के साथ काम कर रहा हूं, हमारे पास ए GET वह मार्ग जो उपयोगकर्ता के ईमेल पते को मान्य करता है। यदि ईमेल अमान्य है, तो सर्वर इसका जवाब देता है:

  • 200 स्थिति का कोड
  • प्रतिक्रिया हेडर के साथ Content-Type:application/json; charset=utf-8
  • और प्रतिक्रिया डेटा ही "यह ईमेल अमान्य है" का एक तार मात्र है

मैं इसे अनुकरण करने की कोशिश कर रहा हूं ember-cli-mirage ऐसा करके:

this.get("/ember_api/v1/validations/validate_email", function() {
return [200, { "Content-Type": "application/json" }, "This email is invalid"];

// also tried this:
// return new Mirage.Response(200, { "Content-Type": "application/json" }, JSON.stringify({"message":"This email is invalid"}));

// and tried this:
// return "This email is invalid";
});

परीक्षण स्वयं एक बटन क्लिक है जो इस अनुरोध को बंद करता है:

GET "/ember_api/v1/validations/validate_email?email=fakey%40fakefakefake.com&skip_uniq=true"

... और त्रुटि मुझे हो रही है:

प्रिटेंडर ने जीईटी को रोक दिया/ember_api/v1/validations/validate_email?email=tom%40gmail.com&skip_uniq=true लेकिन किसी त्रुटि का सामना करना पड़ा: /ember_api/5//validations/validate_email?email=tom%40gmail.com&skip_unqq के लिए हैंडलर द्वारा लौटाए गए कुछ भी नहीं। वापस जाने के लिए याद रखें [स्थिति, शीर्षलेख, शरीर]; अपने मार्ग हैंडलर में। `

यह मुझसे पूछ रहा है return [status, headers, body], लेकिन मैं अपने हैंडलर में ऐसा कर रहा हूं, और यह अभी भी त्रुटि फेंकता है।

क्या यह वास्तव में प्रतिक्रिया के साथ एक मुद्दा है? क्या मुझे वास्तव में JSON API स्वरूपित ऑब्जेक्ट को वापस करने के लिए अपने API को संपादित करने की आवश्यकता है, इसलिए मैं उस तरह से परीक्षण लिख सकता हूं?

मुझे लगता है कि मुझे अपने परीक्षण में एक स्ट्रिंग वापस करने में सक्षम होना चाहिए, क्योंकि ऐप क्या कर रहा है। किसी भी मदद की सराहना की जाती है।

उत्तर:

जवाब के लिए 0 № 1

The this.get आप मिराज संस्करण का उपयोग कर रहे हैं। आप भी उपयोग कर सकते हैं this.pretender.get जो आपके वर्तमान कोड नमूने के साथ काम करना चाहिए ...