diff --git a/app/models/user.rb b/app/models/user.rb index 2169402..f0609a6 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -131,7 +131,7 @@ class User < ApplicationRecord def mastodon_address return nil unless Setting.mastodon_enabled? - "#{self.cn}@#{Setting.mastodon_address_domain}" + "#{self.cn.gsub("-", "_")}@#{Setting.mastodon_address_domain}" end def valid_attribute?(attribute_name) diff --git a/spec/models/user_spec.rb b/spec/models/user_spec.rb index 6e7300d..b0d077e 100644 --- a/spec/models/user_spec.rb +++ b/spec/models/user_spec.rb @@ -41,6 +41,14 @@ RSpec.describe User, type: :model do expect(user.mastodon_address).to eq("jimmy@kosmos.social") end end + + describe "username contains hyphen/dash" do + let(:jammy) { build :user, cn: "jammy-jellyfish", ou: "kosmos.org" } + + it "returns the user address" do + expect(jammy.mastodon_address).to eq("jammy_jellyfish@kosmos.org") + end + end end end