Atualizei esta resposta para refletir as convenções modernas na capivara. Eu acho que isso é ideal, já que esta é a resposta aceita e o que muitas pessoas estão sendo consultadas ao procurar uma solução. Com isso dito, a maneira correta de verificar o caminho atual é usar o has_current_path?
comparador fornecido pela Capivara, conforme documentado aqui: Clique Aqui
Exemplo de uso:
expect(page).to have_current_path(people_path(search: 'name'))
Como você pode ver na documentação, outras opções estão disponíveis. Se a página atual estiver, /people?search=name
mas você se importa apenas com a /people
página, independentemente do parâmetro, é possível enviar a only_path
opção:
expect(page).to have_current_path(people_path, only_path: true)
Além disso, se você quiser comparar o URL inteiro:
expect(page).to have_current_path(people_url, url: true)
Agradecemos a Tom Walpole por apontar esse método.
"/people?search=name"
não é um caminho ."/people"
é um caminho