Convert "CSV export" settings controller specs to request specs (#31601)

This commit is contained in:
Matt Jankowski 2024-08-27 04:12:39 -04:00 committed by GitHub
parent 38a3466741
commit a7f8417795
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
12 changed files with 252 additions and 122 deletions

View file

@ -0,0 +1,44 @@
# frozen_string_literal: true
require 'rails_helper'
describe 'Settings / Exports / Bookmarks' do
describe 'GET /settings/exports/bookmarks' do
context 'with a signed in user who has bookmarks' do
let(:account) { Fabricate(:account, domain: 'foo.bar') }
let(:status) { Fabricate(:status, account: account, uri: 'https://foo.bar/statuses/1312') }
let(:user) { Fabricate(:user) }
before do
Fabricate(
:bookmark,
account: user.account,
status: status
)
sign_in user
end
it 'returns a CSV with the bookmarked statuses' do
get '/settings/exports/bookmarks.csv'
expect(response)
.to have_http_status(200)
expect(response.content_type)
.to eq('text/csv')
expect(response.body)
.to eq(<<~CSV)
https://foo.bar/statuses/1312
CSV
end
end
describe 'when signed out' do
it 'returns unauthorized' do
get '/settings/exports/bookmarks.csv'
expect(response)
.to have_http_status(401)
end
end
end
end