コード例 #1
0
        public IEnumerable <ScheduledSession> GetScheduledSessions(MongoProposal proposal)
        {
            var filteredSessions = sessionsCollection.GetSessions().Where(s => s.ProposalId == proposal.id);

            return(filteredSessions.Select(s => new ScheduledSession
            {
                SessionId = s.id,
                StandardTime = s.StandardTime,
                Room = s.Room
            }));
        }
コード例 #2
0
        public void PostProposal(Proposal proposal)
        {
            var mongoProposal = new MongoProposal
            {
                SpeakerName = proposal.SpeakerName,
                Bio         = proposal.Bio,
                Title       = proposal.Title,
                Description = proposal.Description,
                Email       = proposal.Email
            };

            proposalsCollection.PostProposal(mongoProposal);
        }
コード例 #3
0
        public void DeleteSessionsForDeletedTimeSlot()
        {
            var schedule = new Schedule
            {
                Rooms = new List <string> {
                    "Room A"
                },
                TimeSlots = new List <TimeSlot>
                {
                    new TimeSlot
                    {
                        StandardTime = "9:00-10:00 A.M"
                    }
                }
            };

            var sessions = new List <MongoSession>
            {
                new MongoSession
                {
                    id           = "1",
                    ProposalId   = "3",
                    Room         = "Room A",
                    StandardTime = "8:00-9:00 A.M",
                    Break        = false
                },
                new MongoSession
                {
                    id           = "2",
                    Room         = "Room A",
                    StandardTime = "9:00-10:00 A.M",
                    Break        = false
                }
            };

            mockSessionsCollection.Setup(x => x.GetSessions()).Returns(() => sessions);

            var updatedProposal = new MongoProposal
            {
                id = "3"
            };

            scheduleDomain.UpdateSessions(schedule);
            mockSessionsCollection.Verify(x => x.DeleteSession("1"));
        }
コード例 #4
0
        public void GetProposalsWithScheduledSessions()
        {
            var proposalOne = new MongoProposal
            {
                id          = "proposal-1",
                SpeakerName = "speaker-1",
                Bio         = "bio-1",
                Title       = "title-1",
                Description = "description-1",
                Email       = "email-1"
            };
            var sessionOne = new MongoSession
            {
                id           = "session-1",
                ProposalId   = "proposal-1",
                StandardTime = "10:00-11:00 A.M",
                Room         = "Room A"
            };
            var sessionTwo = new MongoSession
            {
                id           = "session-2",
                ProposalId   = "proposal-1",
                StandardTime = "9:00-10:00 A.M",
                Room         = "Room B"
            };
            var proposalTwo = new MongoProposal
            {
                id          = "proposal-2",
                SpeakerName = "speaker-2",
                Bio         = "bio-2",
                Title       = "title-2",
                Description = "description-2",
                Email       = "email-2"
            };
            var sessionThree = new MongoSession
            {
                id           = "session-3",
                ProposalId   = "proposal-2",
                StandardTime = "9:00-10:00 A.M",
                Room         = "Room B"
            };
            var expectedSessionsOne = new List <ScheduledSession>
            {
                new ScheduledSession
                {
                    SessionId    = sessionOne.id,
                    StandardTime = sessionOne.StandardTime,
                    Room         = sessionOne.Room
                },
                new ScheduledSession
                {
                    SessionId    = sessionTwo.id,
                    StandardTime = sessionTwo.StandardTime,
                    Room         = sessionTwo.Room
                }
            };
            var expectedSessionsTwo = new List <ScheduledSession>
            {
                new ScheduledSession
                {
                    SessionId    = sessionThree.id,
                    StandardTime = sessionThree.StandardTime,
                    Room         = sessionThree.Room
                }
            };
            var proposals = new List <MongoProposal> {
                proposalOne, proposalTwo
            };
            var sessions = new List <MongoSession> {
                sessionThree, sessionOne, sessionTwo
            };

            mockProposalsCollection.Setup(x => x.GetProposals()).Returns(() => proposals);
            mockSessionsCollection.Setup(x => x.GetSessions()).Returns(() => sessions);
            var result = proposalDomain.GetProposals();

            Assert.AreEqual(expectedSessionsOne, result.First().ScheduledSessions);
            Assert.AreEqual(expectedSessionsTwo, result.Last().ScheduledSessions);
        }