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);
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
 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);
        }