42 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
			
		
		
	
	
			42 lines
		
	
	
	
		
			1.2 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
require 'rails_helper'
 | 
						|
 | 
						|
RSpec.describe HomeController, type: :controller do
 | 
						|
  render_views
 | 
						|
 | 
						|
  describe 'GET #index' do
 | 
						|
    subject { get :index }
 | 
						|
 | 
						|
    context 'when not signed in' do
 | 
						|
      context 'when requested path is tag timeline' do
 | 
						|
        before { @request.path = '/web/timelines/tag/name' }
 | 
						|
        it { is_expected.to redirect_to '/tags/name' }
 | 
						|
      end
 | 
						|
 | 
						|
      it 'redirects to about page' do
 | 
						|
        @request.path = '/'
 | 
						|
        is_expected.to redirect_to(about_path)
 | 
						|
      end
 | 
						|
    end
 | 
						|
 | 
						|
    context 'when signed in' do
 | 
						|
      let(:user) { Fabricate(:user) }
 | 
						|
 | 
						|
      before { sign_in(user) }
 | 
						|
 | 
						|
      it 'assigns @body_classes' do
 | 
						|
        subject
 | 
						|
        expect(assigns(:body_classes)).to eq 'app-body'
 | 
						|
      end
 | 
						|
 | 
						|
      it 'assigns @initial_state_json' do
 | 
						|
        subject
 | 
						|
        initial_state_json = json_str_to_hash(assigns(:initial_state_json))
 | 
						|
        expect(initial_state_json[:meta]).to_not be_nil
 | 
						|
        expect(initial_state_json[:compose]).to_not be_nil
 | 
						|
        expect(initial_state_json[:accounts]).to_not be_nil
 | 
						|
        expect(initial_state_json[:settings]).to_not be_nil
 | 
						|
        expect(initial_state_json[:media_attachments]).to_not be_nil
 | 
						|
      end
 | 
						|
    end
 | 
						|
  end
 | 
						|
end
 |