示例#1
0
        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);
        }
示例#2
0
 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);
 }