public void ShouldGetStatusOkIfNoProblem() { const int vacancyReferenceNumber = 1; var provider = new Mock <IVacancyQAProvider>(); provider.Setup(p => p.GetNextAvailableVacancy()).Returns(new DashboardVacancySummaryViewModel()); var mediator = new VacancyMediatorBuilder().With(provider).Build(); var result = mediator.RejectVacancy(vacancyReferenceNumber); result.Code.Should().Be(VacancyMediatorCodes.RejectVacancy.Ok); }
public void ShouldReturnInvalidVacancyIfTheVacancyIsNotAvailableToQA() { const int vacancyReferenceNumber = 1; var provider = new Mock <IVacancyQAProvider>(); provider.Setup(p => p.RejectVacancy(vacancyReferenceNumber)).Returns(QAActionResultCode.InvalidVacancy); var mediator = new VacancyMediatorBuilder().With(provider).Build(); var result = mediator.RejectVacancy(vacancyReferenceNumber); result.AssertMessage(VacancyMediatorCodes.RejectVacancy.InvalidVacancy, VacancyViewModelMessages.InvalidVacancy, UserMessageLevel.Error); }
public void ShouldReturnNoAvailableVacanciesIfThereArentAnyAvailableVacancies() { const int vacancyReferenceNumber = 1; DashboardVacancySummaryViewModel nullVacancy = null; var provider = new Mock <IVacancyQAProvider>(); provider.Setup(p => p.GetNextAvailableVacancy()).Returns(nullVacancy); var mediator = new VacancyMediatorBuilder().With(provider).Build(); var result = mediator.RejectVacancy(vacancyReferenceNumber); result.AssertMessage(VacancyMediatorCodes.RejectVacancy.NoAvailableVacancies, VacancyViewModelMessages.NoVacanciesAvailble, UserMessageLevel.Info); }
public void ShouldGetTheNextVacancyIfVacancyIsRejected() { const int vacancyReferenceNumber = 1; var pendingQAVacancies = VacancyMediatorTestHelper.GetPendingVacancies(new[] { vacancyReferenceNumber }); var provider = new Mock <IVacancyQAProvider>(); provider.Setup(p => p.GetPendingQAVacancies()).Returns(pendingQAVacancies.ToList()); var mediator = new VacancyMediatorBuilder().With(provider).Build(); mediator.RejectVacancy(vacancyReferenceNumber); provider.Verify(p => p.GetNextAvailableVacancy(), Times.Once); }
public void ShouldReturnTheNextAvailableVacancyAfterRejectingOne() { const int vacancyReferenceNumber = 1; const int nextVacancyReferenceNumber = 2; var provider = new Mock <IVacancyQAProvider>(); provider.Setup(p => p.GetNextAvailableVacancy()) .Returns(new DashboardVacancySummaryViewModel { VacancyReferenceNumber = nextVacancyReferenceNumber }); var mediator = new VacancyMediatorBuilder().With(provider).Build(); var result = mediator.RejectVacancy(vacancyReferenceNumber); result.AssertCodeAndMessage(VacancyMediatorCodes.RejectVacancy.Ok); result.ViewModel.VacancyReferenceNumber.Should().Be(nextVacancyReferenceNumber); }
public void ShouldUpdateTheStatusOfTheVacancyToDraft() { //Arrange const int vacancyReferenceNumber = 1; var pendingQAVacancies = VacancyMediatorTestHelper.GetPendingVacancies(new[] { vacancyReferenceNumber }); var provider = new Mock <IVacancyQAProvider>(); provider.Setup(p => p.GetPendingQAVacancies()).Returns(pendingQAVacancies.ToList()); var mediator = new VacancyMediatorBuilder().With(provider).Build(); //Act mediator.RejectVacancy(vacancyReferenceNumber); //Assert provider.Verify(p => p.RejectVacancy(vacancyReferenceNumber), Times.Once); }