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 GetAllMaterials_GetEmptyResults_NotFail_Test()
        {
            int expectedSessionId = 10;
            bool called = false;
            var expected = new List<Material>();

            ISessionRepository sessionRepository = new StubISessionRepository();
            IMaterialRepository materialRepository = new StubIMaterialRepository()
            {
                GetAllInt32 = sessionId =>
                {
                    Assert.AreEqual(expectedSessionId, sessionId);
                    called = true;
                    return expected;
                }
            };

            var target = new MaterialsController(materialRepository, sessionRepository);

            IEnumerable<Material> actual = target.GetAllMaterials(expectedSessionId);

            Assert.IsTrue(called);
            Assert.AreEqual(expected.Count, actual.Count());
        }
        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 PostMaterial_ArgumentNullException_Test()
        {
            ICommentRepository commentRepository = new StubICommentRepository();
            IMaterialRepository materialRepository = new StubIMaterialRepository();
            IEventDefinitionRepository eventRepository = new StubIEventDefinitionRepository();
            ISessionRepository sessionRepository = new StubISessionRepository();

            var target = new MaterialsController(materialRepository, sessionRepository);

            target.Post(null);
        }
 public void MaterialsController_Contructor_SessionArgumentNullException_Test()
 {
     ISessionRepository sessionRepository = new StubISessionRepository();
     IMaterialRepository materialRepository = new StubIMaterialRepository();
     var target = new MaterialsController(materialRepository, null);
 }
 public void MaterialsController_Contructor_NotFail_Test()
 {
     ISessionRepository sessionRepository = new StubISessionRepository();
     IMaterialRepository materialRepository = new StubIMaterialRepository();
     var target = new MaterialsController(materialRepository, sessionRepository);
 }
        public void GetMaterials_NotFail_Test()
        {
            bool called = false;
            var expected = new Material() { MaterialId = 10 };

            ISessionRepository sessionRepository = new StubISessionRepository();
            IMaterialRepository materialRepository = new StubIMaterialRepository()
            {
                GetInt32 = materialId =>
                {
                    Assert.AreEqual(expected.MaterialId, materialId);
                    called = true;
                    return expected;
                }
            };

            var target = new MaterialsController(materialRepository, sessionRepository);

            Material actual = target.Get(expected.MaterialId);

            Assert.IsTrue(called);
        }