public void AppEnabled() { // ARRANGE var uow = Container.Resolve <IUnitOfWork>(); var cmdDispatcher = Container.Resolve <ICommandHandlerDispatcher>(); var queryDispatcher = Container.Resolve <IQueryHandlerDispatcher>(); var cmd = new CreateAppCommand("EnableAppCommand", "AppEnabled", "AppEnabled", "x", "x", "x", 1); cmdDispatcher.Handle(cmd); var query = new GetAppByIdQuery("EnableAppCommand", cmd.AppId); var dto = queryDispatcher.Handle <GetAppByIdQuery, AppDto>(query); // ACT Thread.Sleep(200); var cmd2 = new DisableAppCommand("EnableAppCommand", cmd.AppId); cmdDispatcher.Handle(cmd2); Thread.Sleep(200); var cmd3 = new EnableAppCommand("EnableAppCommand", cmd.AppId); cmdDispatcher.Handle(cmd3); // ASSERT var query2 = new GetAppByIdQuery("EnableAppCommand", cmd2.AppId); var dto2 = queryDispatcher.Handle <GetAppByIdQuery, AppDto>(query2); Assert.IsTrue(dto.IsEnabled); uow.Commit(); }
void ICommandHandler <EnableAppCommand> .Handle(EnableAppCommand command) { var domain = _repoApplication.Get(command.AppId); domain.Enable(); _repoApplication.Save(domain); }