Esempio n. 1
0
        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();
        }