discourse/spec/serializers/user_auth_token_serializer_spec.rb
MichaIng c58a41cb3e
UX: Show on IP lookup if MaxMind key is missing (#18993)
as discussed in https://meta.discourse.org/t/maxminddb-not-found-error/148512/7.
 
shows a warning to the admin if no license for maxmind is found
2023-11-24 08:02:05 +11:00

23 lines
916 B
Ruby

# frozen_string_literal: true
RSpec.describe UserAuthTokenSerializer do
fab!(:user) { Fabricate(:moderator) }
let(:token) { UserAuthToken.generate!(user_id: user.id, client_ip: "2a02:ea00::", staff: true) }
# Assign a dummy MaxMind license key, which is now checked in open_db
global_setting "maxmind_license_key", "dummy"
before(:each) { DiscourseIpInfo.open_db(File.join(Rails.root, "spec", "fixtures", "mmdb")) }
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