public void AddAccount_AddAdmin() { var users = new List <User> { new User { Id = 1, Login = "******", Password = new Encryption.HasherFactory().GetHasher().Hash("Admin"), Rank = Rank.Administrator } }; var mockSet = CreateNewMockSetWithData(users); var mockContext = new Mock <DatabaseContext>(); mockContext.Setup(m => m.Set <User>()).Returns(mockSet.Object); var oldDb = RepositoryFactory.SetDbContext(mockContext.Object); var loginDict = new Dictionary <string, string> { ["login"] = "******", ["password"] = "******", }; var userController = new UserController(); var(loggedInAdmin, tokenAdmin) = userController.LogIn(loginDict); var newUserDict = new Dictionary <string, string> { ["rank"] = "Administrator", ["login"] = "******", }; userController.AddAccount(newUserDict, tokenAdmin); mockSet.Verify( m => m.Add( It.Is <User>(u => u.Login == "admin123456" && u.Rank == Rank.Administrator) ) ); RepositoryFactory.SetDbContext(oldDb); }