mirror of https://github.com/mastodon/mastodon
Fix log out from user menu not working on Safari (#31402)
parent
2b1670da48
commit
c3e1d86d58
@ -0,0 +1,30 @@
|
|||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
|
require 'rails_helper'
|
||||||
|
|
||||||
|
describe 'Log Out' do
|
||||||
|
include RoutingHelper
|
||||||
|
|
||||||
|
describe 'DELETE /auth/sign_out' do
|
||||||
|
let(:user) { Fabricate(:user) }
|
||||||
|
|
||||||
|
before do
|
||||||
|
sign_in user
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'Logs out the user and redirect' do
|
||||||
|
delete '/auth/sign_out'
|
||||||
|
|
||||||
|
expect(response).to redirect_to('/auth/sign_in')
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'Logs out the user and return a page to redirect to with a JSON request' do
|
||||||
|
delete '/auth/sign_out', headers: { 'HTTP_ACCEPT' => 'application/json' }
|
||||||
|
|
||||||
|
expect(response).to have_http_status(200)
|
||||||
|
expect(response.media_type).to eq 'application/json'
|
||||||
|
|
||||||
|
expect(body_as_json[:redirect_to]).to eq '/auth/sign_in'
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
@ -0,0 +1,43 @@
|
|||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
|
require 'rails_helper'
|
||||||
|
|
||||||
|
describe 'Log out' do
|
||||||
|
include ProfileStories
|
||||||
|
|
||||||
|
before do
|
||||||
|
as_a_logged_in_user
|
||||||
|
end
|
||||||
|
|
||||||
|
describe 'Logging out from the preferences' do
|
||||||
|
it 'logs the user out' do
|
||||||
|
visit settings_path
|
||||||
|
|
||||||
|
within '.sidebar' do
|
||||||
|
click_on 'Logout'
|
||||||
|
end
|
||||||
|
|
||||||
|
expect(page).to have_title(I18n.t('auth.login'))
|
||||||
|
expect(page).to have_current_path('/auth/sign_in')
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
describe 'Logging out from the JS app', :js, :streaming do
|
||||||
|
it 'logs the user out' do
|
||||||
|
visit root_path
|
||||||
|
|
||||||
|
within '.navigation-bar' do
|
||||||
|
click_on 'Menu'
|
||||||
|
end
|
||||||
|
|
||||||
|
within '.dropdown-menu' do
|
||||||
|
click_on 'Logout'
|
||||||
|
end
|
||||||
|
|
||||||
|
click_on 'Log out'
|
||||||
|
|
||||||
|
expect(page).to have_title(I18n.t('auth.login'))
|
||||||
|
expect(page).to have_current_path('/auth/sign_in')
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
Loading…
Reference in New Issue