public async Task UnregisterTaskReturnsTaskViewModelWhenResultTaskIsNotNull() { var mediator = new Mock<IMediator>(); mediator.Setup(x => x.SendAsync(It.IsAny<TaskUnenrollCommand>())).ReturnsAsync(new TaskUnenrollResult { Task = new AllReadyTask() }); var sut = new TaskApiController(mediator.Object, null); sut.SetDefaultHttpContext(); var jsonResult = await sut.UnregisterTask(It.IsAny<int>()); var result = jsonResult.GetValueForProperty<TaskViewModel>("Task"); Assert.IsType<JsonResult>(jsonResult); Assert.IsType<TaskViewModel>(result); }
public async Task UnregisterTaskSendsTaskUnenrollCommandAsyncWithCorrectTaskIdAndUserId() { const string userId = "1"; const int taskId = 1; var mediator = new Mock<IMediator>(); mediator.Setup(x => x.SendAsync(It.IsAny<TaskUnenrollCommand>())).ReturnsAsync(new TaskUnenrollResult()); var sut = new TaskApiController(mediator.Object, null); sut.SetFakeUser(userId); await sut.UnregisterTask(taskId); mediator.Verify(x => x.SendAsync(It.Is<TaskUnenrollCommand>(y => y.TaskId == taskId && y.UserId == userId))); }
public async Task UnregisterTaskReturnsCorrectStatus() { const string status = "status"; var mediator = new Mock<IMediator>(); mediator.Setup(x => x.SendAsync(It.IsAny<TaskUnenrollCommand>())).ReturnsAsync(new TaskUnenrollResult { Status = status }); var sut = new TaskApiController(mediator.Object, null); sut.SetDefaultHttpContext(); var jsonResult = await sut.UnregisterTask(It.IsAny<int>()); var result = jsonResult.GetValueForProperty<string>("Status"); Assert.IsType<JsonResult>(jsonResult); Assert.IsType<string>(result); Assert.Equal(result, status); }
public async Task UnregisterTaskReturnsNullForTaskWhenResultTaskIsNull() { var mediator = new Mock<IMediator>(); mediator.Setup(x => x.SendAsync(It.IsAny<TaskUnenrollCommand>())).ReturnsAsync(new TaskUnenrollResult()); var userManager = MockHelper.CreateUserManagerMock(); userManager.Setup(x => x.GetUserId(It.IsAny<ClaimsPrincipal>())).Returns(It.IsAny<string>()); var sut = new TaskApiController(mediator.Object, null, userManager.Object); sut.SetDefaultHttpContext(); var jsonResult = await sut.UnregisterTask(It.IsAny<int>()); var result = jsonResult.GetValueForProperty<string>("Task"); Assert.IsType<JsonResult>(jsonResult); Assert.Null(result); }