Commit 7e4b0297 authored by Fabio Pitino's avatar Fabio Pitino

Merge branch '210523-visually-align-system-bots-alert-support-and-security' into 'master'

Add avatar images for newly created Support Bot and Alert Bot

See merge request gitlab-org/gitlab!36269
parents 7d7596f4 df3a42cc
...@@ -36,6 +36,12 @@ module Avatarable ...@@ -36,6 +36,12 @@ module Avatarable
end end
end end
class_methods do
def bot_avatar(image:)
Rails.root.join('app', 'assets', 'images', 'bot_avatars', image).open
end
end
def avatar_type def avatar_type
unless self.avatar.image? unless self.avatar.image?
errors.add :avatar, "file format is not supported. Please try one of the following supported formats: #{AvatarUploader::SAFE_IMAGE_EXT.join(', ')}" errors.add :avatar, "file format is not supported. Please try one of the following supported formats: #{AvatarUploader::SAFE_IMAGE_EXT.join(', ')}"
......
...@@ -642,6 +642,7 @@ class User < ApplicationRecord ...@@ -642,6 +642,7 @@ class User < ApplicationRecord
unique_internal(where(user_type: :alert_bot), 'alert-bot', email_pattern) do |u| unique_internal(where(user_type: :alert_bot), 'alert-bot', email_pattern) do |u|
u.bio = 'The GitLab alert bot' u.bio = 'The GitLab alert bot'
u.name = 'GitLab Alert Bot' u.name = 'GitLab Alert Bot'
u.avatar = bot_avatar(image: 'alert-bot.png')
end end
end end
...@@ -661,6 +662,7 @@ class User < ApplicationRecord ...@@ -661,6 +662,7 @@ class User < ApplicationRecord
unique_internal(where(user_type: :support_bot), 'support-bot', email_pattern) do |u| unique_internal(where(user_type: :support_bot), 'support-bot', email_pattern) do |u|
u.bio = 'The GitLab support bot used for Service Desk' u.bio = 'The GitLab support bot used for Service Desk'
u.name = 'GitLab Support Bot' u.name = 'GitLab Support Bot'
u.avatar = bot_avatar(image: 'support-bot.png')
end end
end end
......
---
title: Add custom avatars for Alert and Support Bot
merge_request: 36269
author:
type: added
...@@ -4781,9 +4781,21 @@ RSpec.describe User do ...@@ -4781,9 +4781,21 @@ RSpec.describe User do
end end
end end
shared_examples 'bot user avatars' do |bot_type, avatar_filename|
it 'sets the custom avatar for the created bot' do
bot_user = described_class.public_send(bot_type)
expect(bot_user.avatar.url).to be_present
expect(bot_user.avatar.filename).to eq(avatar_filename)
end
end
it_behaves_like 'bot users', :alert_bot it_behaves_like 'bot users', :alert_bot
it_behaves_like 'bot users', :support_bot it_behaves_like 'bot users', :support_bot
it_behaves_like 'bot users', :migration_bot it_behaves_like 'bot users', :migration_bot
it_behaves_like 'bot users', :ghost it_behaves_like 'bot users', :ghost
it_behaves_like 'bot user avatars', :alert_bot, 'alert-bot.png'
it_behaves_like 'bot user avatars', :support_bot, 'support-bot.png'
end end
end end
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment