Example #1
0
        public void GetEventDefinitionById_GetNull_NotFail_Test()
        {
            bool called = false;
            int  expectedEventDefinitionId = 10;

            IEventDefinitionRepository eventDefinitionService = new StubIEventDefinitionRepository()
            {
                GetByIdWithUserInfoInt32Int32 = (userId, eventDefinitionId) =>
                {
                    Assert.AreEqual(expectedEventDefinitionId, eventDefinitionId);
                    called = true;
                    return(null);
                }
            };

            using (ShimsContext.Create())
            {
                MyEvents.Api.Authentication.Fakes.ShimMyEventsToken myeventToken = new Authentication.Fakes.ShimMyEventsToken();
                myeventToken.RegisteredUserIdGet     = () => { return(0); };
                ShimMyEventsToken.GetTokenFromHeader = () => { return(myeventToken); };

                var target = new EventDefinitionsController(eventDefinitionService);

                EventDefinition actual = target.GetEventDefinitionById(expectedEventDefinitionId);

                Assert.IsTrue(called);
                Assert.IsNull(actual);
            }
        }
        public void DeleteRoomPoints_Unauthorized_Test()
        {
            int expectedEventDefinitionId = 1;
            int expectedRoomNumber        = 20;

            IEventDefinitionRepository eventDefinitionService = new StubIEventDefinitionRepository()
            {
                GetByIdInt32 = (id) =>
                {
                    Assert.IsTrue(id == expectedEventDefinitionId);
                    return(new EventDefinition()
                    {
                        OrganizerId = 1
                    });
                }
            };

            using (ShimsContext.Create())
            {
                MyEvents.Api.Authentication.Fakes.ShimMyEventsToken myeventToken = new Authentication.Fakes.ShimMyEventsToken();
                myeventToken.RegisteredUserIdGet     = () => { return(10000); };
                ShimMyEventsToken.GetTokenFromHeader = () => { return(myeventToken); };

                var target = new RoomPointsController(eventDefinitionService);

                target.DeleteRoomPoints(expectedEventDefinitionId, expectedRoomNumber);
            }
        }
Example #3
0
        public void PostEventDefinition_UnauthorizedException_Test()
        {
            var expected = new EventDefinition()
            {
                Name = "EventName", EventDefinitionId = 1, OrganizerId = 1
            };
            bool called = false;

            IEventDefinitionRepository eventDefinitionService = new StubIEventDefinitionRepository();

            using (ShimsContext.Create())
            {
                MyEvents.Api.Authentication.Fakes.ShimMyEventsToken myeventToken = new Authentication.Fakes.ShimMyEventsToken();
                myeventToken.RegisteredUserIdGet     = () => { return(10); }; // It´s not authorized!
                ShimMyEventsToken.GetTokenFromHeader = () => { return(myeventToken); };


                var target = new EventDefinitionsController(eventDefinitionService);

                int actualId = target.Post(expected);

                Assert.IsTrue(called);
                Assert.AreEqual(expected.EventDefinitionId, actualId);
            }
        }
        public void AddRegisteredUserToEvent_Call_NotFail_Test()
        {
            bool called = false;
            int expectedRegisteredUserId = 10;
            int expectedEventId = 20;

            IRegisteredUserRepository registeredUserService = new StubIRegisteredUserRepository()
            {
                AddRegisteredUserToEventInt32Int32 = (registeredUserId, eventId) =>
                {
                    Assert.AreEqual(expectedRegisteredUserId, registeredUserId);
                    Assert.AreEqual(expectedEventId, eventId);
                    called = true;
                }
            };

            using (ShimsContext.Create())
            {
                MyEvents.Api.Authentication.Fakes.ShimMyEventsToken myeventToken = new Authentication.Fakes.ShimMyEventsToken();
                myeventToken.RegisteredUserIdGet = () => { return expectedRegisteredUserId; };
                ShimMyEventsToken.GetTokenFromHeader = () => { return myeventToken; };

                var target = new RegisteredUsersController(registeredUserService);

                target.PostRegisteredUserToEvent(expectedRegisteredUserId, expectedEventId);

                Assert.IsTrue(called);
            }
        }
        public void DeleteMaterial_UnauthorizedException_Test()
        {
            var expectedmaterial = new Material() { MaterialId = 1, SessionId = 1 };
            int organizerId = 10;

            ISessionRepository sessionRepository = new StubISessionRepository()
            {
                GetOrganizerIdInt32 = (sessionId) =>
                {
                    return organizerId;
                }
            };

            IMaterialRepository materialRepository = new StubIMaterialRepository()
            {
                GetInt32 = materialId =>
                {
                    return expectedmaterial;
                }
            };

            using (ShimsContext.Create())
            {
                MyEvents.Api.Authentication.Fakes.ShimMyEventsToken myeventToken = new Authentication.Fakes.ShimMyEventsToken();
                myeventToken.RegisteredUserIdGet = () => { return 100000; };
                ShimMyEventsToken.GetTokenFromHeader = () => { return myeventToken; };
                var target = new MaterialsController(materialRepository, sessionRepository);

                target.Delete(expectedmaterial.MaterialId);
            }
        }
Example #6
0
        public void DeleteEventDefinition_NotFail_Test()
        {
            var expected = new EventDefinition()
            {
                Name = "EventName", EventDefinitionId = 1, OrganizerId = 1
            };
            bool called = false;

            IEventDefinitionRepository eventDefinitionService = new StubIEventDefinitionRepository()
            {
                DeleteInt32 = (eventDefinitionId) =>
                {
                    Assert.AreEqual(expected.EventDefinitionId, eventDefinitionId);
                    called = true;
                },
                GetByIdInt32 = (id) =>
                {
                    Assert.IsTrue(id == 1);
                    return(expected);
                }
            };

            using (ShimsContext.Create())
            {
                MyEvents.Api.Authentication.Fakes.ShimMyEventsToken myeventToken = new Authentication.Fakes.ShimMyEventsToken();
                myeventToken.RegisteredUserIdGet     = () => { return(expected.OrganizerId); };
                ShimMyEventsToken.GetTokenFromHeader = () => { return(myeventToken); };

                var target = new EventDefinitionsController(eventDefinitionService);

                target.Delete(expected.EventDefinitionId);

                Assert.IsTrue(called);
            }
        }
