public UnitOfWorkContextTestsFixture SetEvents()
        {
            var fooEvent = new FooEvent {
                Created = Now
            };
            var barEvent = new BarEvent {
                Created = Now
            };

            Events.Add(fooEvent);
            Events.Add(barEvent);

            UnitOfWorkContextInstance.AddEvent(fooEvent);
            UnitOfWorkContextInstance.AddEvent(() => new FooEvent {
                Created = Now
            });
            UnitOfWorkContext.AddEvent(barEvent);
            UnitOfWorkContext.AddEvent(() => new BarEvent {
                Created = Now
            });

            Now = DateTime.UtcNow;

            return(this);
        }
Example #2
0
        public void Map_MapFromBarEventToBarEventDto_CorrectType()
        {
            var barEvent    = new BarEvent();
            var barEventDto = uut.Map <BarEventDto>(barEvent);

            Assert.That(barEventDto, Is.TypeOf <BarEventDto>());
        }
        public void Setup()
        {
            _connection = new SqliteConnection("Datasource=:memory:");
            _connection.Open();
            _options =
                new DbContextOptionsBuilder <BarOMeterContext>().UseSqlite(_connection).Options;
            _context = new BarOMeterContext(_options);
            _uut     = new BarEventRepository(_context);
            _context.Database.EnsureCreated();

            _barEvent = new BarEvent()
            {
                BarName   = "Katrines Kælder",
                Date      = new DateTime(1997, 01, 01),
                EventName = "TestEvent",
                Image     = "www.testbillede.dk",
            };
            _barEvent2 = new BarEvent()
            {
                BarName   = "Katrines Kælder",
                Date      = new DateTime(2019, 01, 01),
                EventName = "TestEvent2",
                Image     = "www.testbillede.dk",
            };
        }
Example #4
0
        public void CanHoldUsingModelRouter()
        {
            IRouter <TestModel> modelRouter = new Router <TestModel>(_model.Id, _router);
            IEventObservable <BaseEvent, IEventContext, TestModel> baseEventStream = modelRouter.GetEventObservable(new HoldBaseEventsBasedOnModelStrategy <FooEvent, BaseEvent>());
            int receivedBaseEvents = 0, reveivedBarEvents = 0;

            baseEventStream.Observe((model, baseEvent, context) =>
            {
                receivedBaseEvents++;
            });
            IEventObservable <BarEvent, IEventContext, TestModel> fooEventStream = modelRouter.GetEventObservable(new HoldEventsBasedOnModelStrategy <BarEvent>());

            fooEventStream.Observe((model, barEvent, context) =>
            {
                reveivedBarEvents++;
            });
            var event1 = new FooEvent("EventPayload1");
            var event2 = new BarEvent("EventPayload2");

            _router.PublishEvent(_model.Id, event1);
            _router.PublishEvent(_model.Id, event2);
            receivedBaseEvents.ShouldBe(0);
            reveivedBarEvents.ShouldBe(0);
            ReleasedEvent(event1.Id, HeldEventAction.Release);
            ReleasedEvent(event2.Id, HeldEventAction.Release);
            receivedBaseEvents.ShouldBe(1);
            reveivedBarEvents.ShouldBe(1);
        }
Example #5
0
        public void TestTypeMismatch()
        {
            BarEvent barEvent = new BarEvent();

            _channel.Pipeline.FireUserEventTriggered(barEvent);
            Assert.Empty(_fooEventCatcher.CaughtEvents);
            Assert.Single(_allEventCatcher.CaughtEvents);
            Assert.True(barEvent.Release());
            Assert.False(_channel.Finish());
        }
        public void BarEventRepository_AddWithoutKeys_ThrowsException()
        {
            var eventToAdd = new BarEvent()
            {
                //BarName = "Katrines Kælder",
                Date = new DateTime(2000, 01, 01),
                //EventName = "EventName",
                Image = "FakeImg"
            };

            Assert.That(() => _uut.Add(eventToAdd), Throws.Exception);
        }
            protected override void RunTest()
            {
                ObserveEventsOnThis();
                var fooEvent = new FooEvent();
                var barEvent = new BarEvent();

                Router.PublishEvent(fooEvent);
                Router.PublishEvent(barEvent);
                _receivedEvents.Count.ShouldBe(2);
                _receivedEvents[0].ShouldBe(fooEvent);
                _receivedEvents[1].ShouldBe(barEvent);
            }
