using Data.SeaHavenIndustries; using Microsoft.AspNetCore.Identity; using Microsoft.Extensions.Logging; using Microsoft.Extensions.Options; using Moq; namespace Api.SeaHavenIndustries.Tests; internal static class IdentityTestHelpers { public static (UserManager manager, Mock> store, Mock> hasher) CreateUserManager() { var store = new Mock>(); var hasher = new Mock>(); store.As>(); var manager = new UserManager( store.Object, Microsoft.Extensions.Options.Options.Create(new IdentityOptions()), hasher.Object, new List>(), new List>(), new Mock().Object, new IdentityErrorDescriber(), new Mock().Object, new Mock>>().Object); return (manager, store, hasher); } public static ApplicationUser User(string id = "u1", string? userName = "alice", bool? isDeleted = false) => new() { Id = id, UserName = userName, Email = userName + "@example.com", FirstName = "Alice", LastName = "Q", PhoneNumber = "555", IsDeleted = isDeleted }; }