Example #7
0
        public void GetAllEventDefinitions_NotGetResult_NotFail_Test()
        {
            var  expected          = new List <EventDefinition>();
            bool called            = false;
            int  expectedPageSize  = 10;
            int  expectedPageIndex = 1;

            IEventDefinitionRepository eventDefinitionService = new StubIEventDefinitionRepository()
            {
                GetAllWithUserInfoInt32Int32Int32 = (userId, pageSize, pageIndex) =>
                {
                    Assert.AreEqual(expectedPageSize, pageSize);
                    Assert.AreEqual(expectedPageIndex, pageIndex);
                    called = true;
                    return(expected);
                }
            };

            using (ShimsContext.Create())
            {
                MyEvents.Api.Authentication.Fakes.ShimMyEventsToken myeventToken = new Authentication.Fakes.ShimMyEventsToken();
                myeventToken.RegisteredUserIdGet     = () => { return(0); };
                ShimMyEventsToken.GetTokenFromHeader = () => { return(myeventToken); };

                var target = new EventDefinitionsController(eventDefinitionService);

                IEnumerable <EventDefinition> actual = target.GetAllEventDefinitions(expectedPageSize, expectedPageIndex);

                Assert.IsTrue(called);
                Assert.AreEqual(expected.Count, actual.Count());
            }
        }
        public void DeleteEventDefinition_NotFail_Test()
        {
            var expected = new EventDefinition() { Name = "EventName", EventDefinitionId = 1, OrganizerId = 1 };
            bool called = false;

            IEventDefinitionRepository eventDefinitionService = new StubIEventDefinitionRepository()
            {
                DeleteInt32 = (eventDefinitionId) =>
                {
                    Assert.AreEqual(expected.EventDefinitionId, eventDefinitionId);
                    called = true;
                },
                GetByIdInt32 = (id) =>
                {
                    Assert.IsTrue(id == 1);
                    return expected;
                }
            };

            using (ShimsContext.Create())
            {
                MyEvents.Api.Authentication.Fakes.ShimMyEventsToken myeventToken = new Authentication.Fakes.ShimMyEventsToken();
                myeventToken.RegisteredUserIdGet = () => { return expected.OrganizerId; };
                ShimMyEventsToken.GetTokenFromHeader = () => { return myeventToken; };

                var target = new EventDefinitionsController(eventDefinitionService);

                target.Delete(expected.EventDefinitionId);

                Assert.IsTrue(called);
            }
        }
Example #9
0
        public void DeleteMaterial_Deleted_NotFail_Test()
        {
            bool called           = false;
            var  expectedmaterial = new Material()
            {
                MaterialId = 1, SessionId = 1
            };
            int organizerId = 10;

            ISessionRepository  sessionRepository  = new StubISessionRepository();
            IMaterialRepository materialRepository = new StubIMaterialRepository()
            {
                DeleteInt32 = materialId =>
                {
                    Assert.AreEqual(expectedmaterial.MaterialId, materialId);
                    called = true;
                },
                GetOrganizerIdInt32 = materialId =>
                {
                    return(organizerId);
                }
            };

            using (ShimsContext.Create())
            {
                MyEvents.Api.Authentication.Fakes.ShimMyEventsToken myeventToken = new Authentication.Fakes.ShimMyEventsToken();
                myeventToken.RegisteredUserIdGet     = () => { return(organizerId); };
                ShimMyEventsToken.GetTokenFromHeader = () => { return(myeventToken); };
                var target = new MaterialsController(materialRepository, sessionRepository);

                target.Delete(expectedmaterial.MaterialId);

                Assert.IsTrue(called);
            }
        }
        public void DeleteComment_Deleted_NotFail_Test()
        {
            bool called = false;
            var expectedcomment = new Comment() { CommentId = 1, SessionId = 10 };
            int organizerId = 10;

            ISessionRepository sessionRepository = new StubISessionRepository();
            ICommentRepository commentRepository = new StubICommentRepository()
            {
                DeleteInt32 = commentId =>
                {
                    Assert.AreEqual(expectedcomment.CommentId, commentId);
                    called = true;
                },
                GetOrganizerIdInt32 = commentId =>
                {
                    return organizerId;
                }
            };

            using (ShimsContext.Create())
            {
                MyEvents.Api.Authentication.Fakes.ShimMyEventsToken myeventToken = new Authentication.Fakes.ShimMyEventsToken();
                myeventToken.RegisteredUserIdGet = () => { return organizerId; };
                ShimMyEventsToken.GetTokenFromHeader = () => { return myeventToken; };

                var target = new CommentsController(commentRepository, sessionRepository);

                target.Delete(expectedcomment.CommentId);

                Assert.IsTrue(called);
            }
        }