Example #8
0
        public void Setup()
        {
            mockUnitOfWork = Substitute.For <IUnitOfWork>();

            var profile       = new MappingProfile();
            var configuration = new MapperConfiguration(cfg => cfg.AddProfile(profile));

            mapper = new Mapper(configuration);

            uut = new EventController(mockUnitOfWork, mapper);

            defaultList = new List <BarEvent>()
            {
                new BarEvent()
                {
                    BarName   = "TestBar",
                    EventName = "Høst Fest",
                    Image     = "fest.jpg",
                    Date      = DateTime.Now,
                    Bar       = null,
                },
                new BarEvent()
                {
                    BarName   = "TestBar",
                    EventName = "Fadøl til en 10'er",
                    Image     = "fadøl.jpg",
                    Date      = DateTime.Now,
                    Bar       = null,
                }
            };
            defaultEvent = defaultList[0];

            // Direct conversion without navigational property
            correctResultList = new List <BarEventDto>()
            {
                new BarEventDto()
                {
                    BarName   = "TestBar",
                    EventName = "Høst Fest",
                    Image     = "fest.jpg",
                    Date      = DateTime.Now,
                },
                new BarEventDto()
                {
                    BarName   = "TestBar",
                    EventName = "Fadøl til en 10'er",
                    Image     = "fadøl.jpg",
                    Date      = DateTime.Now,
                }
            };
            defaultEventDto = correctResultList[0];
        }
Example #9
0
        public async Task RunAsync()
        {
            var fooEvent = new FooEvent {
                Id = 1
            };

            await PublishAsync(fooEvent);

            var barEvent = new BarEvent {
                Date = new DateTime(2019, 12, 31)
            };

            await PublishAsync(barEvent);
        }
Example #10
0
        public void One_handler_can_handle_multiple_events()
        {
            var handler = new FooBarBazHandler();

            Bus.Register(handler);
            var fooEvent = new FooEvent();
            var barEvent = new BarEvent();
            var bazEvent = new BazEvent();

            Bus.Raise(fooEvent);
            Bus.Raise(barEvent);
            Bus.Raise(bazEvent);
            handler.EventsCaught.ElementsShouldEqual(fooEvent, barEvent, bazEvent);
        }
        public UnitOfWorkContextTestsFixture SetEventsOnSeparateAsyncFlow()
        {
            var fooEvent = new FooEvent {
                Created = Now
            };
            var barEvent = new BarEvent {
                Created = Now
            };

            Events.Add(fooEvent);
            Events.Add(barEvent);

            var tasks = new List <Task>
            {
                Task.Run(() =>
                {
                    IUnitOfWorkContext unitOfWorkContextInstance = new UnitOfWorkContext();

                    UnitOfWorkContextInstance.AddEvent(fooEvent);
                    unitOfWorkContextInstance.AddEvent(() => new FooEvent {
                        Created = Now
                    });
                    UnitOfWorkContext.AddEvent(barEvent);
                    UnitOfWorkContext.AddEvent(() => new BarEvent {
                        Created = Now
                    });
                }),
                Task.Run(() =>
                {
                    IUnitOfWorkContext unitOfWorkContextInstance = new UnitOfWorkContext();

                    UnitOfWorkContextInstance.AddEvent(fooEvent);
                    unitOfWorkContextInstance.AddEvent(() => new FooEvent {
                        Created = Now
                    });
                    UnitOfWorkContext.AddEvent(barEvent);
                    UnitOfWorkContext.AddEvent(() => new BarEvent {
                        Created = Now
                    });
                })
            };

            Task.WhenAll(tasks).GetAwaiter().GetResult();

            Now = DateTime.UtcNow;

            return(this);
        }
