Rspec - Controller Tests

38 views
Skip to first unread message

Evaldo Santos

unread,
Mar 22, 2017, 6:33:34 PM3/22/17
to rail...@googlegroups.com
Opa pessoal, tudo bem? 

Estou iniciando com testes usando rspec. Estou tentando implementar tests funcionais pra um controller, mas estou tendo o seguinte problema ao tentar fazer uma requisição:

Estou tentando executar o seguinte teste:
Inline image 6

Ao tentar executar o teste acima recebo o seguinte erro:
Inline image 2

Meu arquivo de Rotas está assim:
Inline image 4

O controller esta assim em app/controllers/api/translations_controller.rb
Inline image 5

Alguém tem alguma ideia do que posso estar fazendo errado?




Bira

unread,
Mar 22, 2017, 7:35:35 PM3/22/17
to rail...@googlegroups.com
Meu arquivo de Rotas está assim:
image.png

Olá!

Parece que as suas rotas estão todas aninhadas. Para que você tenha uma rota apontando para "api/translations", esse código teria que ser assim:

Rails.application.routes.draw do
  namespace :api, defaults: { format: :json } do
    resources :markets, only: [:index]
    resources :languages, param: :key, only: [:index, :show]
    ...
    resources :translations, only: [:update] do
      ...
    end
  end
end

Ou seja, você precisa eliminar os blocos das rotas anteriores e colocar todas no mesmo nível de aninhamento.

--
Bira

Evaldo Santos

unread,
Mar 22, 2017, 7:42:28 PM3/22/17
to rail...@googlegroups.com
Não há como manter esse aninhamento? No momento eu não posso mecher nessas rotas..

No caso, vi que se eu adicionasse os parametros da rota deveria funcionar, estou tentando essa abordagem mas não tem dado certo.

--
--
Você recebeu essa mensagem porquê está inscrito no Google
Groups "rails-br".
Para enviar uma mensagem para o grupo, mande um email para rail...@googlegroups.com
Para se descadastrar, mande um e-mail para
rails-br+unsubscribe@googlegroups.com
Visite o grupo em http://groups.google.com/group/rails-br?hl=pt-BR
Leia nossa política de uso: https://goo.gl/BHB0wS
---
Você recebeu essa mensagem porque está inscrito no grupo "rails-br" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para rails-br+unsubscribe@googlegroups.com.
Para mais opções, acesse https://groups.google.com/d/optout.

Bira

unread,
Mar 22, 2017, 10:49:24 PM3/22/17
to rail...@googlegroups.com
On Wed, Mar 22, 2017 at 8:42 PM Evaldo Santos <eval...@gmail.com> wrote:
Não há como manter esse aninhamento? No momento eu não posso mecher nessas rotas..

No caso, vi que se eu adicionasse os parametros da rota deveria funcionar, estou tentando essa abordagem mas não tem dado certo.

Bom, se esse aninhamento é o correto da aplicação (como parece ser agora que eu olho mais de perto), então uma coisa que você pode fazer para ver as rotas que ele está gerando é usar "rake routes" na linha de comando e ver o resultado. Isso imprime todas as rotas da aplicação.

Uma coisa que talvez esteja errada no seu teste é o nome dos parâmetros - vejo que o da linguagem é só "key",  mas o teste passa "language_key". Se o nome não estiver correto, o Rails acha que você está procurando uma rota diferente.
--
Bira
Reply all
Reply to author
Forward
0 new messages