public void Command_Create_Person_Valid_Entity() { var person = new CreateNewPersonCommand() { FirstName = "Adam", LastName = "Liu", Age = 1 }; handler.HandleAsync(person).Wait(); }
public void Command_Create_Person_Invalid_FirstName() { var person = new CreateNewPersonCommand() { LastName = "2", Age = 1 }; var result = person.Validate(new ValidationContext(person)); IsTrue(result.First().MemberNames.First() == nameof(person.FirstName)); }
static void Main(string[] args) { var config = new ConfigurationBuilder() .SetBasePath(Directory.GetCurrentDirectory()) .AddJsonFile("config.json") .Build(); var serviceProvider = new ServiceCollection() .AddTransient <EventPublisher, EventPublisher>() .AddTransient <IEventStore>(s => new SqlEventStore(config["connectionstring"], s.GetService <EventPublisher>())) .AddTransient <StateConnector, StateConnector>() .AddTransient <ICommandHandler <CreateNewPersonCommand>, PersonCommandHandler>() .AddTransient <ICommandHandler <ChangeAgeCommand>, PersonCommandHandler>() .AddTransient <ICommandHandler <ChangeNameCommand>, PersonCommandHandler>() .BuildServiceProvider(); Guid id = Guid.NewGuid(); CreateNewPersonCommand newPersonCommand = new CreateNewPersonCommand { AggregateRootId = id, Age = 28, Name = "John Doe" }; ChangeNameCommand nameToJane = new ChangeNameCommand { AggregateRootId = id, Name = "Jane Doe" }; ChangeAgeCommand ageTo29Command = new ChangeAgeCommand { AggregateRootId = id, Age = 29 }; ChangeAgeCommand ageTo30Command = new ChangeAgeCommand { AggregateRootId = id, Age = 30 }; CommandHandler commandHandler = new CommandHandler(serviceProvider); commandHandler.Handle(newPersonCommand); commandHandler.Handle(nameToJane); commandHandler.Handle(ageTo29Command); commandHandler.Handle(ageTo30Command); StateConnector connector = serviceProvider.GetService <StateConnector>(); var foundPerson = connector.Get <Person>(id); Console.WriteLine(foundPerson.ToString()); }
public void Command_Create_Person_Invalid_Age() { var person = new CreateNewPersonCommand() { FirstName = "1", LastName = "2", Age = -1 }; var result = new List <ValidationResult>(); Validator.TryValidateObject(person, new ValidationContext(person), result); IsTrue(result.First().MemberNames.First() == nameof(person.Age)); }
public async Task Application_Person_Query_All(int range) { for (int i = 0; i < range; i++) { var person = new CreateNewPersonCommand() { FirstName = "Adam", LastName = "Liu", Age = new Random().Next(10) }; iocProvider.GetContainer().Resolve <IPersonCommandHandler>().Handle(person); } var result = await handler.Query(); AreEqual(result.Count(), range); }
public async Task Application_Person_Query_GetOne(int id) { for (int i = 0; i < 1; i++) { var person = new CreateNewPersonCommand() { FirstName = "Adam", LastName = "Liu", Age = new Random().Next(3) }; iocProvider.GetContainer().Resolve <IPersonCommandHandler>().Handle(person); } var result = await handler.GetById(id); AreEqual(result.Id, 1); }
public async Task Application_Person_Query_KauriTree(int range) { for (int i = 0; i < 50; i++) { var person = new CreateNewPersonCommand() { FirstName = "Adam", LastName = "Liu", Age = new Random().Next(range) }; iocProvider.GetContainer().Resolve <IPersonCommandHandler>().Handle(person); } var result = await handler.Query("Age >= 4999"); IsTrue(result.Count() > 0); AreEqual(result.FirstOrDefault().Group.Description, "Kauri tree"); }
public void when_pass_valid_Input_value_expect_person_create_and_register() { //Arrange var command = new CreateNewPersonCommand { FirstName = "Alireza", LastName = "Oroumand", Id = Guid.NewGuid() }; var moqPersonRepository = new Moq.Mock <IPersonCommandRepository>(); moqPersonRepository.Setup(c => c.Add(It.IsAny <Person>())); var commanHandler = new CreateNewPersonCommandHandler(moqPersonRepository.Object); // Act commanHandler.Handle(command); //Assert moqPersonRepository.Verify(mock => mock.Add(It.IsAny <Person>()), Times.Once()); }
public void when_pass_valid_Input_value_expect_person_create_and_register_to_databse() { //Arrange var command = new CreateNewPersonCommand { FirstName = "Alireza", LastName = "Oroumand", Id = Guid.NewGuid() }; var commanHandler = new CreateNewPersonCommandHandler(fixture.PersonCommandRepository); // Act commanHandler.Handle(command); //Assert var person = fixture.DbContext.People.FirstOrDefault(c => c.Id == BusinessId.FromGuid(command.Id)); person.ShouldNotBeNull(); person.FirstName.ShouldBe(command.FirstName); person.LastName.ShouldBe(command.LastName); }
public async Task ApplyAsync(CreateNewPersonCommand command) { await _handler.HandleAsync(command); }
public void Apply(CreateNewPersonCommand command) { _handler.Handle(command); }
public IActionResult Post([FromServices] CreateNewPersonCommandHandler handler, [FromBody] CreateNewPersonCommand command) { handler.Handle(command); return(Ok()); }
public async Task <IHttpActionResult> CreatePerson(CreateNewPersonCommand command) { await _commandService.ApplyAsync(command); return(Ok()); }
public void Handle(CreateNewPersonCommand command) { var person = Person.Create(BusinessId.FromGuid(command.Id), command.FirstName, command.LastName); personCommandRepository.Add(person); }