public async Task RegisterTaskReturnsHttpBadRequestWhenModelIsNull() { var sut = new TaskApiController(null, null, null); var result = await sut.RegisterTask(null); Assert.IsType <BadRequestResult>(result); }
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, 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 - Task is 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, 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 Register_ReturnsCorrectJson_WhenTaskIsClosed() { const TaskResultStatus volunteerTaskSignUpResultStatus = TaskResultStatus.Failure_ClosedTask; var model = new VolunteerTaskSignupViewModel(); var mediator = new Mock <IMediator>(); mediator.Setup(x => x.SendAsync(It.Is <VolunteerTaskSignupCommand>(y => y.TaskSignupModel == model))) .ReturnsAsync(new VolunteerTaskSignupResult { Status = volunteerTaskSignUpResultStatus }); 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.Single(errors); Assert.Equal("Signup failed - Task is closed", errors[0]); }
public async Task Register_ReturnsCorrectJson_WhenApiResult_IsSuccess() { const TaskResultStatus volunteerTaskSignUpResultStatus = TaskResultStatus.Success; var model = new VolunteerTaskSignupViewModel(); var mediator = new Mock <IMediator>(); mediator.Setup(x => x.SendAsync(It.Is <VolunteerTaskSignupCommand>(y => y.TaskSignupModel == model))) .ReturnsAsync(new VolunteerTaskSignupResult { Status = volunteerTaskSignUpResultStatus, VolunteerTask = new VolunteerTask { Id = 1, Name = "Task" } }); var sut = new TaskApiController(mediator.Object, null, null); var jsonResult = await sut.RegisterTask(model) as JsonResult; var successStatus = jsonResult.GetValueForProperty <bool>("isSuccess"); var volunteerTaskModel = jsonResult.GetValueForProperty <VolunteerTaskViewModel>("task"); Assert.True(successStatus); Assert.NotNull(volunteerTaskModel); }
public async Task Register_ReturnsCorrectJson_WhenTaskNotFound() { const string volunteerTaskSignUpResultStatus = VolunteerTaskSignupResult.FAILURE_TASKNOTFOUND; var model = new VolunteerTaskSignupViewModel(); var mediator = new Mock <IMediator>(); mediator.Setup(x => x.SendAsync(It.Is <VolunteerTaskSignupCommand>(y => y.TaskSignupModel == model))) .ReturnsAsync(new VolunteerTaskSignupResult { Status = volunteerTaskSignUpResultStatus }); 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]); }
public async Task RegisterTaskSendsTaskSignupCommandWithCorrectTaskSignupModel() { var model = new ActivitySignupViewModel(); var mediator = new Mock <IMediator>(); mediator.Setup(x => x.SendAsync(It.Is <TaskSignupCommand>(y => y.TaskSignupModel == model))).Returns(Task.FromResult(new TaskSignupResult())); var sut = new TaskApiController(null, mediator.Object, null); await sut.RegisterTask(model); mediator.Verify(x => x.SendAsync(It.Is <TaskSignupCommand>(command => command.TaskSignupModel.Equals(model)))); }
public async Task RegisterTaskReturnsNullForTaskIfTaskIsNull() { var model = new ActivitySignupViewModel(); var mediator = new Mock <IMediator>(); mediator.Setup(x => x.SendAsync(It.Is <TaskSignupCommand>(y => y.TaskSignupModel == model))).Returns(Task.FromResult(new TaskSignupResult())); var sut = new TaskApiController(null, mediator.Object, null); var jsonResult = await sut.RegisterTask(model) as JsonResult; var result = jsonResult.GetValueForProperty <string>("Task"); Assert.Null(result); }
public async Task RegisterTaskReturnsJsonWhenThereIsModelStateError() { const string modelStateErrorMessage = "modelStateErrorMessage"; var sut = new TaskApiController(null, null, null); sut.AddModelStateErrorWithErrorMessage(modelStateErrorMessage); var jsonResult = await sut.RegisterTask(new ActivitySignupViewModel()) 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 RegisterTaskReturnsCorrectValueForStatus() { const string taskSignUpResultStatus = "status"; var model = new ActivitySignupViewModel(); 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(null, mediator.Object, null); var jsonResult = await sut.RegisterTask(model) as JsonResult; var result = jsonResult.GetValueForProperty <string>("Status"); Assert.Equal(result, taskSignUpResultStatus); }
public async Task RegisterTaskReturnsTaskViewModelIfTaskIsNotNull() { var model = new ActivitySignupViewModel { UserId = "userId" }; var mediator = new Mock <IMediator>(); mediator.Setup(x => x.SendAsync(It.Is <TaskSignupCommand>(y => y.TaskSignupModel == model))).Returns(Task.FromResult(new TaskSignupResult { Task = new AllReadyTask() })); var sut = new TaskApiController(null, mediator.Object, null); var jsonResult = await sut.RegisterTask(model) as JsonResult; var result = jsonResult.GetValueForProperty <TaskViewModel>("Task"); Assert.IsType <JsonResult>(jsonResult); Assert.IsType <TaskViewModel>(result); }