public void ConcertRepository_TryFindBy_True() { Mock <IStoreEvents> storeEvents = new Mock <IStoreEvents>(); Mock <IEventStream> eventStream = new Mock <IEventStream>(); ConcertCreatedDomainEvent concertCreated = new ConcertCreatedDomainEvent(3, "SPENS", DateTime.Now, "Koncert godine", Guid.NewGuid()); eventStream.Setup(x => x.CommittedEvents).Returns(new List <EventMessage>() { new EventMessage() { Body = concertCreated } }); Mock <IConcertFactory> concertFactory = new Mock <IConcertFactory>(); concertFactory.Setup(x => x.Create()).Returns(new Concert()); storeEvents.Setup(x => x.OpenStream(It.IsAny <string>(), It.IsAny <string>(), 0, int.MaxValue)).Returns(eventStream.Object); ConcertRepository repository = new ConcertRepository(storeEvents.Object, concertFactory.Object); Concert concert; bool result = repository.TryFindBy(Guid.NewGuid(), out concert); Assert.True(result); }
public void Publish(DomainEvent @event, IPublishEndpoint publisher) { ConcertCreatedDomainEvent createdDomainEvent = (ConcertCreatedDomainEvent)@event; ConcertCreatedEvent concertCreatedEvent = new ConcertCreatedEvent(createdDomainEvent.NumberOfTickets, createdDomainEvent.Place, createdDomainEvent.Date, createdDomainEvent.Title, createdDomainEvent.ConcertId); publisher.Publish(concertCreatedEvent); }
private void When(ConcertCreatedDomainEvent concertCreatedEvent) { MaximumNumberOfTickets = new Tickets(concertCreatedEvent.NumberOfTickets); BoughtTickets = new Tickets(0); Place = concertCreatedEvent.Place; Title = concertCreatedEvent.Title; Date = concertCreatedEvent.Date; Id = concertCreatedEvent.ConcertId; }
public void Concert_Applying_ConcertCreatedDomainEvent() { ConcertCreatedDomainEvent concertCreated = new ConcertCreatedDomainEvent(3, "SPENS", DateTime.Now, "Koncert godine", Guid.NewGuid()); Concert concert = new Concert(); concert.Apply(concertCreated); Assert.True(concert.BoughtTickets.Quantity == 0); Assert.True(concert.Date == concertCreated.Date); Assert.True(concert.Id == concertCreated.ConcertId); Assert.True(concert.MaximumNumberOfTickets.Quantity == concertCreated.NumberOfTickets); }