public ActionResult SetAttemptComplete(SetAttemptCompleteRequest request) { var taskCharacter = _context.TaskCharacters.Find(request.CharacterId, request.TaskId); if (taskCharacter is null) { return(NotFound()); } taskCharacter.IsActive = false; _context.SaveChanges(); return(NoContent()); }
public void GivenAnInvalidCharacterId_ReturnsNotFound() { // Arrange var task = new Task(DefaultPlayer.Id, TaskType.General); var character = new Character { PlayerId = DefaultPlayer.Id }; Context.Tasks.Add(task); Context.Characters.Add(character); var taskCharacter = new TaskCharacter(character.Id, task.Id); Context.TaskCharacters.Add(taskCharacter); Context.SaveChanges(); var dto = new SetAttemptCompleteRequest(TestConstants.AllOnesGuid, taskCharacter.TaskId); // Act var result = _controller.SetAttemptComplete(dto); // Assert Assert.IsInstanceOf<NotFoundResult>(result); }
public void GivenAValidTaskCharacter_ShouldSetTaskCharacterToInactive() { // Arrange var task = new Task(DefaultPlayer.Id, TaskType.General); var character = new Character { PlayerId = DefaultPlayer.Id }; Context.Tasks.Add(task); Context.Characters.Add(character); var taskCharacter = new TaskCharacter(character.Id, task.Id); Context.TaskCharacters.Add(taskCharacter); Context.SaveChanges(); var dto = new SetAttemptCompleteRequest(taskCharacter.CharacterId, taskCharacter.TaskId); // Act _controller.SetAttemptComplete(dto); var foundTaskCharacter = Context.TaskCharacters.Find(dto.CharacterId, dto.TaskId); // Assert foundTaskCharacter.IsActive.Should().BeFalse(); }