about summary refs log blame commit diff
path: root/spec/controllers/home_controller_spec.rb
blob: f43cf0c27ec510ab3d06d736f819430815ee73ef (plain) (tree)
1
2
3
4
5
6
7
8
9

                                                   
              
                          
                          
                                   



                                                            
                                     
                           
                                              



                                     
 
                              




                                                       
                                         
               




                                                                           
         
       
     
   
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