Пример #1
0
        public void AddBookmarkForNonExistentEventTest()
        {
            var mockRepository = new Mock <IRepository <Event> >();

            mockRepository.Setup(r => r.GetById(It.IsAny <int>()))
            .Returns((Event)null);

            var controllerContext = new Mock <ControllerContext>();

            controllerContext.SetupGet(x => x.HttpContext.User)
            .Returns(this.mockPrincipal.Object);

            var controller =
                new UserController(null, mockRepository.Object, null)
            {
                ControllerContext = controllerContext.Object
            };

            controller.AddBookmark(0);

            Assert.IsNull(controller.TempData["message"]);
            Assert.IsNotNull(controller.TempData["error"]);

            mockRepository.Verify(r => r.GetById(It.IsAny <int>()), Times.Once);
            mockRepository.Verify(r => r.Save(), Times.Never);
        }
Пример #2
0
        public void AddExistentBookmarkTest()
        {
            const int eventId    = 1;
            var       eventToAdd = new Event
            {
                Id           = eventId,
                BookmarkedBy = new List <DB.Models.User>()
            };

            DB.Models.User user = new DB.Models.User
            {
                Id = this.username,
                BookmarkedEvents = new List <Event> {
                    eventToAdd
                }
            };
            eventToAdd.BookmarkedBy.Add(user);

            var events = new[] { eventToAdd };

            var mockRepository = new Mock <IRepository <Event> >();

            mockRepository.Setup(r => r.GetById(It.IsAny <int>()))
            .Returns(events[0]);
            mockRepository.Setup(r => r.Save()).Returns(0);

            var userManager = new Mock <AppUserManager>(
                new UserStore <DB.Models.User>());

            userManager.Setup(m => m.FindByIdAsync(It.IsAny <string>()))
            .Returns(Task.FromResult(user));

            var controllerContext = new Mock <ControllerContext>();

            controllerContext.SetupGet(x => x.HttpContext.User)
            .Returns(this.mockPrincipal.Object);

            var controller =
                new UserController(null, mockRepository.Object, null)
            {
                ControllerContext = controllerContext.Object,
                UserManager       = userManager.Object
            };

            Assert.IsTrue(events[0].BookmarkedBy.Contains(user));
            Assert.IsTrue(user.BookmarkedEvents.Contains(events[0]));

            controller.AddBookmark(eventId);

            Assert.IsTrue(events[0].BookmarkedBy.Contains(user));
            Assert.IsTrue(user.BookmarkedEvents.Contains(events[0]));

            Assert.IsNull(controller.TempData["message"]);
            Assert.IsNotNull(controller.TempData["error"]);

            mockRepository.Verify(r => r.GetById(It.IsAny <int>()), Times.Once);
            mockRepository.Verify(r => r.Save(), Times.Once);
        }