Example #11
0
        public void DeleteMaterial_UnauthorizedException_Test()
        {
            var expectedmaterial = new Material()
            {
                MaterialId = 1, SessionId = 1
            };
            int organizerId = 10;

            ISessionRepository sessionRepository = new StubISessionRepository()
            {
                GetOrganizerIdInt32 = (sessionId) =>
                {
                    return(organizerId);
                }
            };

            IMaterialRepository materialRepository = new StubIMaterialRepository()
            {
                GetInt32 = materialId =>
                {
                    return(expectedmaterial);
                }
            };

            using (ShimsContext.Create())
            {
                MyEvents.Api.Authentication.Fakes.ShimMyEventsToken myeventToken = new Authentication.Fakes.ShimMyEventsToken();
                myeventToken.RegisteredUserIdGet     = () => { return(100000); };
                ShimMyEventsToken.GetTokenFromHeader = () => { return(myeventToken); };
                var target = new MaterialsController(materialRepository, sessionRepository);

                target.Delete(expectedmaterial.MaterialId);
            }
        }
        public void DeleteRoomPoints_Unauthorized_Test()
        {
            int expectedEventDefinitionId = 1;
            int expectedRoomNumber = 20;

            IEventDefinitionRepository eventDefinitionService = new StubIEventDefinitionRepository()
            {
                GetByIdInt32 = (id) =>
                {
                    Assert.IsTrue(id == expectedEventDefinitionId);
                    return new EventDefinition() { OrganizerId = 1 };
                }
            };

            using (ShimsContext.Create())
            {
                MyEvents.Api.Authentication.Fakes.ShimMyEventsToken myeventToken = new Authentication.Fakes.ShimMyEventsToken();
                myeventToken.RegisteredUserIdGet = () => { return 10000; };
                ShimMyEventsToken.GetTokenFromHeader = () => { return myeventToken; };

                var target = new RoomPointsController(eventDefinitionService);

                target.DeleteRoomPoints(expectedEventDefinitionId, expectedRoomNumber);
            }
        }
        public void DeleteComment_UnauthorizedException_Test()
        {
            var expectedcomment = new Comment()
            {
                CommentId = 1, SessionId = 10
            };
            int organizerId = 10;

            ISessionRepository sessionRepository = new StubISessionRepository()
            {
                GetOrganizerIdInt32 = (sessionId) =>
                {
                    return(organizerId);
                }
            };

            ICommentRepository commentRepository = new StubICommentRepository()
            {
                GetInt32 = commentId =>
                {
                    return(expectedcomment);
                }
            };

            using (ShimsContext.Create())
            {
                MyEvents.Api.Authentication.Fakes.ShimMyEventsToken myeventToken = new Authentication.Fakes.ShimMyEventsToken();
                myeventToken.RegisteredUserIdGet     = () => { return(1000); };
                ShimMyEventsToken.GetTokenFromHeader = () => { return(myeventToken); };

                var target = new CommentsController(commentRepository, sessionRepository);

                target.Delete(expectedcomment.CommentId);
            }
        }
        public void DeleteRoomPoints_NotFail_Test()
        {
            bool called = false;
            int expectedEventDefinitionId = 1;
            int expectedRoomNumber = 20;

            IEventDefinitionRepository eventDefinitionService = new StubIEventDefinitionRepository()
            {
                DeleteRoomPointsInt32Int32 = (eventDefinitionId, roomNumber) =>
                {
                    Assert.AreEqual(expectedEventDefinitionId, eventDefinitionId);
                    Assert.AreEqual(expectedRoomNumber, roomNumber);
                    called = true;
                },
                GetByIdInt32 = (id) =>
                {
                    Assert.IsTrue(id == expectedEventDefinitionId);
                    return new EventDefinition() { OrganizerId = 1 };
                }
            };

            using (ShimsContext.Create())
            {
                MyEvents.Api.Authentication.Fakes.ShimMyEventsToken myeventToken = new Authentication.Fakes.ShimMyEventsToken();
                myeventToken.RegisteredUserIdGet = () => { return 1; };
                ShimMyEventsToken.GetTokenFromHeader = () => { return myeventToken; };

                var target = new RoomPointsController(eventDefinitionService);

                target.DeleteRoomPoints(expectedEventDefinitionId, expectedRoomNumber);

                Assert.IsTrue(called);
            }
        }
        public void PutSession_UnauthorizedException_Test()
        {
            var expectedSession = new Session()
            {
                SessionId = 1
            };
            var eventDefinition = new EventDefinition()
            {
                OrganizerId = 1
            };

            IEventDefinitionRepository eventRepository = new StubIEventDefinitionRepository()
            {
                GetByIdInt32 = (id) =>
                {
                    Assert.AreEqual(expectedSession.EventDefinitionId, id);
                    return(eventDefinition);
                }
            };
            ISessionRepository sessionRepository = new StubISessionRepository();

            using (ShimsContext.Create())
            {
                MyEvents.Api.Authentication.Fakes.ShimMyEventsToken myeventToken = new Authentication.Fakes.ShimMyEventsToken();
                myeventToken.RegisteredUserIdGet     = () => { return(1000); };
                ShimMyEventsToken.GetTokenFromHeader = () => { return(myeventToken); };

                var target = new SessionsController(sessionRepository, eventRepository);

                target.Put(expectedSession);
            }
        }
        public void DeleteRegisteredUserFromEvent_Call_NotFail_Test()
        {
            bool called = false;
            int  expectedRegisteredUserId = 10;
            int  expectedEventId          = 20;

            IRegisteredUserRepository registeredUserService = new StubIRegisteredUserRepository()
            {
                DeleteRegisteredUserFromEventInt32Int32 = (registeredUserId, eventId) =>
                {
                    Assert.AreEqual(expectedRegisteredUserId, registeredUserId);
                    Assert.AreEqual(expectedEventId, eventId);
                    called = true;
                }
            };

            using (ShimsContext.Create())
            {
                MyEvents.Api.Authentication.Fakes.ShimMyEventsToken myeventToken = new Authentication.Fakes.ShimMyEventsToken();
                myeventToken.RegisteredUserIdGet     = () => { return(expectedRegisteredUserId); };
                ShimMyEventsToken.GetTokenFromHeader = () => { return(myeventToken); };

                var target = new RegisteredUsersController(registeredUserService);

                target.DeleteRegisteredUserFromEvent(expectedRegisteredUserId, expectedEventId);

                Assert.IsTrue(called);
            }
        }
