using Microsoft.AspNetCore.Identity; using MockQueryable.Moq; using Moq; using Ombi.Core.Authentication; using Ombi.Store.Entities; using System.Collections.Generic; using System.Linq; namespace Ombi.Test.Common { public static class MockHelper { public static Mock MockUserManager(List ls) { var store = new Mock>(); //var u = new OmbiUserManager(store.Object, null, null, null, null, null, null, null, null,null,null,null,null) var mgr = new Mock(store.Object, null, null, null, null, null, null, null, null, null, null, null, null, null, null); mgr.Object.UserValidators.Add(new UserValidator()); mgr.Object.PasswordValidators.Add(new PasswordValidator()); var userMock = ls.AsQueryable().BuildMock(); mgr.Setup(x => x.Users).Returns(userMock); mgr.Setup(x => x.DeleteAsync(It.IsAny())).ReturnsAsync(IdentityResult.Success); mgr.Setup(x => x.CreateAsync(It.IsAny(), It.IsAny())).ReturnsAsync(IdentityResult.Success).Callback((x, y) => ls.Add(x)); mgr.Setup(x => x.UpdateAsync(It.IsAny())).ReturnsAsync(IdentityResult.Success); return mgr; } } }