public static FluentProvider <IList <TestUser> > WithConfirmedUsers(
            this MembershipProvider provider, int count, out string prefix)
        {
            prefix = Guid.NewGuid().ToString("N");
            var users = new List <TestUser>();

            for (var i = 0; i < count; i++)
            {
                var profile  = new Dictionary <string, object>();
                var userName = prefix + "_" + i;
                var email    = prefix + i + "@test.com";
                var testUser = new TestUser(userName, email, DefaultPassword, profile);
                users.Add(testUser);
            }

            Action <IList <TestUser> > lazyCreate = t => t.ToList().ForEach(
                u =>
            {
                if (provider.HasEmailColumnDefined())
                {
                    u.Profile.Add(provider.AsBetter().UserEmailColumn, u.Email);
                }

                provider.AsBetter().CreateUserAndAccount(u.UserName, u.Password, u.Profile);
            });

            return(new FluentProvider <IList <TestUser> >(provider, users, lazyCreate));
        }
        public static FluentProvider <TestUser> WithConfirmedUser(this MembershipProvider provider)
        {
            var prefix   = Guid.NewGuid().ToString("N");
            var profile  = new Dictionary <string, object>();
            var userName = prefix;
            var email    = prefix + "@test.com";

            Action <TestUser> lazyCreate = t =>
            {
                if (provider.HasEmailColumnDefined())
                {
                    profile.Add(provider.AsBetter().UserEmailColumn, t.Email);
                }

                provider.AsBetter().CreateUserAndAccount(t.UserName, t.Password, t.Profile);
            };
            var testUser = new TestUser(userName, email, DefaultPassword, profile);

            return(new FluentProvider <TestUser>(provider, testUser, lazyCreate));
        }
        public static FluentProvider <TestUser> WithUnregisteredUser(
            this MembershipProvider provider, string userName = null, string email = null)
        {
            var userNameParam = userName ?? Guid.NewGuid().ToString("N");
            var emailParam    = email ?? userNameParam + "@test.com";

            if (!provider.AsBetter().HasEmailColumnDefined)
            {
                emailParam = null;
            }

            return(new FluentProvider <TestUser>(
                       provider,
                       new TestUser(userNameParam, emailParam, DefaultPassword, new Dictionary <string, object>()),
                       t => { }));
        }
 public static int PasswordAttemptWindowInSeconds(this MembershipProvider provider)
 {
     return(provider.AsBetter().PasswordAttemptWindowInSeconds);
 }
 public static bool HasEmailColumnDefined(this MembershipProvider provider)
 {
     return(provider.AsBetter().HasEmailColumnDefined);
 }