/ / ember-cli-mirage błąd: program obsługi nic nie zwraca, ale program obsługi istnieje - ember.js, ember-cli-mirage, pretender.js

Błąd ember-cli-mirage: Nic nie zwraca przez program obsługi, ale istnieje program obsługi - ember.js, ember-cli-mirage, pretender.js

W aplikacji, z którą pracuję, mamy GET trasa, która weryfikuje adres e-mail użytkownika. Jeśli adres e-mail jest nieprawidłowy, serwer odpowiada:

  • za 200 Kod statusu
  • nagłówki odpowiedzi z Content-Type:application/json; charset=utf-8
  • a same dane odpowiedzi to tylko ciąg znaków „Ten e-mail jest nieprawidłowy”

Próbuję to zasymulować w ember-cli-mirage wykonując:

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";
});

Sam test jest kliknięciem przycisku, który uruchamia to żądanie:

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

...a błąd, który otrzymuję to:

Pozorowany przechwycony GET/ember_api/v1/validations/validate_email?email=tom%40gmail.com&skip_uniq=true, ale napotkano błąd: program obsługi nie zwrócił nic dla /ember_api/v1/validations/validate_email?email=tom%40gmail.com&skip_uniq=true. Pamiętaj, aby zwrócić [status, nagłówki, treść]; w obsłudze trasy.`

Prosi mnie o return [status, headers, body], ale robię to w moim programie obsługi i nadal zgłasza błąd.

Czy to rzeczywiście problem z odpowiedzią? Czy muszę edytować mój interfejs API, aby faktycznie zwracał obiekt sformatowany w formacie JSON API, aby móc w ten sposób napisać test?

Czuję, że powinienem być w stanie zwrócić ciąg znaków w moim teście, ponieważ to właśnie robi aplikacja. Każda pomoc jest doceniana.

Odpowiedzi:

0 dla odpowiedzi № 1

The this.get używasz wersji Mirage. Możesz także użyć this.pretender.get który powinien działać z obecną próbką kodu ...