public void CanInitCreate()
        {
            // Establish Context
            var viewModel = new AgencyFormViewModel();

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

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

            // Assert
            result.ViewData.Model.ShouldNotBeNull();
            (result.ViewData.Model as AgencyFormViewModel).ShouldNotBeNull();
            (result.ViewData.Model as AgencyFormViewModel).Agency.ShouldBeNull();
        }
        public void CannotUpdateInvalidAgencyFromForm()
        {
            // Establish Context
            var agencyFromForm = new Agency();
            var viewModelToExpect = new AgencyFormViewModel();
            var testUser = new Person();
            testUser.SetAssignedIdTo(1);
            _authenticationProvider.Expect(r => r.GetLoggedInUser()).Return("user1");
            _personManagementService.Expect(r => r.GetByUserName("user1")).Return(testUser);

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

            // Act
            ViewResult result =
                _agenciesController.Edit(agencyFromForm).AssertViewRendered();

            // Assert
            result.ViewData.Model.ShouldNotBeNull();
            (result.ViewData.Model as AgencyFormViewModel).ShouldNotBeNull();
        }
 public AgencyFormViewModel CreateFormViewModel()
 {
     var viewModel = new AgencyFormViewModel();
     return viewModel;
 }