mirror of
https://github.com/discourse/discourse.git
synced 2024-11-23 21:48:04 +08:00
4ea21fa2d0
This change both speeds up specs (less strings to allocate) and helps catch cases where methods in Discourse are mutating inputs. Overall we will be migrating everything to use #frozen_string_literal: true it will take a while, but this is the first and safest move in this direction
26 lines
823 B
Ruby
26 lines
823 B
Ruby
# frozen_string_literal: true
|
|
|
|
require 'rails_helper'
|
|
|
|
describe UserAuthTokenSerializer do
|
|
|
|
let(:user) { Fabricate(:moderator) }
|
|
let(:token) { UserAuthToken.generate!(user_id: user.id, client_ip: '2a02:ea00::', staff: true) }
|
|
|
|
before(:each) do
|
|
DiscourseIpInfo.open_db(File.join(Rails.root, 'spec', 'fixtures', 'mmdb'))
|
|
end
|
|
|
|
it 'serializes user auth tokens with respect to user locale' do
|
|
I18n.locale = 'de'
|
|
json = UserAuthTokenSerializer.new(token, scope: Guardian.new(user), root: false).as_json
|
|
expect(json[:location]).to include('Schweiz')
|
|
end
|
|
|
|
it 'correctly translates Discourse locale to MaxMindDb locale' do
|
|
I18n.locale = 'zh_CN'
|
|
json = UserAuthTokenSerializer.new(token, scope: Guardian.new(user), root: false).as_json
|
|
expect(json[:location]).to include('瑞士')
|
|
end
|
|
end
|