public async Task <IActionResult> SendCreateTheaterCommand( [FromBody] CreateNewTheater source, [FromServices] IMessageBus messageBus) { CreateTheater command = Translate(source); await messageBus.Send(new Envelope(command)); return(Accepted(uri: $"api/queries/Theaters/{command.TheaterId}")); }
public async Task CreateTheater_command_handler_creates_Theater_aggregate_root( CreateTheater command) { IEventSourcedRepository <Theater> repository = GetRepository(Theater.Factory); var sut = new TheaterCommandHandler(repository); await sut.Handle(new Envelope(command)); Theater actual = await repository.Find(command.TheaterId); actual.Should().NotBeNull(); }