mirror of
https://github.com/mastodon/mastodon.git
synced 2024-12-29 14:35:06 +01:00
Convert settings/login_activities
controller spec to system spec (#33306)
This commit is contained in:
parent
3d00b95359
commit
a596f3479b
@ -1,29 +0,0 @@
|
|||||||
# frozen_string_literal: true
|
|
||||||
|
|
||||||
require 'rails_helper'
|
|
||||||
|
|
||||||
RSpec.describe Settings::LoginActivitiesController do
|
|
||||||
render_views
|
|
||||||
|
|
||||||
let!(:user) { Fabricate(:user) }
|
|
||||||
let!(:login_activity) { Fabricate :login_activity, user: user }
|
|
||||||
|
|
||||||
before do
|
|
||||||
sign_in user, scope: :user
|
|
||||||
end
|
|
||||||
|
|
||||||
describe 'GET #index' do
|
|
||||||
before do
|
|
||||||
get :index
|
|
||||||
end
|
|
||||||
|
|
||||||
it 'returns http success with private cache control headers', :aggregate_failures do
|
|
||||||
expect(response).to have_http_status(200)
|
|
||||||
expect(response.headers['Cache-Control']).to include('private, no-store')
|
|
||||||
expect(response.body)
|
|
||||||
.to include(login_activity.user_agent)
|
|
||||||
.and include(login_activity.authentication_method)
|
|
||||||
.and include(login_activity.ip.to_s)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
34
spec/system/settings/login_activities_spec.rb
Normal file
34
spec/system/settings/login_activities_spec.rb
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
|
require 'rails_helper'
|
||||||
|
|
||||||
|
RSpec.describe 'Login activities page' do
|
||||||
|
let!(:user) { Fabricate :user }
|
||||||
|
let!(:login_activity) { Fabricate :login_activity, user: user }
|
||||||
|
|
||||||
|
context 'when signed in' do
|
||||||
|
before { sign_in user }
|
||||||
|
|
||||||
|
describe 'Viewing the login activities page' do
|
||||||
|
it 'shows the login activity history' do
|
||||||
|
visit edit_user_registration_path
|
||||||
|
|
||||||
|
click_on I18n.t('sessions.view_authentication_history')
|
||||||
|
|
||||||
|
expect(page)
|
||||||
|
.to have_content(browser_description)
|
||||||
|
.and have_content(login_activity.authentication_method)
|
||||||
|
.and have_content(login_activity.ip)
|
||||||
|
.and have_private_cache_control
|
||||||
|
end
|
||||||
|
|
||||||
|
def browser_description
|
||||||
|
I18n.t(
|
||||||
|
'sessions.description',
|
||||||
|
browser: I18n.t("sessions.browsers.#{login_activity.browser}", default: login_activity.browser),
|
||||||
|
platform: I18n.t("sessions.platforms.#{login_activity.platform}", default: login_activity.platform)
|
||||||
|
)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
Loading…
Reference in New Issue
Block a user