private async Task AddUsers()
        {
            var adminUser = new IdentityUser(_guidGenerator.Create(), "administrator", "*****@*****.**");

            adminUser.AddRole(_adminRole.Id);
            adminUser.AddClaim(_guidGenerator, new Claim("TestClaimType", "42"));
            await _userRepository.InsertAsync(adminUser);

            var john = new IdentityUser(_testData.UserJohnId, "john.nash", "*****@*****.**");

            john.AddRole(_moderatorRole.Id);
            john.AddRole(_supporterRole.Id);
            john.AddOrganizationUnit(_ou111.Id);
            john.AddOrganizationUnit(_ou112.Id);
            john.AddLogin(new UserLoginInfo("github", "john", "John Nash"));
            john.AddLogin(new UserLoginInfo("twitter", "johnx", "John Nash"));
            john.AddClaim(_guidGenerator, new Claim("TestClaimType", "42"));
            john.SetToken("test-provider", "test-name", "test-value");
            await _userRepository.InsertAsync(john);

            var david = new IdentityUser(_testData.UserDavidId, "david", "*****@*****.**");

            david.AddOrganizationUnit(_ou112.Id);
            await _userRepository.InsertAsync(david);

            var neo = new IdentityUser(_testData.UserNeoId, "neo", "*****@*****.**");

            neo.AddRole(_supporterRole.Id);
            neo.AddClaim(_guidGenerator, new Claim("TestClaimType", "43"));
            neo.AddOrganizationUnit(_ou111.Id);
            await _userRepository.InsertAsync(neo);
        }
    private async Task AddUsers()
    {
        var john = new IdentityUser(_testData.UserJohnId, "john.nash", "*****@*****.**");

        john.AddLogin(new UserLoginInfo("github", "john", "John Nash"));
        john.AddLogin(new UserLoginInfo("twitter", "johnx", "John Nash"));
        john.AddClaim(_guidGenerator, new Claim("TestClaimType", "42"));
        john.SetToken("test-provider", "test-name", "test-value");
        await _userRepository.InsertAsync(john);
    }
        protected virtual async Task AddToUserLogins(IdentityUser user)
        {
            var externalLoginInfo = await SignInManager.GetExternalLoginInfoAsync();

            var userLoginAlreadyExists = user.Logins.Any(x =>
                                                         x.TenantId == user.TenantId &&
                                                         x.LoginProvider == externalLoginInfo.LoginProvider &&
                                                         x.ProviderKey == externalLoginInfo.ProviderKey);

            if (!userLoginAlreadyExists)
            {
                user.AddLogin(new UserLoginInfo(
                                  externalLoginInfo.LoginProvider,
                                  externalLoginInfo.ProviderKey,
                                  externalLoginInfo.ProviderDisplayName
                                  )
                              );
            }
        }