Example #12
0
        public void CanHoldDifferingEventTypes()
        {
            SetUpFooEventHoldingStrategy();
            SetUpBarEventHoldingStrategy();
            var event1 = new FooEvent("EventPayload1");
            var event2 = new BarEvent("EventPayload2");

            _router.PublishEvent(_model.Id, event1);
            _router.PublishEvent(_model.Id, event2);
            ReleasedEvent(event1.Id, HeldEventAction.Release);
            ReleasedEvent(event2.Id, HeldEventAction.Release);
            _receivedFooEvents.Count.ShouldBe(1);
            _receivedFooEvents[0].Payload.ShouldBe("EventPayload1");
            _receivedBarEvents.Count.ShouldBe(1);
            _receivedBarEvents[0].Payload.ShouldBe("EventPayload2");
        }
Example #13
0
        public void BarEventRepository_EditExistingBarEventWithoutChanging_BarEventEdited()
        {
            _uut.Add(_barEvent);
            _context.SaveChanges();

            var editedBarEvent = new BarEvent()
            {
                BarName   = "Katrines Kælder",
                Date      = new DateTime(1997, 01, 01),
                EventName = "TestEvent",
                Image     = "www.testbillede.dk",
            };

            _uut.Edit(editedBarEvent);
            _context.SaveChanges();

            Assert.AreEqual(new DateTime(1997, 01, 01),
                            _uut.Get("Katrines Kælder", "TestEvent").Date);
        }
            protected override void RunTest()
            {
                ObserveEventsOnThis();
                var fooEvent  = new FooEvent();
                var barEvent  = new BarEvent();
                var bazEvent  = new BazEvent();
                var buzzEvent = new BuzzEvent();

                Router.PublishEvent(fooEvent);
                AssertLastReceivedEvent(1, ObservationStage.Preview, fooEvent);

                Router.PublishEvent(barEvent);
                AssertLastReceivedEvent(2, ObservationStage.Normal, barEvent);

                Router.PublishEvent(bazEvent);
                AssertLastReceivedEvent(3, ObservationStage.Normal, bazEvent);

                Router.PublishEvent(buzzEvent);
                AssertLastReceivedEvent(4, ObservationStage.Committed, buzzEvent);
            }
Example #15
0
        public void BarEventRepository_ConstraintOnEventName_ThrowsException()
        {
            var barEvent = new BarEvent()
            {
                BarName   = "Katrines Kælder",
                Date      = new DateTime(1997, 01, 01),
                EventName = "Hej",
                Image     = "www.testbillede.dk",
            };
            var barEvent2 = new BarEvent()
            {
                BarName   = "Katrines Kælder",
                Date      = new DateTime(1997, 01, 01),
                EventName = "Hej",
                Image     = "www.testbillede.dk",
            };

            _uut.Add(barEvent);
            Assert.That(() => _uut.Add(barEvent2), Throws.Exception);
        }
Example #16
0
        public void CanHoldByBaseEvent()
        {
            List <BaseEvent> receivedBarEvents = new List <BaseEvent>();
            IEventObservable <BaseEvent, IEventContext, TestModel> fooEventStream = _router.GetEventObservable(_model.Id, new HoldBaseEventsBasedOnModelStrategy <FooEvent, BaseEvent>());
            IEventObservable <BaseEvent, IEventContext, TestModel> barEventStream = _router.GetEventObservable(_model.Id, new HoldBaseEventsBasedOnModelStrategy <BarEvent, BaseEvent>());
            var stream = EventObservable.Merge(fooEventStream, barEventStream);

            stream.Observe((baseEvent, context, model) =>
            {
                receivedBarEvents.Add(baseEvent);
            });
            var event1 = new FooEvent("EventPayload1");
            var event2 = new BarEvent("EventPayload2");

            _router.PublishEvent(_model.Id, event1);
            _router.PublishEvent(_model.Id, event2);
            ReleasedEvent(event1.Id, HeldEventAction.Release);
            ReleasedEvent(event2.Id, HeldEventAction.Release);
            receivedBarEvents.Count.ShouldBe(2);
            receivedBarEvents[0].ShouldBeAssignableTo <FooEvent>();
            receivedBarEvents[1].ShouldBeAssignableTo <BarEvent>();
        }
