From 163185de35740a4b50d77e10bf0dd16959cd11f0 Mon Sep 17 00:00:00 2001 From: tidusjar Date: Fri, 28 Jul 2023 22:14:03 +0100 Subject: [PATCH] test: Add a unit test to cover the Unmanaged Home user scenario [skip ci] --- .../PlexUserImporterTests.cs | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/src/Ombi.Schedule.Tests/PlexUserImporterTests.cs b/src/Ombi.Schedule.Tests/PlexUserImporterTests.cs index 72cacbc50..022190bd2 100644 --- a/src/Ombi.Schedule.Tests/PlexUserImporterTests.cs +++ b/src/Ombi.Schedule.Tests/PlexUserImporterTests.cs @@ -232,6 +232,37 @@ namespace Ombi.Schedule.Tests _mocker.Verify(x => x.CreateAsync(It.IsAny()), Times.Never); } + [Test(Description = "You can have home users that are now unmanaged and can actually log into Plex")] + public async Task Imports_Unmanaged_Home_User() + { + _mocker.Setup, Task>(x => x.GetSettingsAsync()) + .ReturnsAsync(new UserManagementSettings { ImportPlexAdmin = false, ImportPlexUsers = true }); + _mocker.Setup>(x => x.GetUsers(It.IsAny())).ReturnsAsync(new PlexUsers + { + User = new UserFriends[] + { + new UserFriends + { + Email = "email", + Id = "id", + Title = "title", + Username = "username", + HomeUser = true + } + } + }); + _mocker.Setup>(x => x.CreateAsync(It.Is(x => x.UserName == "username" && x.Email == "email" && x.ProviderUserId == "id" && x.UserType == UserType.PlexUser))) + .ReturnsAsync(IdentityResult.Success); + + _mocker.Setup>(x => x.AddToRoleAsync(It.Is(x => x.UserName == "plex"), OmbiRoles.RequestMovie)) + .ReturnsAsync(IdentityResult.Success); + + + await _subject.Execute(null); + + _mocker.Verify(x => x.CreateAsync(It.IsAny()), Times.Once); + } + [Test] public async Task Import_Doesnt_Import_DuplicateEmail() {