permalink_redirector_spec.rb 1.1 KB

123456789101112131415161718192021222324252627282930313233
  1. # frozen_string_literal: true
  2. require 'rails_helper'
  3. describe PermalinkRedirector do
  4. let(:remote_account) { Fabricate(:account, username: 'alice', domain: 'example.com', url: 'https://example.com/@alice', id: 2) }
  5. describe '#redirect_url' do
  6. before do
  7. Fabricate(:status, account: remote_account, id: 123, url: 'https://example.com/status-123')
  8. end
  9. it 'returns path for legacy account links' do
  10. redirector = described_class.new('accounts/2')
  11. expect(redirector.redirect_path).to eq 'https://example.com/@alice'
  12. end
  13. it 'returns path for legacy status links' do
  14. redirector = described_class.new('statuses/123')
  15. expect(redirector.redirect_path).to eq 'https://example.com/status-123'
  16. end
  17. it 'returns path for pretty account links' do
  18. redirector = described_class.new('@alice@example.com')
  19. expect(redirector.redirect_path).to eq 'https://example.com/@alice'
  20. end
  21. it 'returns path for pretty status links' do
  22. redirector = described_class.new('@alice/123')
  23. expect(redirector.redirect_path).to eq 'https://example.com/status-123'
  24. end
  25. end
  26. end