12345678910111213141516171819202122232425262728293031323334353637 |
- # frozen_string_literal: true
- require 'rails_helper'
- RSpec.describe 'API OEmbed' do
- describe 'GET /api/oembed' do
- before { host! Rails.configuration.x.local_domain }
- context 'when status is public' do
- let(:status) { Fabricate(:status, visibility: :public) }
- it 'returns success with private cache control headers' do
- get '/api/oembed', params: { url: short_account_status_url(status.account, status) }
- expect(response)
- .to have_http_status(200)
- expect(response.content_type)
- .to start_with('application/json')
- expect(response.headers['Cache-Control'])
- .to include('private, no-store')
- end
- end
- context 'when status is not public' do
- let(:status) { Fabricate(:status, visibility: :direct) }
- it 'returns not found' do
- get '/api/oembed', params: { url: short_account_status_url(status.account, status) }
- expect(response)
- .to have_http_status(404)
- expect(response.content_type)
- .to start_with('application/json')
- end
- end
- end
- end
|