2019-04-29 19:27:42 -05:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
2022-07-27 21:27:38 -05:00
|
|
|
RSpec.describe UserAuthTokenSerializer do
|
2019-05-06 22:12:20 -05:00
|
|
|
fab!(:user) { Fabricate(:moderator) }
|
2023-01-09 05:18:21 -06:00
|
|
|
let(:token) { UserAuthToken.generate!(user_id: user.id, client_ip: "2a02:ea00::", staff: true) }
|
2018-10-25 05:54:01 -05:00
|
|
|
|
2023-01-09 05:18:21 -06:00
|
|
|
before(:each) { DiscourseIpInfo.open_db(File.join(Rails.root, "spec", "fixtures", "mmdb")) }
|
2018-10-25 05:54:01 -05:00
|
|
|
|
2023-01-09 05:18:21 -06:00
|
|
|
it "serializes user auth tokens with respect to user locale" do
|
|
|
|
I18n.locale = "de"
|
2018-10-25 05:54:01 -05:00
|
|
|
json = UserAuthTokenSerializer.new(token, scope: Guardian.new(user), root: false).as_json
|
2023-01-09 05:18:21 -06:00
|
|
|
expect(json[:location]).to include("Schweiz")
|
2018-10-25 05:54:01 -05:00
|
|
|
end
|
|
|
|
|
2023-01-09 05:18:21 -06:00
|
|
|
it "correctly translates Discourse locale to MaxMindDb locale" do
|
|
|
|
I18n.locale = "zh_CN"
|
2018-10-25 05:54:01 -05:00
|
|
|
json = UserAuthTokenSerializer.new(token, scope: Guardian.new(user), root: false).as_json
|
2023-01-09 05:18:21 -06:00
|
|
|
expect(json[:location]).to include("瑞士")
|
2018-10-25 05:54:01 -05:00
|
|
|
end
|
|
|
|
end
|