public async Task Register_ReturnsCorrectJson_WhenTaskIsClosed() { const string taskSignUpResultStatus = TaskSignupResult.FAILURE_CLOSEDTASK; var model = new EventSignupViewModel(); var mediator = new Mock<IMediator>(); mediator.Setup(x => x.SendAsync(It.Is<TaskSignupCommandAsync>(y => y.TaskSignupModel == model))) .Returns(Task.FromResult(new TaskSignupResult { Status = taskSignUpResultStatus })); var sut = new TaskApiController(mediator.Object, null); var jsonResult = await sut.RegisterTask(model) as JsonResult; var successStatus = jsonResult.GetValueForProperty<bool>("isSuccess"); var errors = jsonResult.GetValueForProperty<string[]>("errors"); Assert.False(successStatus); Assert.NotNull(errors); Assert.Equal(1, errors.Count()); Assert.Equal(TaskApiController.FAILED_SIGNUP_TASK_CLOSED, errors[0]); }
public async Task Register_ReturnsCorrectJson_WhenApiResult_IsSuccess() { const string taskSignUpResultStatus = TaskSignupResult.SUCCESS; var model = new EventSignupViewModel(); var mediator = new Mock<IMediator>(); mediator.Setup(x => x.SendAsync(It.Is<TaskSignupCommandAsync>(y => y.TaskSignupModel == model))) .Returns(Task.FromResult(new TaskSignupResult { Status = taskSignUpResultStatus, Task = new AllReadyTask { Id = 1, Name = "Task" } })); var sut = new TaskApiController(mediator.Object, null); var jsonResult = await sut.RegisterTask(model) as JsonResult; var successStatus = jsonResult.GetValueForProperty<bool>("isSuccess"); var taskModel = jsonResult.GetValueForProperty<TaskViewModel>("task"); Assert.True(successStatus); Assert.NotNull(taskModel); }
public async Task RegisterTaskSendsTaskSignupCommandWithCorrectTaskSignupModel() { var model = new EventSignupViewModel(); var mediator = new Mock<IMediator>(); mediator.Setup(x => x.SendAsync(It.Is<TaskSignupCommandAsync>(y => y.TaskSignupModel == model))).Returns(Task.FromResult(new TaskSignupResult())); var sut = new TaskApiController(mediator.Object, null); await sut.RegisterTask(model); mediator.Verify(x => x.SendAsync(It.Is<TaskSignupCommandAsync>(command => command.TaskSignupModel.Equals(model)))); }
public async Task RegisterTaskReturnsJsonWhenThereIsModelStateError() { const string modelStateErrorMessage = "modelStateErrorMessage"; var sut = new TaskApiController(null, null); sut.AddModelStateErrorWithErrorMessage(modelStateErrorMessage); var jsonResult = await sut.RegisterTask(new EventSignupViewModel()) as JsonResult; var result = jsonResult.GetValueForProperty<List<string>>("errors"); Assert.IsType<JsonResult>(jsonResult); Assert.IsType<List<string>>(result); Assert.Equal(result.First(), modelStateErrorMessage); }
public async Task RegisterTaskReturnsHttpBadRequestWhenModelIsNull() { var sut = new TaskApiController(null, null); var result = await sut.RegisterTask(null); Assert.IsType<BadRequestResult>(result); }
public async Task Register_ReturnsCorrectJson_WhenTaskNotFound() { const string taskSignUpResultStatus = TaskSignupResult.FAILURE_TASKNOTFOUND; var model = new TaskSignupViewModel(); var mediator = new Mock<IMediator>(); mediator.Setup(x => x.SendAsync(It.Is<TaskSignupCommand>(y => y.TaskSignupModel == model))) .Returns(Task.FromResult(new TaskSignupResult { Status = taskSignUpResultStatus })); var sut = new TaskApiController(mediator.Object, null, null); var jsonResult = await sut.RegisterTask(model) as JsonResult; var successStatus = jsonResult.GetValueForProperty<bool>("isSuccess"); var errors = jsonResult.GetValueForProperty<string[]>("errors"); Assert.False(successStatus); Assert.NotNull(errors); Assert.Equal(1, errors.Count()); Assert.Equal("Signup failed - The task could not be found", errors[0]); }