Example #17
0
            public void Bar()
            {
                var e = new BarEvent();

                ApplyEvent(e);
            }
 public void Bar()
 {
     var e = new BarEvent();
     ApplyEvent(e);
 }
Example #19
0
 public async Task Handle(BarEvent busEvent)
 {
     RecordMessageReceipt();
 }
 private void ObserveBarEvent(BarEvent e)
 {
     ReceivedEvents.Add(e);
 }
Example #21
0
 //POST /api/bars/{barname}/events
 public async Task <bool> CreateEvent(BarEvent newEvent, string id)
 {
     return(true);
 }
 //Stub method that invokes the event
 public void RaiseBarEvent()
 {
     BarEvent.Invoke(this, new EventArgs());
 }
Example #23
0
 //PUT /api/bars/{barname}/events
 public async Task <bool> EditEvent(BarEvent editedEvent, string id)
 {
     return(true);
 }
        public void Setup()
        {
            _bar1 = new Bar()
            {
                Address          = "FakeAddress",
                AgeLimit         = 18,
                AvgRating        = 0,
                BarName          = "FakeBar",
                CVR              = 12345678,
                Educations       = "FakeEdu",
                Email            = "*****@*****.**",
                Image            = "FakeImg",
                PhoneNumber      = 88888888,
                ShortDescription = "Fake Short Desc",
                LongDescription  = "Fake Long Desc",
            };
            _bar2 = new Bar()
            {
                Address          = "FakeAddress2",
                AgeLimit         = 21,
                AvgRating        = 4,
                BarName          = "FakeBar2",
                CVR              = 12345679,
                Educations       = "FakeEdu2",
                Email            = "*****@*****.**",
                Image            = "FakeImg2",
                PhoneNumber      = 88888889,
                ShortDescription = "Fake Short Desc2",
                LongDescription  = "Fake Long Desc2",
            };

            _drink1 = new Drink()
            {
                BarName    = "Katrines Kælder",
                DrinksName = "Fadoel",
                Price      = 20,
            };

            _review1 = new Review()
            {
                BarName     = "FakeBar",
                BarPressure = 5,
                Username    = "******",
            };

            _review2 = new Review()
            {
                BarName     = "FakeBar",
                BarPressure = 3,
                Username    = "******",
            };

            _barEvent = new BarEvent()
            {
                BarName   = "Katrines Kælder",
                Date      = new DateTime(2019, 5, 29),
                EventName = "FakeEvent",
            };

            _barRepresentative = new BarRepresentative()
            {
                BarName  = "Katrines Kælder",
                Name     = "FakeBarRepresentative",
                Username = "******",
            };

            _coupon = new Coupon()
            {
                BarName        = "Katrines Kælder",
                CouponID       = "FakeCouponID",
                ExpirationDate = new DateTime(2019, 12, 12),
            };

            _customer = new Customer()
            {
                DateOfBirth   = new DateTime(1997, 2, 5),
                Email         = "*****@*****.**",
                FavoriteDrink = "Beer",
                FavoriteBar   = "Katrines Kælder",
                Name          = "Andreas Vorgaard",
            };
            _connection = new SqliteConnection("Datasource=:memory:");
            _connection.Open();
            _options =
                new DbContextOptionsBuilder <BarOMeterContext>().UseSqlite(_connection).Options;
            _uut = new UnitOfWork(_options);
        }
Example #25
0
 public void Handle(BarEvent eventToHandle)
 {
     EventsCaught.Add(eventToHandle);
 }