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

            // Act
            EntryFormViewModel viewModelRetrieved =
                entryManagementService.CreateFormViewModel();

            // Assert
            viewModelRetrieved.ShouldNotBeNull();
            viewModelRetrieved.Entry.ShouldBeNull();
        }
        public void CanInitCreate()
        {
            // Establish Context
            EntryFormViewModel viewModel = new EntryFormViewModel();

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

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

            // Assert
            result.ViewData.Model.ShouldNotBeNull();
            (result.ViewData.Model as EntryFormViewModel).ShouldNotBeNull();
            (result.ViewData.Model as EntryFormViewModel).Entry.ShouldBeNull();
        }
        public void CanCreateFormViewModelForEntry()
        {
            // Establish Context
            EntryFormViewModel viewModelToExpect = new EntryFormViewModel();

            Entry entry =
                EntryInstanceFactory.CreateValidTransientEntry();

            entryRepository.Expect(r => r.Get(1))
                .Return(entry);

            // Act
            EntryFormViewModel viewModelRetrieved =
                entryManagementService.CreateFormViewModelFor(1);

            // Assert
            viewModelRetrieved.ShouldNotBeNull();
            viewModelRetrieved.Entry.ShouldNotBeNull();
            viewModelRetrieved.Entry.ShouldEqual(entry);
        }
        public void CannotUpdateInvalidEntryFromForm()
        {
            // Establish Context
            Entry entryFromForm = new Entry();
            EntryFormViewModel viewModelToExpect = new EntryFormViewModel();

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

            // Act
            ViewResult result =
                entriesController.Edit(entryFromForm).AssertViewRendered();

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