書き方よくわからんと思ったのでメモ
環境
$ bundle exec rspec --version RSpec 3.8 - rspec-core 3.8.0 - rspec-expectations 3.8.2 - rspec-mocks 3.8.0 - rspec-rails 3.8.1 - rspec-support 3.8.0
やり方
request specで
expect(response).to redirect_to("{{リダイレクト先のフルパス}}")
のように書くことで確認ができる
書き方例
前提
こんなControllerがあり
class UsersController < ApplicationController def index render json: {url: users_url} end end
こんなroute.rbでリダイレクトさせる場合
Rails.application.routes.draw do resources :users, only: :index # same_usersはusersにリダイレクト get "same_users" => redirect("/users") end
rspec側の書き方
下記のような感じで書けばOK
require 'rails_helper'
RSpec.describe "/same_users/", type: :request do
subject { get "/same_users/"}
context "正しくアクセスしたとき" do
before do
subject
end
it "期待した結果が返ってくる" do
expect(response).to redirect_to("http://www.example.com/users")
end
end
end