예제 #1
0
        public void GivenAValidCharacter_ShouldSetTaskCharacterIsActiveToTrue()
        {
            // Arrange
            var character = new Character {
                PlayerId = DefaultPlayer.Id
            };
            var task = new Task(DefaultPlayer.Id, TaskType.General);

            Context.Characters.Add(character);
            Context.Tasks.Add(task);
            Context.SaveChanges();

            var dto = new AddCharacterToTaskRequest(character.Id, task.Id);

            // Act
            _controller.AddCharacterToTask(dto);

            var foundTaskCharacter = Context.TaskCharacters.Find(dto.CharacterId, dto.TaskId);

            // Assert
            foundTaskCharacter.IsActive.Should().BeTrue();
        }
예제 #2
0
        public ActionResult AddCharacterToTask(AddCharacterToTaskRequest request)
        {
            var task = _context.Tasks.Find(request.TaskId);

            if (task is null)
            {
                return(NotFound());
            }

            var character = _context.Characters.Find(request.CharacterId);

            if (character is null)
            {
                return(NotFound());
            }

            var taskCharacter = new TaskCharacter(request.CharacterId, request.TaskId);

            _context.TaskCharacters.Add(taskCharacter);
            _context.SaveChanges();

            return(NoContent());
        }