Remove usage of `assigns` in controller specs (#30195)
This commit is contained in:
		
							parent
							
								
									ae363f0555
								
							
						
					
					
						commit
						5b595b8a5a
					
				| 
						 | 
					@ -46,7 +46,7 @@
 | 
				
			||||||
          %th= t('imports.failures')
 | 
					          %th= t('imports.failures')
 | 
				
			||||||
      %tbody
 | 
					      %tbody
 | 
				
			||||||
        - @recent_imports.each do |import|
 | 
					        - @recent_imports.each do |import|
 | 
				
			||||||
          %tr
 | 
					          %tr{ id: dom_id(import) }
 | 
				
			||||||
            %td= t("imports.types.#{import.type}")
 | 
					            %td= t("imports.types.#{import.type}")
 | 
				
			||||||
            %td
 | 
					            %td
 | 
				
			||||||
              - if import.state_unconfirmed?
 | 
					              - if import.state_unconfirmed?
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -40,15 +40,16 @@ RSpec.describe Admin::AccountsController do
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      expect(response)
 | 
					      expect(response)
 | 
				
			||||||
        .to have_http_status(200)
 | 
					        .to have_http_status(200)
 | 
				
			||||||
      expect(assigns(:accounts))
 | 
					      expect(accounts_table_rows.size)
 | 
				
			||||||
        .to have_attributes(
 | 
					        .to eq(1)
 | 
				
			||||||
          count: eq(1),
 | 
					 | 
				
			||||||
          klass: be(Account)
 | 
					 | 
				
			||||||
        )
 | 
					 | 
				
			||||||
      expect(AccountFilter)
 | 
					      expect(AccountFilter)
 | 
				
			||||||
        .to have_received(:new)
 | 
					        .to have_received(:new)
 | 
				
			||||||
        .with(hash_including(params))
 | 
					        .with(hash_including(params))
 | 
				
			||||||
    end
 | 
					    end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    def accounts_table_rows
 | 
				
			||||||
 | 
					      Nokogiri::Slop(response.body).css('table.accounts-table tr')
 | 
				
			||||||
 | 
					    end
 | 
				
			||||||
  end
 | 
					  end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  describe 'GET #show' do
 | 
					  describe 'GET #show' do
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -13,7 +13,6 @@ RSpec.describe Admin::DomainAllowsController do
 | 
				
			||||||
    it 'assigns a new domain allow' do
 | 
					    it 'assigns a new domain allow' do
 | 
				
			||||||
      get :new
 | 
					      get :new
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      expect(assigns(:domain_allow)).to be_instance_of(DomainAllow)
 | 
					 | 
				
			||||||
      expect(response).to have_http_status(200)
 | 
					      expect(response).to have_http_status(200)
 | 
				
			||||||
    end
 | 
					    end
 | 
				
			||||||
  end
 | 
					  end
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -13,7 +13,6 @@ RSpec.describe Admin::DomainBlocksController do
 | 
				
			||||||
    it 'assigns a new domain block' do
 | 
					    it 'assigns a new domain block' do
 | 
				
			||||||
      get :new
 | 
					      get :new
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      expect(assigns(:domain_block)).to be_instance_of(DomainBlock)
 | 
					 | 
				
			||||||
      expect(response).to have_http_status(200)
 | 
					      expect(response).to have_http_status(200)
 | 
				
			||||||
    end
 | 
					    end
 | 
				
			||||||
  end
 | 
					  end
 | 
				
			||||||
| 
						 | 
					@ -171,7 +170,6 @@ RSpec.describe Admin::DomainBlocksController do
 | 
				
			||||||
    it 'returns http success' do
 | 
					    it 'returns http success' do
 | 
				
			||||||
      get :edit, params: { id: domain_block.id }
 | 
					      get :edit, params: { id: domain_block.id }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      expect(assigns(:domain_block)).to be_instance_of(DomainBlock)
 | 
					 | 
				
			||||||
      expect(response).to have_http_status(200)
 | 
					      expect(response).to have_http_status(200)
 | 
				
			||||||
    end
 | 
					    end
 | 
				
			||||||
  end
 | 
					  end
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -42,11 +42,8 @@ RSpec.describe Admin::ExportDomainBlocksController do
 | 
				
			||||||
        post :import, params: { admin_import: { data: fixture_file_upload('domain_blocks.csv') } }
 | 
					        post :import, params: { admin_import: { data: fixture_file_upload('domain_blocks.csv') } }
 | 
				
			||||||
      end
 | 
					      end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      it 'renders page with expected domain blocks' do
 | 
					      it 'renders page with expected domain blocks and returns http success' do
 | 
				
			||||||
        expect(assigns(:domain_blocks).map { |block| [block.domain, block.severity.to_sym] }).to contain_exactly(['bad.domain', :silence], ['worse.domain', :suspend], ['reject.media', :noop])
 | 
					        expect(mapped_batch_table_rows).to contain_exactly(['bad.domain', :silence], ['worse.domain', :suspend], ['reject.media', :noop])
 | 
				
			||||||
      end
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      it 'returns http success' do
 | 
					 | 
				
			||||||
        expect(response).to have_http_status(200)
 | 
					        expect(response).to have_http_status(200)
 | 
				
			||||||
      end
 | 
					      end
 | 
				
			||||||
    end
 | 
					    end
 | 
				
			||||||
| 
						 | 
					@ -56,14 +53,19 @@ RSpec.describe Admin::ExportDomainBlocksController do
 | 
				
			||||||
        post :import, params: { admin_import: { data: fixture_file_upload('domain_blocks_list.txt') } }
 | 
					        post :import, params: { admin_import: { data: fixture_file_upload('domain_blocks_list.txt') } }
 | 
				
			||||||
      end
 | 
					      end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      it 'renders page with expected domain blocks' do
 | 
					      it 'renders page with expected domain blocks and returns http success' do
 | 
				
			||||||
        expect(assigns(:domain_blocks).map { |block| [block.domain, block.severity.to_sym] }).to contain_exactly(['bad.domain', :suspend], ['worse.domain', :suspend], ['reject.media', :suspend])
 | 
					        expect(mapped_batch_table_rows).to contain_exactly(['bad.domain', :suspend], ['worse.domain', :suspend], ['reject.media', :suspend])
 | 
				
			||||||
      end
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      it 'returns http success' do
 | 
					 | 
				
			||||||
        expect(response).to have_http_status(200)
 | 
					        expect(response).to have_http_status(200)
 | 
				
			||||||
      end
 | 
					      end
 | 
				
			||||||
    end
 | 
					    end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    def mapped_batch_table_rows
 | 
				
			||||||
 | 
					      batch_table_rows.map { |row| [row.at_css('[id$=_domain]')['value'], row.at_css('[id$=_severity]')['value'].to_sym] }
 | 
				
			||||||
 | 
					    end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    def batch_table_rows
 | 
				
			||||||
 | 
					      Nokogiri::Slop(response.body).css('body div.batch-table__row')
 | 
				
			||||||
 | 
					    end
 | 
				
			||||||
  end
 | 
					  end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  it 'displays error on no file selected' do
 | 
					  it 'displays error on no file selected' do
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -28,12 +28,15 @@ RSpec.describe Admin::InstancesController do
 | 
				
			||||||
    it 'renders instances' do
 | 
					    it 'renders instances' do
 | 
				
			||||||
      get :index, params: { page: 2 }
 | 
					      get :index, params: { page: 2 }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      instances = assigns(:instances).to_a
 | 
					      expect(instance_directory_links.size).to eq(1)
 | 
				
			||||||
      expect(instances.size).to eq 1
 | 
					      expect(instance_directory_links.first.text.strip).to match('less.popular')
 | 
				
			||||||
      expect(instances[0].domain).to eq 'less.popular'
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
      expect(response).to have_http_status(200)
 | 
					      expect(response).to have_http_status(200)
 | 
				
			||||||
    end
 | 
					    end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    def instance_directory_links
 | 
				
			||||||
 | 
					      Nokogiri::Slop(response.body).css('div.directory__tag a')
 | 
				
			||||||
 | 
					    end
 | 
				
			||||||
  end
 | 
					  end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  describe 'GET #show' do
 | 
					  describe 'GET #show' do
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -18,7 +18,8 @@ describe Admin::InvitesController do
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    it 'renders index page' do
 | 
					    it 'renders index page' do
 | 
				
			||||||
      expect(subject).to render_template :index
 | 
					      expect(subject).to render_template :index
 | 
				
			||||||
      expect(assigns(:invites)).to include invite
 | 
					      expect(response.body)
 | 
				
			||||||
 | 
					        .to include(invite.code)
 | 
				
			||||||
    end
 | 
					    end
 | 
				
			||||||
  end
 | 
					  end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -13,39 +13,39 @@ describe Admin::ReportsController do
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  describe 'GET #index' do
 | 
					  describe 'GET #index' do
 | 
				
			||||||
    it 'returns http success with no filters' do
 | 
					    it 'returns http success with no filters' do
 | 
				
			||||||
      specified = Fabricate(:report, action_taken_at: nil)
 | 
					      specified = Fabricate(:report, action_taken_at: nil, comment: 'First report')
 | 
				
			||||||
      Fabricate(:report, action_taken_at: Time.now.utc)
 | 
					      other = Fabricate(:report, action_taken_at: Time.now.utc, comment: 'Second report')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      get :index
 | 
					      get :index
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      reports = assigns(:reports).to_a
 | 
					 | 
				
			||||||
      expect(reports.size).to eq 1
 | 
					 | 
				
			||||||
      expect(reports[0]).to eq specified
 | 
					 | 
				
			||||||
      expect(response).to have_http_status(200)
 | 
					      expect(response).to have_http_status(200)
 | 
				
			||||||
 | 
					      expect(response.body)
 | 
				
			||||||
 | 
					        .to include(specified.comment)
 | 
				
			||||||
 | 
					        .and not_include(other.comment)
 | 
				
			||||||
    end
 | 
					    end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    it 'returns http success with resolved filter' do
 | 
					    it 'returns http success with resolved filter' do
 | 
				
			||||||
      specified = Fabricate(:report, action_taken_at: Time.now.utc)
 | 
					      specified = Fabricate(:report, action_taken_at: Time.now.utc, comment: 'First report')
 | 
				
			||||||
      Fabricate(:report, action_taken_at: nil)
 | 
					      other = Fabricate(:report, action_taken_at: nil, comment: 'Second report')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      get :index, params: { resolved: '1' }
 | 
					      get :index, params: { resolved: '1' }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      reports = assigns(:reports).to_a
 | 
					 | 
				
			||||||
      expect(reports.size).to eq 1
 | 
					 | 
				
			||||||
      expect(reports[0]).to eq specified
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      expect(response).to have_http_status(200)
 | 
					      expect(response).to have_http_status(200)
 | 
				
			||||||
 | 
					      expect(response.body)
 | 
				
			||||||
 | 
					        .to include(specified.comment)
 | 
				
			||||||
 | 
					        .and not_include(other.comment)
 | 
				
			||||||
    end
 | 
					    end
 | 
				
			||||||
  end
 | 
					  end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  describe 'GET #show' do
 | 
					  describe 'GET #show' do
 | 
				
			||||||
    it 'renders report' do
 | 
					    it 'renders report' do
 | 
				
			||||||
      report = Fabricate(:report)
 | 
					      report = Fabricate(:report, comment: 'A big problem')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      get :show, params: { id: report }
 | 
					      get :show, params: { id: report }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      expect(assigns(:report)).to eq report
 | 
					 | 
				
			||||||
      expect(response).to have_http_status(200)
 | 
					      expect(response).to have_http_status(200)
 | 
				
			||||||
 | 
					      expect(response.body)
 | 
				
			||||||
 | 
					        .to include(report.comment)
 | 
				
			||||||
    end
 | 
					    end
 | 
				
			||||||
  end
 | 
					  end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -46,8 +46,9 @@ describe AuthorizeInteractionsController do
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        get :show, params: { acct: 'http://example.com' }
 | 
					        get :show, params: { acct: 'http://example.com' }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        expect(response).to have_http_status(302)
 | 
					        expect(response)
 | 
				
			||||||
        expect(assigns(:resource)).to eq account
 | 
					          .to have_http_status(302)
 | 
				
			||||||
 | 
					          .and redirect_to(web_url("@#{account.pretty_acct}"))
 | 
				
			||||||
      end
 | 
					      end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      it 'sets resource from acct uri' do
 | 
					      it 'sets resource from acct uri' do
 | 
				
			||||||
| 
						 | 
					@ -58,8 +59,9 @@ describe AuthorizeInteractionsController do
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        get :show, params: { acct: 'acct:found@hostname' }
 | 
					        get :show, params: { acct: 'acct:found@hostname' }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        expect(response).to have_http_status(302)
 | 
					        expect(response)
 | 
				
			||||||
        expect(assigns(:resource)).to eq account
 | 
					          .to have_http_status(302)
 | 
				
			||||||
 | 
					          .and redirect_to(web_url("@#{account.pretty_acct}"))
 | 
				
			||||||
      end
 | 
					      end
 | 
				
			||||||
    end
 | 
					    end
 | 
				
			||||||
  end
 | 
					  end
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -7,7 +7,7 @@ describe AccountControllerConcern do
 | 
				
			||||||
    include AccountControllerConcern
 | 
					    include AccountControllerConcern
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def success
 | 
					    def success
 | 
				
			||||||
      head 200
 | 
					      render plain: @account.username # rubocop:disable RSpec/InstanceVariable
 | 
				
			||||||
    end
 | 
					    end
 | 
				
			||||||
  end
 | 
					  end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -51,12 +51,13 @@ describe AccountControllerConcern do
 | 
				
			||||||
  context 'when account is not suspended' do
 | 
					  context 'when account is not suspended' do
 | 
				
			||||||
    let(:account) { Fabricate(:account, username: 'username') }
 | 
					    let(:account) { Fabricate(:account, username: 'username') }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    it 'assigns @account, returns success, and sets link headers' do
 | 
					    it 'Prepares the account, returns success, and sets link headers' do
 | 
				
			||||||
      get 'success', params: { account_username: account.username }
 | 
					      get 'success', params: { account_username: account.username }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      expect(assigns(:account)).to eq account
 | 
					 | 
				
			||||||
      expect(response).to have_http_status(200)
 | 
					      expect(response).to have_http_status(200)
 | 
				
			||||||
      expect(response.headers['Link'].to_s).to eq(expected_link_headers)
 | 
					      expect(response.headers['Link'].to_s).to eq(expected_link_headers)
 | 
				
			||||||
 | 
					      expect(response.body)
 | 
				
			||||||
 | 
					        .to include(account.username)
 | 
				
			||||||
    end
 | 
					    end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def expected_link_headers
 | 
					    def expected_link_headers
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -21,9 +21,10 @@ RSpec.describe Settings::ImportsController do
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    it 'assigns the expected imports', :aggregate_failures do
 | 
					    it 'assigns the expected imports', :aggregate_failures do
 | 
				
			||||||
      expect(response).to have_http_status(200)
 | 
					      expect(response).to have_http_status(200)
 | 
				
			||||||
      expect(assigns(:recent_imports)).to eq [import]
 | 
					 | 
				
			||||||
      expect(assigns(:recent_imports)).to_not include(other_import)
 | 
					 | 
				
			||||||
      expect(response.headers['Cache-Control']).to include('private, no-store')
 | 
					      expect(response.headers['Cache-Control']).to include('private, no-store')
 | 
				
			||||||
 | 
					      expect(response.body)
 | 
				
			||||||
 | 
					        .to include("bulk_import_#{import.id}")
 | 
				
			||||||
 | 
					        .and not_include("bulk_import_#{other_import.id}")
 | 
				
			||||||
    end
 | 
					    end
 | 
				
			||||||
  end
 | 
					  end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -261,7 +262,8 @@ RSpec.describe Settings::ImportsController do
 | 
				
			||||||
      it 'does not creates an unconfirmed bulk_import', :aggregate_failures do
 | 
					      it 'does not creates an unconfirmed bulk_import', :aggregate_failures do
 | 
				
			||||||
        expect { subject }.to_not(change { user.account.bulk_imports.count })
 | 
					        expect { subject }.to_not(change { user.account.bulk_imports.count })
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        expect(assigns(:import).errors).to_not be_empty
 | 
					        expect(response.body)
 | 
				
			||||||
 | 
					          .to include('field_with_errors')
 | 
				
			||||||
      end
 | 
					      end
 | 
				
			||||||
    end
 | 
					    end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -9,11 +9,16 @@ describe Settings::TwoFactorAuthentication::ConfirmationsController do
 | 
				
			||||||
    it 'renders the new view' do
 | 
					    it 'renders the new view' do
 | 
				
			||||||
      subject
 | 
					      subject
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      expect(assigns(:confirmation)).to be_instance_of Form::TwoFactorConfirmation
 | 
					 | 
				
			||||||
      expect(assigns(:provision_url)).to eq 'otpauth://totp/cb6e6126.ngrok.io:local-part%40domain?secret=thisisasecretforthespecofnewview&issuer=cb6e6126.ngrok.io'
 | 
					 | 
				
			||||||
      expect(assigns(:qrcode)).to be_instance_of RQRCode::QRCode
 | 
					 | 
				
			||||||
      expect(response).to have_http_status(200)
 | 
					      expect(response).to have_http_status(200)
 | 
				
			||||||
      expect(response).to render_template(:new)
 | 
					      expect(response).to render_template(:new)
 | 
				
			||||||
 | 
					      expect(response.body)
 | 
				
			||||||
 | 
					        .to include(qr_code_markup)
 | 
				
			||||||
 | 
					    end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    def qr_code_markup
 | 
				
			||||||
 | 
					      RQRCode::QRCode.new(
 | 
				
			||||||
 | 
					        'otpauth://totp/cb6e6126.ngrok.io:local-part%40domain?secret=thisisasecretforthespecofnewview&issuer=cb6e6126.ngrok.io'
 | 
				
			||||||
 | 
					      ).as_svg(padding: 0, module_size: 4)
 | 
				
			||||||
    end
 | 
					    end
 | 
				
			||||||
  end
 | 
					  end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -61,10 +66,10 @@ describe Settings::TwoFactorAuthentication::ConfirmationsController do
 | 
				
			||||||
            expect { post_create_with_options }
 | 
					            expect { post_create_with_options }
 | 
				
			||||||
              .to change { user.reload.otp_secret }.to 'thisisasecretforthespecofnewview'
 | 
					              .to change { user.reload.otp_secret }.to 'thisisasecretforthespecofnewview'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            expect(assigns(:recovery_codes)).to eq otp_backup_codes
 | 
					 | 
				
			||||||
            expect(flash[:notice]).to eq 'Two-factor authentication successfully enabled'
 | 
					            expect(flash[:notice]).to eq 'Two-factor authentication successfully enabled'
 | 
				
			||||||
            expect(response).to have_http_status(200)
 | 
					            expect(response).to have_http_status(200)
 | 
				
			||||||
            expect(response).to render_template('settings/two_factor_authentication/recovery_codes/index')
 | 
					            expect(response).to render_template('settings/two_factor_authentication/recovery_codes/index')
 | 
				
			||||||
 | 
					            expect(response.body).to include(*otp_backup_codes)
 | 
				
			||||||
          end
 | 
					          end
 | 
				
			||||||
        end
 | 
					        end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -15,10 +15,11 @@ describe Settings::TwoFactorAuthentication::RecoveryCodesController do
 | 
				
			||||||
      sign_in user, scope: :user
 | 
					      sign_in user, scope: :user
 | 
				
			||||||
      post :create, session: { challenge_passed_at: Time.now.utc }
 | 
					      post :create, session: { challenge_passed_at: Time.now.utc }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      expect(assigns(:recovery_codes)).to eq otp_backup_codes
 | 
					 | 
				
			||||||
      expect(flash[:notice]).to eq 'Recovery codes successfully regenerated'
 | 
					      expect(flash[:notice]).to eq 'Recovery codes successfully regenerated'
 | 
				
			||||||
      expect(response).to have_http_status(200)
 | 
					      expect(response).to have_http_status(200)
 | 
				
			||||||
      expect(response).to render_template(:index)
 | 
					      expect(response).to render_template(:index)
 | 
				
			||||||
 | 
					      expect(response.body)
 | 
				
			||||||
 | 
					        .to include(*otp_backup_codes)
 | 
				
			||||||
    end
 | 
					    end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    it 'redirects when not signed in' do
 | 
					    it 'redirects when not signed in' do
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue