public void User_Authenticate_VerifiesCredentials()
        {
            // arrange isolation

            // arrange test
            var context = new Context("DefaultConnection");
            var user    = new User
            {
                Name     = "User for Authentication Test",
                Username = "******",
                Password = "******",
            };

            context.Users.Add(user);
            context.SaveChanges();

            // act
            var actual = context.Authenticate(user.ToCredentials());

            // assert
            actual.ShouldNotBeNull();
            actual.Identity.IsAuthenticated.ShouldBeTrue();

            // clean-up
            context.Users.Remove(user);
            context.SaveChanges();
        }
        public void User_ToCredentials_CreatesNetworkCredentialForUser()
        {
            // arrange isolation

            // arrange test
            var user = new User {
                Username = "******", Password = "******"
            };
            var expected = new NetworkCredential(user.Username, user.Password);

            // act
            var actual = user.ToCredentials();

            // assert
            actual.UserName.ShouldBe(expected.UserName);
            actual.Password.ShouldBe(expected.Password);
            actual.Domain.ShouldBe(expected.Domain);

            // clean-up
        }