Files
discourse/spec/serializers/user_auth_token_serializer_spec.rb
Sam 85d2b5fa48 DEV: maxmind license checking failing tests (#24534)
This improves the implementation of #18993

1. Error message displayed to user is clearer
2. open_db will also be called, even if license key is blank, as it was previously
3. This in turn means no need to keep stubbing 'maxmind_license_key'
2023-11-24 09:38:46 +11:00

22 lines
868 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
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