2016-02-22 16:00:20 +01:00
|
|
|
require 'rails_helper'
|
|
|
|
|
|
|
|
RSpec.describe HomeController, type: :controller do
|
2016-11-18 23:08:52 +01:00
|
|
|
render_views
|
|
|
|
|
2016-02-25 00:17:01 +01:00
|
|
|
describe 'GET #index' do
|
2018-03-05 19:29:36 +01:00
|
|
|
subject { get :index }
|
|
|
|
|
2017-05-23 23:37:24 +02:00
|
|
|
context 'when not signed in' do
|
2018-03-05 19:29:36 +01:00
|
|
|
context 'when requested path is tag timeline' do
|
|
|
|
before { @request.path = '/web/timelines/tag/name' }
|
|
|
|
it { is_expected.to redirect_to '/tags/name' }
|
|
|
|
end
|
|
|
|
|
2017-05-23 23:37:24 +02:00
|
|
|
it 'redirects to about page' do
|
2017-09-15 00:57:08 +02:00
|
|
|
@request.path = '/'
|
2018-03-05 19:29:36 +01:00
|
|
|
is_expected.to redirect_to(about_path)
|
2017-05-23 23:37:24 +02:00
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
context 'when signed in' do
|
|
|
|
let(:user) { Fabricate(:user) }
|
2017-09-15 00:57:08 +02:00
|
|
|
|
2018-03-05 19:29:36 +01:00
|
|
|
before { sign_in(user) }
|
2017-05-23 23:37:24 +02:00
|
|
|
|
|
|
|
it 'assigns @body_classes' do
|
|
|
|
subject
|
|
|
|
expect(assigns(:body_classes)).to eq 'app-body'
|
|
|
|
end
|
|
|
|
|
2017-07-08 14:51:05 +02:00
|
|
|
it 'assigns @initial_state_json' do
|
2017-05-23 23:37:24 +02:00
|
|
|
subject
|
2017-07-08 14:51:05 +02:00
|
|
|
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
|
2017-05-23 23:37:24 +02:00
|
|
|
end
|
2016-02-29 19:42:08 +01:00
|
|
|
end
|
2016-02-25 00:17:01 +01:00
|
|
|
end
|
2016-02-22 16:00:20 +01:00
|
|
|
end
|