public async Task ValidateVacancy_Then_The_Request_Is_Sent_To_Mediator_Command( Guid id, long vacancyRef, string userEmail, long ukprn, CreateVacancyRequest request, CreateVacancyCommandResponse response, [Frozen] Mock <IMediator> mediator, [Greedy] VacanciesController controller) { response.ResultCode = ResponseCode.Created; response.Data = vacancyRef; mediator.Setup(x => x.Send(It.Is <CreateVacancyCommand>(c => c.Vacancy.Title.Equals(request.Title) && c.Vacancy.Id.Equals(id) && c.VacancyUserDetails.Email.Equals(userEmail) && c.VacancyUserDetails.Ukprn.Equals(ukprn) && c.ValidateOnly ), CancellationToken.None)) .ReturnsAsync(response); var actual = await controller.Validate(id, request, userEmail, ukprn) as CreatedResult; Assert.NotNull(actual); actual.StatusCode.Should().Be((int)HttpStatusCode.Created); var actualResult = actual.Value as long?; Assert.NotNull(actualResult); actualResult.Value.Should().Be((long)response.Data); }
public VacanciesControllerTests() { _mockMediator = new Mock <IMediator>(); _mockMediator.Setup(x => x.Send(It.IsAny <GetVacanciesQuery>(), CancellationToken.None)) .ReturnsAsync(new GetVacanciesResponse()) .Callback <IRequest <GetVacanciesResponse>, CancellationToken>((q, _) => _queryPassed = (GetVacanciesQuery)q); _sut = new VacanciesController(_mockMediator.Object); }