public void CanCreateFormViewModel()
        {
            // Establish Context
            var viewModelToExpect = new SupportTeamFormViewModel();

            // Act
            SupportTeamFormViewModel viewModelRetrieved =
                supportTeamManagementService.CreateFormViewModel();

            // Assert
            viewModelRetrieved.ShouldNotBeNull();
            viewModelRetrieved.SupportTeam.ShouldBeNull();
        }
        public void CanInitCreate()
        {
            // Establish Context
            var viewModel = new SupportTeamFormViewModel();

            supportTeamManagementService.Expect(r => r.CreateFormViewModel())
                .Return(viewModel);

            // Act
            ViewResult result = supportTeamsController.Create().AssertViewRendered();

            // Assert
            result.ViewData.Model.ShouldNotBeNull();
            (result.ViewData.Model as SupportTeamFormViewModel).ShouldNotBeNull();
            (result.ViewData.Model as SupportTeamFormViewModel).SupportTeam.ShouldBeNull();
        }
        public void CanCreateFormViewModelForSupportTeam()
        {
            // Establish Context
            var viewModelToExpect = new SupportTeamFormViewModel();

            SupportTeam supportTeam =
                SupportTeamInstanceFactory.CreateValidTransientSupportTeam();

            supportTeamRepository.Expect(r => r.Get(1))
                .Return(supportTeam);

            // Act
            SupportTeamFormViewModel viewModelRetrieved =
                supportTeamManagementService.CreateFormViewModelFor(1);

            // Assert
            viewModelRetrieved.ShouldNotBeNull();
            viewModelRetrieved.SupportTeam.ShouldNotBeNull();
            viewModelRetrieved.SupportTeam.ShouldEqual(supportTeam);
        }
        public void CannotUpdateInvalidSupportTeamFromForm()
        {
            // Establish Context
            var supportTeamFromForm = new SupportTeam();
            var viewModelToExpect = new SupportTeamFormViewModel();

            var testUser = new Person();
            testUser.SetAssignedIdTo(1);
            _authenticationProvider.Expect(r => r.GetLoggedInUser()).Return("user1");
            _personManagementService.Expect(r => r.GetByUserName("user1")).Return(testUser);

            supportTeamManagementService.Expect(r => r.UpdateWith(supportTeamFromForm, 0))
                .Return(ActionConfirmation.CreateFailureConfirmation("not updated"));
            supportTeamManagementService.Expect(r => r.CreateFormViewModelFor(supportTeamFromForm))
                .Return(viewModelToExpect);

            // Act
            ViewResult result =
                supportTeamsController.Edit(supportTeamFromForm).AssertViewRendered();

            // Assert
            result.ViewData.Model.ShouldNotBeNull();
            (result.ViewData.Model as SupportTeamFormViewModel).ShouldNotBeNull();
        }
 public SupportTeamFormViewModel CreateFormViewModelFor(SupportTeam supportTeam)
 {
     var viewModel = new SupportTeamFormViewModel { SupportTeam = supportTeam };
     LoadViewModel(viewModel);
     return viewModel;
 }
 public SupportTeamFormViewModel CreateFormViewModel()
 {
     var viewModel = new SupportTeamFormViewModel();
     LoadViewModel(viewModel);
     return viewModel;
 }
 protected void LoadViewModel(SupportTeamFormViewModel viewModel)
 {
     viewModel.Supervisors = (viewModel.SupportTeam != null &&
                              viewModel.SupportTeam.SupervisorId.HasValue)
                                 ? _personManagementService.GetActiveSupervisors(viewModel.SupportTeam.SupervisorId.Value)
                                 : _personManagementService.GetActiveSupervisors();
 }