mirror of
https://github.com/discourse/discourse.git
synced 2025-02-25 18:55:32 -06:00
FIX: broken select badge as user title (#5474)
* FIX: broken select badge as user title * selected id wasn’t pass to underlying component * <none> was rendered as an html tag <none></none> * overriding a badge name wouldn’t work as it was using badge.name and not badge.display_name * adds a spec to ensure this behavior is correct
This commit is contained in:
@@ -1640,14 +1640,14 @@ describe UsersController do
|
||||
user_badge_id: user_badge.id, username: user.username
|
||||
}, format: :json
|
||||
|
||||
expect(user.reload.title).not_to eq(badge.name)
|
||||
expect(user.reload.title).not_to eq(badge.display_name)
|
||||
badge.update_attributes allow_title: true
|
||||
|
||||
put :badge_title, params: {
|
||||
user_badge_id: user_badge.id, username: user.username
|
||||
}, format: :json
|
||||
|
||||
expect(user.reload.title).to eq(badge.name)
|
||||
expect(user.reload.title).to eq(badge.display_name)
|
||||
expect(user.user_profile.badge_granted_title).to eq(true)
|
||||
|
||||
user.title = "testing"
|
||||
@@ -1658,6 +1658,30 @@ describe UsersController do
|
||||
end
|
||||
end
|
||||
|
||||
describe "badge_title with overrided name" do
|
||||
let(:user) { Fabricate(:user) }
|
||||
let(:badge) { Fabricate(:badge, name: 'Demogorgon', allow_title: true) }
|
||||
let(:user_badge) { BadgeGranter.grant(badge, user) }
|
||||
|
||||
before do
|
||||
TranslationOverride.upsert!('en', 'badges.demogorgon.name', 'Boss')
|
||||
end
|
||||
|
||||
after do
|
||||
TranslationOverride.revert!('en', ['badges.demogorgon.name'])
|
||||
end
|
||||
|
||||
it "uses the badge display name as user title" do
|
||||
log_in_user user
|
||||
|
||||
put :badge_title, params: {
|
||||
user_badge_id: user_badge.id, username: user.username
|
||||
}, format: :json
|
||||
|
||||
expect(user.reload.title).to eq(badge.display_name)
|
||||
end
|
||||
end
|
||||
|
||||
describe 'send_activation_email' do
|
||||
context 'for an existing user' do
|
||||
let(:user) { Fabricate(:user, active: false) }
|
||||
|
||||
Reference in New Issue
Block a user