diff --git a/Refresh.Database/GameDatabaseContext.Users.cs b/Refresh.Database/GameDatabaseContext.Users.cs index 096c210cf..56f2dbdc0 100644 --- a/Refresh.Database/GameDatabaseContext.Users.cs +++ b/Refresh.Database/GameDatabaseContext.Users.cs @@ -281,6 +281,7 @@ public void RenameUser(GameUser user, string newUsername) string oldUsername = user.Username; user.Username = newUsername; + this.GameUsers.Update(user); this.SaveChanges(); this.AddNotification("Username Updated", $"An admin has updated your account's username from '{oldUsername}' to '{newUsername}'. " + diff --git a/RefreshTests.GameServer/Tests/Users/UserActionTests.cs b/RefreshTests.GameServer/Tests/Users/UserActionTests.cs new file mode 100644 index 000000000..f7a69a686 --- /dev/null +++ b/RefreshTests.GameServer/Tests/Users/UserActionTests.cs @@ -0,0 +1,21 @@ +using Refresh.Database.Models.Users; + +namespace RefreshTests.GameServer.Tests.Users; + +public class UserActionTests : GameServerTest +{ + [Test] + public void RenamesUser() + { + using TestContext context = this.GetServer(false); + GameUser? user = context.CreateUser("gamer1"); + + Assert.That(user.Username, Is.EqualTo("gamer1")); + + context.Database.RenameUser(user, "gamer2"); + user = context.Database.GetUserByObjectId(user.UserId); + Assert.That(user, Is.Not.Null); + + Assert.That(user.Username, Is.EqualTo("gamer2")); + } +} \ No newline at end of file