Esempio n. 1
0
        public async Task <HookResult> Execute(UserUpdateNameEvent domainEvent)
        {
            var withPostNumberQuery = await _queryRepo.Load(domainEvent);

            foreach (var numberQuery in withPostNumberQuery)
            {
                numberQuery.Apply(domainEvent);
                await _queryRepo.Update(numberQuery);
            }

            return(await Task.FromResult(HookResult.OkResult()));
        }
Esempio n. 2
0
        public async Task AddEvents_NoEventIsRegeistered()
        {
            var repository = new Mock <IQueueRepository>();

            var hangfireQueue       = new HangfireQueue(new EventJobRegistration(), repository.Object);
            var userUpdateNameEvent = new UserUpdateNameEvent("Peter", Guid.NewGuid());
            var events = new List <DomainEventBase> {
                userUpdateNameEvent
            };

            await hangfireQueue.AddEvents(events);

            repository.Verify(repo => repo.AddEventForJob(It.IsAny <EventAndJob>()), Times.Never);
        }
Esempio n. 3
0
        public async Task AddEvents_OneEventIsNotRegisteredForJob()
        {
            var repository = new Mock <IQueueRepository>();

            var hangfireQueue       = new HangfireQueue(new EventJobRegistration(), repository.Object);
            var userUpdateAgeEvent  = new UserUpdateAgeEvent(14, Guid.NewGuid());
            var userUpdateNameEvent = new UserUpdateNameEvent("Peter", Guid.NewGuid());
            var events = new List <DomainEventBase> {
                userUpdateAgeEvent, userUpdateNameEvent, userUpdateAgeEvent
            };

            await hangfireQueue.AddEvents(events);

            repository.Verify(repo => repo.AddEventForJob(It.Is <EventAndJob>(job => job.DomainEvent == userUpdateAgeEvent)), Times.Exactly(2));
            repository.Verify(repo => repo.AddEventForJob(It.Is <EventAndJob>(job => job.DomainEvent == userUpdateNameEvent)), Times.Never);
        }
Esempio n. 4
0
 public void Apply(UserUpdateNameEvent domainEvent)
 {
     Name = domainEvent.Name;
 }
Esempio n. 5
0
 public Task <List <UserWithPostNumberQuery> > Load(UserUpdateNameEvent domainEvent)
 {
     return(Task.FromResult(_context.UserWithPostNumberQuerys.Where(query => query.RootEntityId == domainEvent.EntityId).ToList()));
 }