public void GivenContextWithSessionWithUser_ReturnsUser()
 {
     var user = new User();
       _session[Constants.SessionKeyForUser] = user;
       var actual = _sut.ResolveUser(_session);
       Assert.That(actual, Is.EqualTo(user));
 }
        public void GivenValidUser_CreatesIdentityByUser()
        {
            var user = new User();
              var actual = _sut.Create(user);

              Assert.That(actual, Is.Not.Null);
              Assert.That(actual, Is.InstanceOf<InvoiceGenIdentity>());
              Assert.That(((InvoiceGenIdentity) actual).User, Is.EqualTo(user));
        }
 public void UserNameIsLoginValueOfSpecifiedUser()
 {
     var user = new User {
     Login = new Login {
       Value = "MyLogin"
     }
       };
       var actual = new InvoiceGenIdentity(user);
       Assert.That(actual.UserName, Is.EqualTo(user.Login.Value));
 }
        public void GivenContextWithValidUser_ReturnsUser()
        {
            var user = new User {Login = new Login {Value = "JohnD"}};
              ConfigureSecurityContext_ToReturn(user);
              var request = new GetCurrentUserRequest {
            SecurityContext = _securityContext
              };

              var actual = _sut.Handle(request).Result;

              Assert.That(actual, Is.Not.Null);
              Assert.That(actual, Is.EqualTo(user));
        }
        public void AssignsCreatedIdentityFromUserInSession()
        {
            var session = A.Fake<ISession>();
              var user = new User();
              var identity = new InvoiceGenIdentity(user);
              ConfigureSessionFromContextResolver_ToReturn(session);
              ConfigureUserFromSessionResolver_ToReturn(session, user);
              ConfigureInvoiceGenIdentityFactory_ToReturn(user, identity);

              _sut.AssignNancyIdentityFromContext(_context);

              Assert.That(_context.CurrentUser, Is.Not.Null);
              Assert.That(_context.CurrentUser, Is.EqualTo(identity));
              A.CallTo(() => _nancySessionFromNancyContextResolver.ResolveSession(_context))
               .MustHaveHappened();
              A.CallTo(() => _userFromSessionResolver.ResolveUser(session))
               .MustHaveHappened();
              A.CallTo(() => _invoiceGenIdentityFactory.Create(user))
               .MustHaveHappened();
        }
        public virtual void SetUp()
        {
            _getCurrentUserHandler = _getCurrentUserHandler.Fake();
              _loginHandler = _loginHandler.Fake();
              _logoutHandler = _logoutHandler.Fake();
              _nancySecurityContextFactory = _nancySecurityContextFactory.Fake();
              _sut = new UsersModule(_getCurrentUserHandler, _loginHandler, _logoutHandler, _nancySecurityContextFactory);
              _bootstrapper = new ApiBootstrapper(with => {
            with.Module(_sut);
            with.RootPathProvider(new InvoiceGenRootPathProvider());
              });
              _browser = new Browser(_bootstrapper, to => to.Accept(new MediaRange("application/json")));

              _authenticatedUser = new User {
            GivenName = "John",
            LastName = "Doe",
            Login = new Login {Value = "JDoe"},
            Password = new Password {
              Value = "P@$$w0rd",
              IsEncrypted = false
            }
              };
        }
 public InvoiceGenIdentity(User user)
 {
     if (user == null) throw new ArgumentNullException("user");
       User = user;
 }
 void ConfigureUserFromSessionResolver_ToReturn(ISession session, User user)
 {
     A.CallTo(() => _userFromSessionResolver.ResolveUser(session))
        .Returns(user);
 }
 void ConfigureInvoiceGenIdentityFactory_ToReturn(User user, InvoiceGenIdentity identity)
 {
     A.CallTo(() => _invoiceGenIdentityFactory.Create(user))
        .Returns(identity);
 }
 public HttpContextBuilder WithUser(User user)
 {
     ((HttpSessionState) _instance.Items["AspSession"])[Constants.SessionKeyForUser] = user;
       return this;
 }
 public IUserIdentity Create(User user)
 {
     return user == null
     ? null
     : new InvoiceGenIdentity(user);
 }
 void ConfigureSecurityContext_ToReturn(User user)
 {
     A.CallTo(() => _securityContext.GetAuthenticatedUser())
        .Returns(user);
 }