Esempio n. 1
0
            protected override IQueryable <EventVM> Handle(GetMyEventsQuery request)
            {
                if (!currentUser.IsInRole(AccessRole.Coordinator))
                {
                    throw new Exception("Events can only be created by organizer");
                }

                return(dbContext.Events
                       .Include(a => a.EventPackage)
                       .Include(a => a.Coordinator)
                       .Include(a => a.Client)
                       .Where(a => a.CoordinatorID == currentUser.ID)
                       .Select(a => new EventVM
                {
                    ID = a.ID,
                    EventName = a.EventName,
                    Location = a.Location,
                    BookingDate = a.BookingDate,
                    EventDate = a.EventDate,
                    Description = a.Description,
                    Type = a.Type,
                    Package = a.EventPackage,
                    Coordinator = a.Coordinator,
                    Client = a.Client,
                    EventStatus = a.EventStatus,
                    Remarks = a.Remarks,
                    AdminRemarks = a.AdminRemarks
                }));
            }
        public void ReturnsExpectedEvents()
        {
            var eventSignups = new[]
            {
                new EventSignup
                {
                    Event = new Models.Event
                    {
                        Campaign = new Campaign
                        {
                            ManagingOrganization = new Organization
                            {
                                Id   = 1,
                                Name = "Some Organization"
                            },
                            Locked = true
                        }
                    }
                },
                new EventSignup
                {
                    Event = new Models.Event
                    {
                        Name     = "Expected Event",
                        Campaign = new Campaign
                        {
                            ManagingOrganization = new Organization
                            {
                                Id   = 1,
                                Name = "Some Organization"
                            },
                            Locked = false
                        }
                    }
                }
            };

            var mockDbAccess = new Mock <IAllReadyDataAccess>();

            var command = new GetMyEventsQuery {
                UserId = "B62AF756-809D-40B7-AA88-237E52889C45"
            };

            mockDbAccess.Setup(db => db.GetEventSignups(command.UserId)).Returns(eventSignups);

            var sut      = new GetMyEventsQueryHandler(mockDbAccess.Object);
            var response = sut.Handle(command);

            response.ShouldSatisfyAllConditions(
                () => response.Items.Count.ShouldBe(1),
                () => response.Items.First().Title.ShouldBe("Expected Event")
                );
        }
        public async Task ReturnExpectedEvents()
        {
            var userId  = "UserId1";
            var message = new GetMyEventsQuery {
                UserId = userId
            };
            var sut      = new GetMyEventsQueryHandler(Context);
            var response = await sut.Handle(message);

            Assert.True(response.CurrentEvents.First().EventId == 1 &&
                        response.FutureEvents.First().EventId == 3);
        }
        public void ReturnsExpectedEvents()
        {
            var eventSignups = new[]
            {
                new EventSignup
                {
                    Event = new Models.Event
                    {
                        Campaign = new Campaign
                        {
                            ManagingOrganization = new Organization
                            {
                                Id = 1,
                                Name = "Some Organization"
                            },
                            Locked = true
                        }
                    }
                },
                new EventSignup
                {
                    Event = new Models.Event
                    {
                        Name = "Expected Event",
                        Campaign = new Campaign
                        {
                            ManagingOrganization = new Organization
                            {
                                Id = 1,
                                Name = "Some Organization"
                            },
                            Locked = false
                        }
                    }
                }
            };

            var mockDbAccess = new Mock<IAllReadyDataAccess>();

            var command = new GetMyEventsQuery {UserId = "B62AF756-809D-40B7-AA88-237E52889C45"};
            mockDbAccess.Setup(db => db.GetEventSignups(command.UserId)).Returns(eventSignups);

            var sut = new GetMyEventsQueryHandler(mockDbAccess.Object);
            var response = sut.Handle(command);

            response.ShouldSatisfyAllConditions(
                () => response.Items.Count.ShouldBe(1),
                () => response.Items.First().Title.ShouldBe("Expected Event")
            );
        }