コード例 #1
0
 public async Task <IActionResult> Create(CreateActorCommand command)
 {
     try
     {
         return(Ok(await Mediator.Send(command)));
     }
     catch (ValidationException e)
     {
         return(BadRequest(e.Message));
     }
 }
コード例 #2
0
        public async Task <ActionResult> Post([FromBody] CreateActorCommand command)
        {
            if (command == null)
            {
                return(HttpBadRequest());
            }
            var id = await repository.Add(command.ActorCommand);

            command.ActorCommand.Id = id;
            foreach (var link in command?.Links ?? new List <CreateLinkForNewNodeCommand>())
            {
                await linkDataService.Add(link.ToCreateLinkCommand(id, StoryboardNodeTypes.Actor));
            }

            return(CreatedAtAction(nameof(GetById), new { id = id }, command));
        }
コード例 #3
0
        public async Task Post_ReturnsId()
        {
            var newId        = 23;
            var actorCommand = new AddUpdateActorCommand
            {
                Id          = 0,
                Description = "Description",
                Name        = "Name"
            };
            var command = new CreateActorCommand();

            command.ActorCommand = actorCommand;
            Mock.Arrange(() => repo.Add(Arg.IsAny <AddUpdateActorCommand>()))
            .Returns((AddUpdateActorCommand cmd) => Task.FromResult(newId));

            var result = await target.Post(command) as ObjectResult;

            var completedCommand = result?.Value as CreateActorCommand;

            Assert.Equal(newId, completedCommand.ActorCommand.Id);
        }
コード例 #4
0
        public async Task Post_CallsRepository()
        {
            var actorCommand = new AddUpdateActorCommand
            {
                Id          = 1,
                Description = "Description",
                Name        = "Name"
            };
            var command = new CreateActorCommand();

            command.ActorCommand = actorCommand;
            AddUpdateActorCommand repoCommand = new AddUpdateActorCommand();

            Mock.Arrange(() => repo.Add(Arg.IsAny <AddUpdateActorCommand>()))
            .Returns((AddUpdateActorCommand cmd) => {
                repoCommand = cmd;
                return(Task.FromResult(cmd.Id));
            });
            await target.Post(command);

            Assert.Equal(command.ActorCommand.Id, repoCommand.Id);
            Assert.Equal(command.ActorCommand.Description, repoCommand.Description);
            Assert.Equal(command.ActorCommand.Name, repoCommand.Name);
        }
コード例 #5
0
 public ActorsController()
 {
     _createActorCommand = new CreateActorCommand();
     _getAllActorsQuery  = new GetAllActorsQuery();
 }