public void ShouldGetApplicationPreviewViewModel() { // Arrange. var candidateId = Guid.NewGuid(); var candidateService = new Mock <ICandidateService>(); var apprenticeshipVacancyProvider = new Mock <IApprenticeshipVacancyProvider>(); var vacancy = new Fixture() .Build <ApprenticeshipVacancyDetailViewModel>() .With(fixture => fixture.VacancyStatus, VacancyStatuses.Live) .With(fixture => fixture.ViewModelMessage, null) .Create(); apprenticeshipVacancyProvider .Setup(p => p.GetVacancyDetailViewModel(candidateId, ValidVacancyId)) .Returns(vacancy); var application = new Fixture() .Build <ApprenticeshipApplicationDetail>() .With(fixture => fixture.Status, ApplicationStatuses.Draft) .Create(); var candidate = new Fixture() .Build <Candidate>() .Create(); candidateService .Setup(cs => cs.GetApplication(candidateId, ValidVacancyId)) .Returns(application); candidateService .Setup(cs => cs.GetCandidate(candidateId)) .Returns(candidate); var provider = new ApprenticeshipApplicationProviderBuilder() .With(candidateService) .With(apprenticeshipVacancyProvider) .Build(); // Act. var applicationViewModel = provider.GetApplicationViewModel(candidateId, ValidVacancyId); var applicationPreviewViewModel = provider.GetApplicationPreviewViewModel(candidateId, ValidVacancyId); // Assert. applicationPreviewViewModel.Should().NotBeNull(); applicationPreviewViewModel.DateApplied.Should().Be(applicationViewModel.DateApplied); applicationPreviewViewModel.DateUpdated.Should().Be(applicationViewModel.DateUpdated); applicationPreviewViewModel.VacancyId.Should().Be(applicationViewModel.VacancyId); applicationPreviewViewModel.VacancyDetail.Should().BeSameAs(applicationViewModel.VacancyDetail); applicationPreviewViewModel.Status.Should().Be(applicationViewModel.Status); applicationPreviewViewModel.AcceptSubmit.Should().BeFalse(); applicationPreviewViewModel.ViewModelMessage.Should().BeNullOrEmpty(); applicationPreviewViewModel.HasError().Should().BeFalse(); }
public void ShouldHaveViewModelErrorMessage() { // Arrange. var candidateId = Guid.NewGuid(); var candidateService = new Mock <ICandidateService>(); var apprenticeshipVacancyProvider = new Mock <IApprenticeshipVacancyProvider>(); var vacancy = new Fixture() .Build <ApprenticeshipVacancyDetailViewModel>() .With(fixture => fixture.VacancyStatus, VacancyStatuses.Live) .With(fixture => fixture.ViewModelMessage, "Something wonderful happened") .Create(); apprenticeshipVacancyProvider .Setup(p => p.GetVacancyDetailViewModel(candidateId, ValidVacancyId)) .Returns(vacancy); var application = new Fixture() .Build <ApprenticeshipApplicationDetail>() .With(fixture => fixture.Status, ApplicationStatuses.Draft) .Create(); candidateService .Setup(cs => cs.GetApplication(candidateId, ValidVacancyId)) .Returns(application); var provider = new ApprenticeshipApplicationProviderBuilder() .With(candidateService) .With(apprenticeshipVacancyProvider) .Build(); // Act. var applicationPreviewViewModel = provider.GetApplicationPreviewViewModel(candidateId, ValidVacancyId); // Assert. applicationPreviewViewModel.Should().NotBeNull(); applicationPreviewViewModel.ViewModelMessage.Should().Be(vacancy.ViewModelMessage); applicationPreviewViewModel.HasError().Should().BeTrue(); }