Example #17
0
        public void DeleteEventDefinition_UnauthorizedException_Test()
        {
            var expected = new EventDefinition()
            {
                Name = "EventName", EventDefinitionId = 1, OrganizerId = 1
            };
            IEventDefinitionRepository eventDefinitionService = new StubIEventDefinitionRepository()
            {
                GetByIdInt32 = (id) =>
                {
                    Assert.IsTrue(id == 1);
                    return(expected);
                }
            };

            using (ShimsContext.Create())
            {
                MyEvents.Api.Authentication.Fakes.ShimMyEventsToken myeventToken = new Authentication.Fakes.ShimMyEventsToken();
                myeventToken.RegisteredUserIdGet     = () => { return(10); };
                ShimMyEventsToken.GetTokenFromHeader = () => { return(myeventToken); };

                var target = new EventDefinitionsController(eventDefinitionService);

                target.Delete(expected.EventDefinitionId);
            }
        }
        public void GetAllSessions_GetResults_NotFail_Test()
        {
            int  expectedEventDefinitionId = 10;
            bool called   = false;
            var  expected = new List <Session>()
            {
                new Session()
            };

            IEventDefinitionRepository eventRepository   = new StubIEventDefinitionRepository();
            ISessionRepository         sessionRepository = new StubISessionRepository()
            {
                GetAllWithUserInfoInt32Int32 = (userId, eventId) =>
                {
                    Assert.AreEqual(expectedEventDefinitionId, eventId);
                    called = true;
                    return(expected);
                }
            };

            using (ShimsContext.Create())
            {
                MyEvents.Api.Authentication.Fakes.ShimMyEventsToken myeventToken = new Authentication.Fakes.ShimMyEventsToken();
                myeventToken.RegisteredUserIdGet     = () => { return(0); };
                ShimMyEventsToken.GetTokenFromHeader = () => { return(myeventToken); };

                var target = new SessionsController(sessionRepository, eventRepository);

                IEnumerable <Session> actual = target.GetAll(expectedEventDefinitionId);

                Assert.IsTrue(called);
                Assert.AreEqual(expected.Count, actual.Count());
            }
        }
        public void PostRegisteredUserScore_Call_NotFail_Test()
        {
            bool called = false;
            int  expectedRegisteredUserId = 10;
            int  expectedSessionId        = 20;
            int  expectedScore            = 3;

            IRegisteredUserRepository registeredUserService = new StubIRegisteredUserRepository()
            {
                AddRegisteredUserScoreInt32Int32Double = (registeredUserId, sessionId, score) =>
                {
                    Assert.AreEqual(expectedRegisteredUserId, registeredUserId);
                    Assert.AreEqual(expectedSessionId, sessionId);
                    Assert.AreEqual(expectedScore, score);
                    called = true;
                }
            };

            using (ShimsContext.Create())
            {
                MyEvents.Api.Authentication.Fakes.ShimMyEventsToken myeventToken = new Authentication.Fakes.ShimMyEventsToken();
                myeventToken.RegisteredUserIdGet     = () => { return(expectedRegisteredUserId); };
                ShimMyEventsToken.GetTokenFromHeader = () => { return(myeventToken); };
                var target = new RegisteredUsersController(registeredUserService);

                target.PostRegisteredUserScore(expectedRegisteredUserId, expectedSessionId, expectedScore);

                Assert.IsTrue(called);
            }
        }
        public void PutSessionPeriod_NotFail_Test()
        {
            int      expectedSessionId = 5;
            int      duration          = 10;
            DateTime startTime         = DateTime.Now;
            bool     getCalled         = false;
            bool     updateCalled      = false;
            var      expectedSession   = new Session()
            {
                SessionId = expectedSessionId, EventDefinitionId = 1
            };
            var eventDefinition = new EventDefinition()
            {
                OrganizerId = 1
            };

            IEventDefinitionRepository eventRepository = new StubIEventDefinitionRepository()
            {
                GetByIdInt32 = (id) =>
                {
                    Assert.AreEqual(expectedSession.EventDefinitionId, id);
                    return(eventDefinition);
                }
            };

            ISessionRepository sessionRepository = new StubISessionRepository()

            {
                GetInt32 = (sessionId) =>
                {
                    Assert.AreEqual(expectedSessionId, sessionId);
                    getCalled = true;
                    return(expectedSession);
                },
                UpdateSession = session =>
                {
                    Assert.AreEqual(expectedSessionId, session.SessionId);
                    Assert.AreEqual(duration, session.Duration);
                    updateCalled = true;
                }
            };

            using (ShimsContext.Create())
            {
                MyEvents.Api.Authentication.Fakes.ShimMyEventsToken myeventToken = new Authentication.Fakes.ShimMyEventsToken();
                myeventToken.RegisteredUserIdGet     = () => { return(eventDefinition.OrganizerId); };
                ShimMyEventsToken.GetTokenFromHeader = () => { return(myeventToken); };

                var target = new SessionsController(sessionRepository, eventRepository);

                target.PutSessionPeriod(expectedSessionId, startTime.ToString(), duration);

                Assert.IsTrue(getCalled);
                Assert.IsTrue(updateCalled);
            }
        }
        public void PutRoomImage_NotFail_Test()
        {
            bool called   = false;
            var  expected = new List <RoomPoint>()
            {
                new RoomPoint()
                {
                    EventDefinitionId = 10
                }
                , new RoomPoint()
                {
                    EventDefinitionId = 10
                }
                , new RoomPoint()
                {
                    EventDefinitionId = 10
                }
            };
            EventDefinition expectedEvent = new EventDefinition()
            {
                EventDefinitionId = 10, OrganizerId = 10
            };

            IEventDefinitionRepository eventDefinitionService = new StubIEventDefinitionRepository()
            {
                UpdateRoomImageEventDefinition = (eventDefinition) =>
                {
                    Assert.AreEqual(expectedEvent.EventDefinitionId, eventDefinition.EventDefinitionId);
                    Assert.IsNull(expectedEvent.MapImage);
                    called = true;
                },
                GetByIdInt32 = (id) =>
                {
                    Assert.IsTrue(id == expectedEvent.EventDefinitionId);
                    return(expectedEvent);
                }
            };

            using (ShimsContext.Create())
            {
                MyEvents.Api.Authentication.Fakes.ShimMyEventsToken myeventToken = new Authentication.Fakes.ShimMyEventsToken();
                myeventToken.RegisteredUserIdGet     = () => { return(expectedEvent.OrganizerId); };
                ShimMyEventsToken.GetTokenFromHeader = () => { return(myeventToken); };

                var target = new RoomPointsController(eventDefinitionService);

                target.PutRoomImage(expectedEvent);

                Assert.IsTrue(called);
            }
        }
        public void PostRoomPoints_NotFail_Test()
        {
            bool called   = false;
            var  expected =
                new List <RoomPoint>()
            {
                new RoomPoint()
                {
                    EventDefinitionId = 1
                },
                new RoomPoint()
                {
                    EventDefinitionId = 1
                },
                new RoomPoint()
                {
                    EventDefinitionId = 1
                }
            };

            IEventDefinitionRepository eventDefinitionService = new StubIEventDefinitionRepository()
            {
                AddRoomPointsIEnumerableOfRoomPoint = (roomPoints) =>
                {
                    Assert.AreEqual(expected.Count(), roomPoints.Count());
                    called = true;
                },
                GetByIdInt32 = (id) =>
                {
                    Assert.IsTrue(id == 1);
                    return(new EventDefinition()
                    {
                        OrganizerId = 1
                    });
                }
            };

            using (ShimsContext.Create())
            {
                MyEvents.Api.Authentication.Fakes.ShimMyEventsToken myeventToken = new Authentication.Fakes.ShimMyEventsToken();
                myeventToken.RegisteredUserIdGet     = () => { return(1); };
                ShimMyEventsToken.GetTokenFromHeader = () => { return(myeventToken); };

                var target = new RoomPointsController(eventDefinitionService);

                target.PostRoomPoints(expected);

                Assert.IsTrue(called);
            }
        }
        public void DeleteSession_NotFail_Test()
        {
            bool called          = false;
            var  expectedSession = new Session()
            {
                SessionId = 1, EventDefinitionId = 1
            };

            var eventDefinition = new EventDefinition()
            {
                OrganizerId = 1
            };
            IEventDefinitionRepository eventRepository = new StubIEventDefinitionRepository()
            {
                GetByIdInt32 = (id) =>
                {
                    Assert.AreEqual(expectedSession.EventDefinitionId, id);
                    return(eventDefinition);
                }
            };

            ISessionRepository sessionRepository = new StubISessionRepository()
            {
                DeleteInt32 = sessionId =>
                {
                    Assert.AreEqual(expectedSession.SessionId, sessionId);
                    called = true;
                },
                GetInt32 = (sessionId) =>
                {
                    Assert.AreEqual(expectedSession.SessionId, sessionId);
                    return(expectedSession);
                }
            };

            using (ShimsContext.Create())
            {
                MyEvents.Api.Authentication.Fakes.ShimMyEventsToken myeventToken = new Authentication.Fakes.ShimMyEventsToken();
                myeventToken.RegisteredUserIdGet     = () => { return(eventDefinition.OrganizerId); };
                ShimMyEventsToken.GetTokenFromHeader = () => { return(myeventToken); };
                var target = new SessionsController(sessionRepository, eventRepository);

                target.Delete(expectedSession.SessionId);

                Assert.IsTrue(called);
            }
        }
        public void PostRoomPoints_UnauthorizedException_Test()
        {
            var expected =
                new List <RoomPoint>()
            {
                new RoomPoint()
                {
                    EventDefinitionId = 1
                },
                new RoomPoint()
                {
                    EventDefinitionId = 1
                },
                new RoomPoint()
                {
                    EventDefinitionId = 1
                }
            };

            IEventDefinitionRepository eventDefinitionService = new StubIEventDefinitionRepository()
            {
                GetByIdInt32 = (id) =>
                {
                    Assert.IsTrue(id == 1);
                    return(new EventDefinition()
                    {
                        OrganizerId = 1
                    });
                }
            };

            using (ShimsContext.Create())
            {
                MyEvents.Api.Authentication.Fakes.ShimMyEventsToken myeventToken = new Authentication.Fakes.ShimMyEventsToken();
                myeventToken.RegisteredUserIdGet     = () => { return(1000); };
                ShimMyEventsToken.GetTokenFromHeader = () => { return(myeventToken); };

                var target = new RoomPointsController(eventDefinitionService);

                target.PostRoomPoints(expected);
            }
        }
        public void DeleteSession_NotFail_Test()
        {
            bool called = false;
            var expectedSession = new Session() { SessionId = 1, EventDefinitionId = 1 };

            var eventDefinition = new EventDefinition() { OrganizerId = 1 };
            IEventDefinitionRepository eventRepository = new StubIEventDefinitionRepository()
            {
                GetByIdInt32 = (id) =>
                {
                    Assert.AreEqual(expectedSession.EventDefinitionId, id);
                    return eventDefinition;
                }
            };

            ISessionRepository sessionRepository = new StubISessionRepository()
            {
                DeleteInt32 = sessionId =>
                {
                    Assert.AreEqual(expectedSession.SessionId, sessionId);
                    called = true;
                },
                GetInt32 = (sessionId) =>
                {
                    Assert.AreEqual(expectedSession.SessionId, sessionId);
                    return expectedSession;
                }
            };

            using (ShimsContext.Create())
            {
                MyEvents.Api.Authentication.Fakes.ShimMyEventsToken myeventToken = new Authentication.Fakes.ShimMyEventsToken();
                myeventToken.RegisteredUserIdGet = () => { return eventDefinition.OrganizerId; };
                ShimMyEventsToken.GetTokenFromHeader = () => { return myeventToken; };
                var target = new SessionsController(sessionRepository, eventRepository);

                target.Delete(expectedSession.SessionId);

                Assert.IsTrue(called);
            }
        }
        public void AddRegisteredUserToEvent_Call_UnauthorizedException_Test()
        {
            bool called = false;
            int  expectedRegisteredUserId = 10;
            int  expectedEventId          = 20;

            IRegisteredUserRepository registeredUserService = new StubIRegisteredUserRepository();

            using (ShimsContext.Create())
            {
                MyEvents.Api.Authentication.Fakes.ShimMyEventsToken myeventToken = new Authentication.Fakes.ShimMyEventsToken();
                myeventToken.RegisteredUserIdGet     = () => { return(10000); };
                ShimMyEventsToken.GetTokenFromHeader = () => { return(myeventToken); };

                var target = new RegisteredUsersController(registeredUserService);

                target.PostRegisteredUserToEvent(expectedRegisteredUserId, expectedEventId);

                Assert.IsTrue(called);
            }
        }
        public void DeleteEventDefinition_UnauthorizedException_Test()
        {
            var expected = new EventDefinition() { Name = "EventName", EventDefinitionId = 1, OrganizerId = 1 };
            IEventDefinitionRepository eventDefinitionService = new StubIEventDefinitionRepository()
            {
                GetByIdInt32 = ( id) =>
                {
                    Assert.IsTrue(id == 1);
                    return expected;
                }
            };
            using (ShimsContext.Create())
            {
                MyEvents.Api.Authentication.Fakes.ShimMyEventsToken myeventToken = new Authentication.Fakes.ShimMyEventsToken();
                myeventToken.RegisteredUserIdGet = () => { return 10; };
                ShimMyEventsToken.GetTokenFromHeader = () => { return myeventToken; };

                var target = new EventDefinitionsController(eventDefinitionService);

                target.Delete(expected.EventDefinitionId);
            }
        }
        public void DeleteRoomPoints_NotFail_Test()
        {
            bool called = false;
            int  expectedEventDefinitionId = 1;
            int  expectedRoomNumber        = 20;

            IEventDefinitionRepository eventDefinitionService = new StubIEventDefinitionRepository()
            {
                DeleteRoomPointsInt32Int32 = (eventDefinitionId, roomNumber) =>
                {
                    Assert.AreEqual(expectedEventDefinitionId, eventDefinitionId);
                    Assert.AreEqual(expectedRoomNumber, roomNumber);
                    called = true;
                },
                GetByIdInt32 = (id) =>
                {
                    Assert.IsTrue(id == expectedEventDefinitionId);
                    return(new EventDefinition()
                    {
                        OrganizerId = 1
                    });
                }
            };

            using (ShimsContext.Create())
            {
                MyEvents.Api.Authentication.Fakes.ShimMyEventsToken myeventToken = new Authentication.Fakes.ShimMyEventsToken();
                myeventToken.RegisteredUserIdGet     = () => { return(1); };
                ShimMyEventsToken.GetTokenFromHeader = () => { return(myeventToken); };

                var target = new RoomPointsController(eventDefinitionService);

                target.DeleteRoomPoints(expectedEventDefinitionId, expectedRoomNumber);

                Assert.IsTrue(called);
            }
        }
        public void PostEventDefinition_UnauthorizedException_Test()
        {
            var expected = new EventDefinition() { Name = "EventName", EventDefinitionId = 1, OrganizerId = 1 };
            bool called = false;

            IEventDefinitionRepository eventDefinitionService = new StubIEventDefinitionRepository();
            using (ShimsContext.Create())
            {
                MyEvents.Api.Authentication.Fakes.ShimMyEventsToken myeventToken = new Authentication.Fakes.ShimMyEventsToken();
                myeventToken.RegisteredUserIdGet = () => { return 10; }; // It´s not authorized!
                ShimMyEventsToken.GetTokenFromHeader = () => { return myeventToken; };

                var target = new EventDefinitionsController(eventDefinitionService);

                int actualId = target.Post(expected);

                Assert.IsTrue(called);
                Assert.AreEqual(expected.EventDefinitionId, actualId);
            }
        }
        public void GetAllEventDefinitions_GetNull_NotFailt_Test()
        {
            bool called = false;
            int expectedPageSize = 10;
            int expectedPageIndex = 1;

            IEventDefinitionRepository eventDefinitionService = new StubIEventDefinitionRepository()
            {
                GetAllWithUserInfoInt32Int32Int32 = (userId, pageSize, pageIndex) =>
                {
                    Assert.AreEqual(expectedPageSize, pageSize);
                    Assert.AreEqual(expectedPageIndex, pageIndex);
                    called = true;
                    return null;
                }
            };

            using (ShimsContext.Create())
            {
                MyEvents.Api.Authentication.Fakes.ShimMyEventsToken myeventToken = new Authentication.Fakes.ShimMyEventsToken();
                myeventToken.RegisteredUserIdGet = () => { return 0; };
                ShimMyEventsToken.GetTokenFromHeader = () => { return myeventToken; };

                var target = new EventDefinitionsController(eventDefinitionService);

                IEnumerable<EventDefinition> actual = target.GetAllEventDefinitions(expectedPageSize, expectedPageIndex);

                Assert.IsTrue(called);
                Assert.IsNull(actual);
            }
        }
        public void PostRoomPoints_NotFail_Test()
        {
            bool called = false;
            var expected =
                new List<RoomPoint>() {
                    new RoomPoint() { EventDefinitionId = 1 },
                    new RoomPoint() { EventDefinitionId = 1 },
                    new RoomPoint() { EventDefinitionId = 1 } };

            IEventDefinitionRepository eventDefinitionService = new StubIEventDefinitionRepository()
            {
                AddRoomPointsIEnumerableOfRoomPoint = (roomPoints) =>
                {
                    Assert.AreEqual(expected.Count(), roomPoints.Count());
                    called = true;
                },
                GetByIdInt32 = (id) =>
                {
                    Assert.IsTrue(id == 1);
                    return new EventDefinition() { OrganizerId = 1 };
                }
            };

            using (ShimsContext.Create())
            {
                MyEvents.Api.Authentication.Fakes.ShimMyEventsToken myeventToken = new Authentication.Fakes.ShimMyEventsToken();
                myeventToken.RegisteredUserIdGet = () => { return 1; };
                ShimMyEventsToken.GetTokenFromHeader = () => { return myeventToken; };

                var target = new RoomPointsController(eventDefinitionService);

                target.PostRoomPoints(expected);

                Assert.IsTrue(called);
            }
        }
        public void PutRoomImage_NotFail_Test()
        {
            bool called = false;
            var expected = new List<RoomPoint>()
            { new RoomPoint() { EventDefinitionId = 10 }
                , new RoomPoint() { EventDefinitionId = 10 }
                , new RoomPoint() { EventDefinitionId = 10 }};
            EventDefinition expectedEvent = new EventDefinition() { EventDefinitionId = 10 , OrganizerId = 10};

            IEventDefinitionRepository eventDefinitionService = new StubIEventDefinitionRepository()
            {
                UpdateRoomImageEventDefinition = (eventDefinition) =>
                {
                    Assert.AreEqual(expectedEvent.EventDefinitionId, eventDefinition.EventDefinitionId);
                    Assert.IsNull(expectedEvent.MapImage);
                    called = true;
                },
                GetByIdInt32 = (id) =>
                {
                    Assert.IsTrue(id == expectedEvent.EventDefinitionId);
                    return expectedEvent;
                }
            };

            using (ShimsContext.Create())
            {
                MyEvents.Api.Authentication.Fakes.ShimMyEventsToken myeventToken = new Authentication.Fakes.ShimMyEventsToken();
                myeventToken.RegisteredUserIdGet = () => { return expectedEvent.OrganizerId; };
                ShimMyEventsToken.GetTokenFromHeader = () => { return myeventToken; };

                var target = new RoomPointsController(eventDefinitionService);

                target.PutRoomImage(expectedEvent);

                Assert.IsTrue(called);
            }
        }
        public void PutRoomImage_UnauthorizedException_Test()
        {
            var expected = new List<RoomPoint>()
            { new RoomPoint() { EventDefinitionId = 10 }
                , new RoomPoint() { EventDefinitionId = 10 }
                , new RoomPoint() { EventDefinitionId = 10 }};
            EventDefinition expectedEvent = new EventDefinition() { EventDefinitionId = 10, OrganizerId = 10 };

            IEventDefinitionRepository eventDefinitionService = new StubIEventDefinitionRepository()
            {
                GetByIdInt32 = (id) =>
                {
                    Assert.IsTrue(id == expectedEvent.EventDefinitionId);
                    return expectedEvent;
                }
            };

            using (ShimsContext.Create())
            {
                MyEvents.Api.Authentication.Fakes.ShimMyEventsToken myeventToken = new Authentication.Fakes.ShimMyEventsToken();
                myeventToken.RegisteredUserIdGet = () => { return 10000; };
                ShimMyEventsToken.GetTokenFromHeader = () => { return myeventToken; };

                var target = new RoomPointsController(eventDefinitionService);

                target.PutRoomImage(expectedEvent);
            }
        }
        public void DeleteSession_UnauthorizedException_Test()
        {
            var expectedSession = new Session() { SessionId = 1, EventDefinitionId = 1 };

            var eventDefinition = new EventDefinition() { OrganizerId = 1 };
            IEventDefinitionRepository eventRepository = new StubIEventDefinitionRepository()
            {
                GetByIdInt32 = (id) =>
                {
                    Assert.AreEqual(expectedSession.EventDefinitionId, id);
                    return eventDefinition;
                }
            };

            ISessionRepository sessionRepository = new StubISessionRepository()
            {
                GetInt32 = (sessionId) =>
                {
                    Assert.AreEqual(expectedSession.SessionId, sessionId);
                    return expectedSession;
                }
            };

            using (ShimsContext.Create())
            {
                MyEvents.Api.Authentication.Fakes.ShimMyEventsToken myeventToken = new Authentication.Fakes.ShimMyEventsToken();
                myeventToken.RegisteredUserIdGet = () => { return 10000; };
                ShimMyEventsToken.GetTokenFromHeader = () => { return myeventToken; };

                var target = new SessionsController(sessionRepository, eventRepository);

                target.Delete(expectedSession.SessionId);
            }
        }
        public void PutSessionPeriod_UnauthorizedException_Test()
        {
            int expectedSessionId = 5;
            int duration = 10;
            DateTime startTime = DateTime.Now;
            var expectedSession = new Session() { SessionId = expectedSessionId, EventDefinitionId = 1 };
            var eventDefinition = new EventDefinition() { OrganizerId = 1 };

            IEventDefinitionRepository eventRepository = new StubIEventDefinitionRepository()
            {
                GetByIdInt32 = (id) =>
                {
                    Assert.AreEqual(expectedSession.EventDefinitionId, id);
                    return eventDefinition;
                }
            };

            ISessionRepository sessionRepository = new StubISessionRepository()

            {
                GetInt32 = (sessionId) =>
                {
                    Assert.AreEqual(expectedSessionId, sessionId);
                    return expectedSession;
                }
            };

            using (ShimsContext.Create())
            {
                MyEvents.Api.Authentication.Fakes.ShimMyEventsToken myeventToken = new Authentication.Fakes.ShimMyEventsToken();
                myeventToken.RegisteredUserIdGet = () => { return 1000; };
                ShimMyEventsToken.GetTokenFromHeader = () => { return myeventToken; };

                var target = new SessionsController(sessionRepository, eventRepository);

                target.PutSessionPeriod(expectedSessionId, startTime.ToString(), duration);
            }
        }
        public void PutSessionPeriod_NotFail_Test()
        {
            int expectedSessionId = 5;
            int duration = 10;
            DateTime startTime = DateTime.Now;
            bool getCalled = false;
            bool updateCalled = false;
            var expectedSession = new Session() { SessionId = expectedSessionId, EventDefinitionId = 1 };
            var eventDefinition = new EventDefinition() { OrganizerId = 1 };

            IEventDefinitionRepository eventRepository = new StubIEventDefinitionRepository()
            {
                GetByIdInt32 = (id) =>
                {
                    Assert.AreEqual(expectedSession.EventDefinitionId, id);
                    return eventDefinition;
                }
            };

            ISessionRepository sessionRepository = new StubISessionRepository()

            {
                GetInt32 = (sessionId) =>
                {
                    Assert.AreEqual(expectedSessionId, sessionId);
                    getCalled = true;
                    return expectedSession;
                },
                UpdateSession = session =>
                {
                    Assert.AreEqual(expectedSessionId, session.SessionId);
                    Assert.AreEqual(duration, session.Duration);
                    updateCalled = true;
                }
            };

            using (ShimsContext.Create())
            {
                MyEvents.Api.Authentication.Fakes.ShimMyEventsToken myeventToken = new Authentication.Fakes.ShimMyEventsToken();
                myeventToken.RegisteredUserIdGet = () => { return eventDefinition.OrganizerId; };
                ShimMyEventsToken.GetTokenFromHeader = () => { return myeventToken; };

                var target = new SessionsController(sessionRepository, eventRepository);

                target.PutSessionPeriod(expectedSessionId, startTime.ToString(), duration);

                Assert.IsTrue(getCalled);
                Assert.IsTrue(updateCalled);
            }
        }
        public void GetSession_GetResult_NotFail_Test()
        {
            int expectedSessionId = 10;
            bool called = false;
            var expected = new Session() { SessionId = expectedSessionId };

            IEventDefinitionRepository eventRepository = new StubIEventDefinitionRepository();
            ISessionRepository sessionRepository = new StubISessionRepository()
            {
                GetWithUserInfoInt32Int32 = (userId, eventId) =>
                {
                    Assert.AreEqual(expectedSessionId, eventId);
                    called = true;
                    return expected;
                }
            };

            using (ShimsContext.Create())
            {
                MyEvents.Api.Authentication.Fakes.ShimMyEventsToken myeventToken = new Authentication.Fakes.ShimMyEventsToken();
                myeventToken.RegisteredUserIdGet = () => { return 0; };
                ShimMyEventsToken.GetTokenFromHeader = () => { return myeventToken; };

                var target = new SessionsController(sessionRepository, eventRepository);

                Session actual = target.Get(expectedSessionId);

                Assert.IsTrue(called);
                Assert.AreEqual(expectedSessionId, actual.SessionId);
            }
        }
        public void DeleteComment_UnauthorizedException_Test()
        {
            var expectedcomment = new Comment() { CommentId = 1, SessionId = 10 };
            int organizerId = 10;

            ISessionRepository sessionRepository = new StubISessionRepository()
            {
                GetOrganizerIdInt32 = (sessionId) =>
                {
                    return organizerId;
                }
            };

            ICommentRepository commentRepository = new StubICommentRepository()
            {
                GetInt32 = commentId =>
                {
                    return expectedcomment;
                }
            };

            using (ShimsContext.Create())
            {
                MyEvents.Api.Authentication.Fakes.ShimMyEventsToken myeventToken = new Authentication.Fakes.ShimMyEventsToken();
                myeventToken.RegisteredUserIdGet = () => { return 1000; };
                ShimMyEventsToken.GetTokenFromHeader = () => { return myeventToken; };

                var target = new CommentsController(commentRepository, sessionRepository);

                target.Delete(expectedcomment.CommentId);
            }
        }
        public void PostRegisteredUserScore_Call_UnauthorizedException_Test()
        {
            bool called = false;
            int expectedRegisteredUserId = 10;
            int expectedSessionId = 20;
            int expectedScore = 3;

            IRegisteredUserRepository registeredUserService = new StubIRegisteredUserRepository();
            using (ShimsContext.Create())
            {
                MyEvents.Api.Authentication.Fakes.ShimMyEventsToken myeventToken = new Authentication.Fakes.ShimMyEventsToken();
                myeventToken.RegisteredUserIdGet = () => { return 10000; };
                ShimMyEventsToken.GetTokenFromHeader = () => { return myeventToken; };
                var target = new RegisteredUsersController(registeredUserService);

                target.PostRegisteredUserScore(expectedRegisteredUserId, expectedSessionId, expectedScore);

                Assert.IsTrue(called);
            }
        }
        public void PutEventDefinition_UnauthorizedException_Test()
        {
            var expected = new EventDefinition() { Name = "EventName", EventDefinitionId = 1, OrganizerId = 1 };
            IEventDefinitionRepository eventDefinitionService = new StubIEventDefinitionRepository();
            using (ShimsContext.Create())
            {
                MyEvents.Api.Authentication.Fakes.ShimMyEventsToken myeventToken = new Authentication.Fakes.ShimMyEventsToken();
                myeventToken.RegisteredUserIdGet = () => { return 10000; };
                ShimMyEventsToken.GetTokenFromHeader = () => { return myeventToken; };

                var target = new EventDefinitionsController(eventDefinitionService);

                target.Put(expected);
            }
        }
        public void PostMaterial_NotFail_Test()
        {
            bool called = false;
            var expectedmaterial = new Material() { MaterialId = 1 };
            int organizerId = 10;

            ISessionRepository sessionRepository = new StubISessionRepository()
            {
                GetOrganizerIdInt32 = (sessionId) =>
                {
                    return organizerId;
                }
            };

            IMaterialRepository materialRepository = new StubIMaterialRepository()
            {
                AddMaterial = material =>
                {
                    Assert.AreEqual(expectedmaterial.MaterialId, material.MaterialId);
                    called = true;
                    return expectedmaterial.MaterialId;
                },
                GetInt32 = materialId =>
                {
                    return expectedmaterial;
                }
            };

            using (ShimsContext.Create())
            {
                MyEvents.Api.Authentication.Fakes.ShimMyEventsToken myeventToken = new Authentication.Fakes.ShimMyEventsToken();
                myeventToken.RegisteredUserIdGet = () => { return organizerId; };
                ShimMyEventsToken.GetTokenFromHeader = () => { return myeventToken; };

                var target = new MaterialsController(materialRepository, sessionRepository);

                var actual = target.Post(expectedmaterial);

                Assert.IsTrue(called);
                Assert.AreEqual(expectedmaterial.MaterialId, actual);
            }
        }
        public void GetEventDefinitionById_GetResult_NotFail_Test()
        {
            var expected = new EventDefinition() { Name = "EventName" };
            bool called = false;
            int expectedEventDefinitionId = 10;

            IEventDefinitionRepository eventDefinitionService = new StubIEventDefinitionRepository()
            {
                GetByIdWithUserInfoInt32Int32 = (userId, eventDefinitionId) =>
                {
                    Assert.AreEqual(expectedEventDefinitionId, eventDefinitionId);
                    called = true;
                    return expected;
                }
            };

            using (ShimsContext.Create())
            {
                MyEvents.Api.Authentication.Fakes.ShimMyEventsToken myeventToken = new Authentication.Fakes.ShimMyEventsToken();
                myeventToken.RegisteredUserIdGet = () => { return 0; };
                ShimMyEventsToken.GetTokenFromHeader = () => { return myeventToken; };

                var target = new EventDefinitionsController(eventDefinitionService);

                EventDefinition actual = target.GetEventDefinitionById(expectedEventDefinitionId);

                Assert.IsTrue(called);
                Assert.AreEqual(expected.Name, actual.Name);
            }
        }