public async Task <IActionResult> Create(CreateActorCommand command) { try { return(Ok(await Mediator.Send(command))); } catch (ValidationException e) { return(BadRequest(e.Message)); } }
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)); }
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); }
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); }
public ActorsController() { _createActorCommand = new CreateActorCommand(); _getAllActorsQuery = new GetAllActorsQuery(); }