From 07473abc5d464445e0a9c8c285200e4a13f667e2 Mon Sep 17 00:00:00 2001
From: Mariam A <tomariam@gmail.com>
Date: Mon, 10 Jul 2023 14:18:12 -0400
Subject: [PATCH] Translate "'s Room" in default room (#5313)

---
 .../api/v1/admin/role_permissions_controller.rb      |  2 +-
 app/controllers/application_controller.rb            |  2 +-
 config/locales/en.yml                                |  2 ++
 spec/controllers/users_controller_spec.rb            | 12 ++++++------
 4 files changed, 10 insertions(+), 8 deletions(-)

diff --git a/app/controllers/api/v1/admin/role_permissions_controller.rb b/app/controllers/api/v1/admin/role_permissions_controller.rb
index ad5f5c11..4b15af37 100644
--- a/app/controllers/api/v1/admin/role_permissions_controller.rb
+++ b/app/controllers/api/v1/admin/role_permissions_controller.rb
@@ -58,7 +58,7 @@ module Api
 
           User.includes(:rooms).where(role_id: role_params[:role_id]).where(rooms: { id: nil }).find_in_batches do |group|
             group.each do |user|
-              Room.create(name: "#{user.name}'s Room", user_id: user.id)
+              Room.create(name: t('room.new_room_name', username: user.name, locale: user.language), user_id: user.id)
             end
           end
         end
diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb
index cde145a9..69093e9b 100644
--- a/app/controllers/application_controller.rb
+++ b/app/controllers/application_controller.rb
@@ -63,7 +63,7 @@ class ApplicationController < ActionController::Base
     return unless user.rooms.count <= 0
     return unless PermissionsChecker.new(permission_names: 'CreateRoom', user_id: user.id, current_user: user, current_provider:).call
 
-    Room.create(name: "#{user.name}'s Room", user_id: user.id)
+    Room.create(name: t('room.new_room_name', username: user.name, locale: user.language), user_id: user.id)
   end
 
   # Include user domain in lograge logs
diff --git a/config/locales/en.yml b/config/locales/en.yml
index 4720a1f4..98393108 100644
--- a/config/locales/en.yml
+++ b/config/locales/en.yml
@@ -72,3 +72,5 @@ en:
       reset_password: Reset Password
       link_expires: The link will expire in 1 hour.
       ignore_request: If you did not make a request to change your password, please ignore this email.
+  room:
+    new_room_name: "%{username}'s Room"
diff --git a/spec/controllers/users_controller_spec.rb b/spec/controllers/users_controller_spec.rb
index e498784b..7249637a 100644
--- a/spec/controllers/users_controller_spec.rb
+++ b/spec/controllers/users_controller_spec.rb
@@ -36,7 +36,7 @@ RSpec.describe Api::V1::UsersController, type: :controller do
           name: Faker::Name.name,
           email: Faker::Internet.email,
           password: 'Password123+',
-          language: 'language'
+          language: 'en'
         }
       }
     end
@@ -69,7 +69,7 @@ RSpec.describe Api::V1::UsersController, type: :controller do
       context 'User language' do
         it 'Persists the user language in the user record' do
           post :create, params: user_params
-          expect(User.find_by(email: user_params[:user][:email]).language).to eq('language')
+          expect(User.find_by(email: user_params[:user][:email]).language).to eq('en')
         end
 
         it 'defaults user language to default_locale if the language isn\'t specified' do
@@ -148,11 +148,11 @@ RSpec.describe Api::V1::UsersController, type: :controller do
 
           context 'User language' do
             it 'defaults user language to admin language if the language isn\'t specified' do
-              signed_in_user.update! language: 'language'
+              signed_in_user.update! language: 'en'
 
               user_params[:user][:language] = nil
               post :create, params: user_params
-              expect(User.find_by(email: user_params[:user][:email]).language).to eq('language')
+              expect(User.find_by(email: user_params[:user][:email]).language).to eq('en')
               expect(response).to have_http_status(:created)
               expect(session[:session_token]).to eql(signed_in_user.session_token)
             end
@@ -202,7 +202,7 @@ RSpec.describe Api::V1::UsersController, type: :controller do
           name: 'Optimus Prime',
           email: 'optimus@autobots.cybertron',
           password: 'Autobots1!',
-          language: 'teletraan'
+          language: 'en'
         }
 
         expect { post :create, params: { user: user_params } }.to change(User, :count).from(0).to(1)
@@ -313,7 +313,7 @@ RSpec.describe Api::V1::UsersController, type: :controller do
     it 'updates the users attributes' do
       updated_params = {
         name: 'New Name',
-        language: 'gl'
+        language: 'fr'
       }
       patch :update, params: { id: user.id, user: updated_params }
       expect(response).to have_http_status(:ok)
-- 
GitLab