discourse/spec/serializers/user_auth_token_serializer_spec.rb
David Taylor c9dab6fd08
DEV: Automatically require 'rails_helper' in all specs (#16077)
It's very easy to forget to add `require 'rails_helper'` at the top of every core/plugin spec file, and omissions can cause some very confusing/sporadic errors.

By setting this flag in `.rspec`, we can remove the need for `require 'rails_helper'` entirely.
2022-03-01 17:50:50 +00:00

24 lines
800 B
Ruby

# frozen_string_literal: true
describe UserAuthTokenSerializer do
fab!(: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