コード例 #1
0
        public void Ok_CandidateIsLoggedInAndHasNoSavedSearches()
        {
            // Arrange.
            var candidateId = Guid.NewGuid();
            var candidateServiceProvider = new Mock <ICandidateServiceProvider>();

            var savedSearches = new SavedSearchViewModel[] { };

            candidateServiceProvider
            .Setup(p => p.GetSavedSearches(candidateId)).Returns(savedSearches);

            var candidate = new Domain.Entities.Candidates.Candidate
            {
                RegistrationDetails = new RegistrationDetails {
                    Address = new Address {
                        Postcode = "CANDIDATE POSTCODE"
                    }
                }
            };

            candidateServiceProvider
            .Setup(p => p.GetCandidate(candidateId)).Returns(candidate);

            var mediator = new ApprenticeshipSearchMediatorBuilder()
                           .With(candidateServiceProvider).Build();

            // Act.
            var response = mediator.Index(candidateId, ApprenticeshipSearchMode.SavedSearches, false);

            // Assert.
            candidateServiceProvider.Verify(p => p.GetSavedSearches(candidateId), Times.Once);
            response.ViewModel.SavedSearches.Count().Should().Be(savedSearches.Length);
            response.Code.Should().Be(ApprenticeshipSearchMediatorCodes.Index.Ok);
        }
コード例 #2
0
        public void Ok_CandidateIsNotLoggedIn()
        {
            // Arrange.
            var candidateServiceProvider = new Mock <ICandidateServiceProvider>();

            var mediator = new ApprenticeshipSearchMediatorBuilder()
                           .With(candidateServiceProvider).Build();

            // Act.
            var response = mediator.Index(null, ApprenticeshipSearchMode.SavedSearches, false);

            // Assert.
            candidateServiceProvider.Verify(p => p.GetSavedSearches(It.IsAny <Guid>()), Times.Never);
            response.Code.Should().Be(ApprenticeshipSearchMediatorCodes.Index.Ok);
        }
コード例 #3
0
        public void Ok_CandidateIsLoggedInAndHasSavedSearches(int savedSearchCount)
        {
            // Arrange.
            var candidateId = Guid.NewGuid();
            var candidateServiceProvider = new Mock <ICandidateServiceProvider>();

            var savedSearches = new Fixture()
                                .Build <SavedSearchViewModel>()
                                .CreateMany(savedSearchCount);

            candidateServiceProvider
            .Setup(p => p.GetSavedSearches(candidateId)).Returns(savedSearches);

            var candidate = new Domain.Entities.Candidates.Candidate
            {
                RegistrationDetails = new RegistrationDetails {
                    Address = new Address {
                        Postcode = "CANDIDATE POSTCODE"
                    }
                }
            };

            candidateServiceProvider
            .Setup(p => p.GetCandidate(candidateId)).Returns(candidate);

            var mediator = new ApprenticeshipSearchMediatorBuilder()
                           .With(candidateServiceProvider).Build();

            // Act.
            var response = mediator.Index(candidateId, ApprenticeshipSearchMode.SavedSearches, false);

            // Assert.
            candidateServiceProvider.Verify(p => p.GetSavedSearches(candidateId), Times.Once);
            response.ViewModel.SavedSearches.Count().Should().Be(savedSearchCount);
            response.ViewModel.SavedSearches.Should().BeInDescendingOrder(each => each.DateCreated);
        }