ダウンロードtsvのテスト

「tsvファイルのダウンロードができる」というテストのやり方がわかりませんでした。

調べて試したところ、以下のような書き方で確かめることができるようです。

 

describe 'Hogeユーザーダウンロードtsv' do
it 'ダウンロードできる' do
visit admin_hoge_users_path
click_on 'ダウンロード'
expect(page.response_headers['Content-Type']).to eq("text/tab-separated-values")
end
end

 

 

text/tab-separated-valuesというのがtsvファイルのことをさしております。

Content-Typeヘッダーはクライアントに返されたコンテンツがどんな種類のものであるか伝えるものです。

 

 

 

検証ツールを使ってResponse Headersの中身を確認してみたところ、

きちんとContent-Type: text/tab-separated-values となっておりました!

gyazo.com