public async Task AddToRoleAsync_Invalid_IsInRole(string role)
        {
            const string NewEmail = "*****@*****.**";

            using var c = new UserManagerContext(_roles, _output);
            var user = await c.FindOrCreateUserAsync(NewEmail, Password);

            Task Act() => c.UserManager.AddToRoleAsync(user, role);

            await Assert.ThrowsAsync <ArgumentException>(Act);
        }
        public async Task UpdateAsync_ExistingEmail_ReturnsFailure()
        {
            const string NewEmail = "*****@*****.**";

            using var c = new UserManagerContext(_roles, _output);
            var user = await c.FindOrCreateUserAsync(NewEmail, Password);

            await c.UserManager.ChangePasswordAsync(user, Password, Password);

            var result = await c.UserManager.UpdateAsync(user);

            Assert.True(result.Succeeded);
        }
        public async Task AddToRoleAsync_Valid_IsInRole(string role)
        {
            const string NewEmail = "*****@*****.**";

            using var c = new UserManagerContext(_roles, _output);
            var user = await c.FindOrCreateUserAsync(NewEmail, Password);

            var result = await c.UserManager.AddToRoleAsync(user, role);

            Assert.True(await c.UserManager.IsInRoleAsync(user, role));
            await c.UserManager.DeleteAsync(user);

            Assert.True(result.Succeeded);
        }
        public async Task DeleteAsync_ValidId_LeaveContactAndRemovePassword()
        {
            const string NewEmail = "*****@*****.**";

            using var c = new UserManagerContext(_roles, _output);
            var user = await c.FindOrCreateUserAsync(NewEmail, Password);

            var result = await c.UserManager.DeleteAsync(user);

            Assert.True(result.Succeeded);
            var exist = await c.OntraportContacts.SelectAsync(user.Id);

            Assert.NotNull(exist);
            Assert.Empty(exist.IdentityPasswordHash);
        }
        public async Task GetRolesAsync_TwoRoles_ReturnsBoth()
        {
            const string NewEmail = "*****@*****.**";

            using var c = new UserManagerContext(_roles, _output);
            var user = await c.FindOrCreateUserAsync(NewEmail, Password);

            await c.UserManager.AddToRoleAsync(user, _roles[0]);

            await c.UserManager.AddToRoleAsync(user, _roles[1]);

            var result = await c.UserManager.GetRolesAsync(user);

            Assert.Contains(_roles[0], result);
            Assert.Contains(_roles[1], result);
            await c.UserManager.DeleteAsync(user);
        }