public async Task GivenValidRequest_WhenCreating_ShouldReturnCreated() { // Given var request = new CreateJobRequest { Subject = "test", Payload = "do things", RunAt = DateTime.UtcNow.AddDays(1), }; var job = Job.New(request.Subject, request.Payload, true, request.RunAt, request.StopAfter, null); var jobExecution = JobExecution.New(job, request.RunAt); Mock.Get(_mediator) .Setup(x => x.Send(It.IsAny <Core.Handlers.CreateJobRequest>(), CancellationToken.None)) .ReturnsAsync(new CreateJobResponse(job, jobExecution)); // When var result = await _controller.CreateAsync(request, CancellationToken.None); var actionResult = result.Result as ObjectResult; // Then actionResult.ShouldBeAssignableTo <ObjectResult>(); actionResult.StatusCode.ShouldBe(StatusCodes.Status201Created); }
public async Task GivenInValidRequest_WhenCreating_ShouldReturnValidationError() { // Given _controller.ModelState.AddModelError("Some", "IsRequired"); var request = new CreateJobRequest(); // When var result = await _controller.CreateAsync(request, CancellationToken.None); var actionResult = result.Result as UnprocessableEntityObjectResult; // Then actionResult.ShouldBeAssignableTo <UnprocessableEntityObjectResult>(); actionResult.StatusCode.ShouldBe(StatusCodes.Status422UnprocessableEntity); }