public void Execute_Returns_Edited_User()
        {
            // Setup
            InitializeTestEntities();

            // Act
            User result = new EditUserCommand(_unitOfWork).WithUserId(_user.Id)
                                                        .SetLastVisitedJobSearchId(_search.Id)
                                                        .WithExistingPassword(_oldPassword)
                                                        .Execute();

            // Verify
            Assert.IsNotNull(result, "No user was found in the repository");
            Assert.AreEqual(_user, result, "User was incorrect");
            Assert.AreEqual(_startingEmail, result.Email, "User's email was incorrect");
            Assert.IsTrue(PasswordUtils.CheckPasswordHash(_startingEmail, _oldPassword, result.Password), "User's password was incorrect");
            Assert.AreEqual(_search.Id, result.LastVisitedJobSearchId, "User's last visited jobsearch id was incorrect");
        }
 public JobSearchController(JobSearchesByUserIdQuery jobSearchesByIdQuery,
                             JobSearchByIdQuery jobSearchByIdQuery,
                             CreateJobSearchForUserCommand createJobSearchCommand,
                             EditJobSearchCommand editJobSearchCommand,
                             OpenTasksByJobSearchQuery openTasksByJobSearchQuery,
                             EditUserCommand editUserCommand,
                             EntitySearchQuery entitySearchQuery,
                             UserByIdQuery userByIdQuery,
                             StartNextJobSearchMilestoneCommand startNextMilestoneCmd,
                             IProcess<ByJobSearchParams, JobsearchExportViewModel> exportProcess,
                             IServiceFactory serviceFactory)
 {
     _jobSearchByIdQuery = jobSearchByIdQuery;
     _jobSearchesByUserIdQuery = jobSearchesByIdQuery;
     _createJobSearchCommand = createJobSearchCommand;
     _editJobSearchCommand = editJobSearchCommand;
     _openTasksByJobSearchQuery = openTasksByJobSearchQuery;
     _editUserCommand = editUserCommand;
     _entitySearchQuery = entitySearchQuery;
     _serviceFactory = serviceFactory;
     _userByIdQuery = userByIdQuery;
     _startNextMilestoneCmd = startNextMilestoneCmd;
     _exportProcess = exportProcess;
 }