コード例 #1
0
        public void CallMapperService_MapObjectOnce()
        {
            // Arrange
            var mockedMapperService = new Mock <IMapperService>();
            var mappedProfile       = new ProfilePartialViewModel();

            mockedMapperService.Setup(x => x.MapObject <ProfilePartialViewModel>(It.IsAny <CustomUser>())).Returns(mappedProfile);
            var mockedImageService  = new Mock <IImageService>();
            var mockedUserService   = new Mock <IUserService>();
            var mockedFriendService = new Mock <IFriendService>();

            var viewModelService = new ViewModelService(
                mockedMapperService.Object,
                mockedImageService.Object,
                mockedUserService.Object,
                mockedFriendService.Object);

            byte[] profileImageContent = new byte[] { 1, 3, 5 };
            var    user = new CustomUser()
            {
                ProfileImage = new ProfileImage()
                {
                    Content = profileImageContent
                }
            };

            // Act
            viewModelService.GetMappedProfilePartial(user);

            // Assert
            mockedMapperService.Verify(x => x.MapObject <ProfilePartialViewModel>(It.Is <CustomUser>(u => u == user)), Times.Once);
        }
コード例 #2
0
        public void ReturnCorrectResult()
        {
            // Arrange
            var mockedMapperService = new Mock <IMapperService>();
            var mappedProfile       = new ProfilePartialViewModel();

            mockedMapperService.Setup(x => x.MapObject <ProfilePartialViewModel>(It.IsAny <CustomUser>())).Returns(mappedProfile);
            var mockedImageService  = new Mock <IImageService>();
            var mockedUserService   = new Mock <IUserService>();
            var mockedFriendService = new Mock <IFriendService>();

            var viewModelService = new ViewModelService(
                mockedMapperService.Object,
                mockedImageService.Object,
                mockedUserService.Object,
                mockedFriendService.Object);

            byte[] profileImageContent = new byte[] { 1, 3, 5 };
            var    user = new CustomUser()
            {
                ProfileImage = new ProfileImage()
                {
                    Content = profileImageContent
                }
            };

            // Act
            var result = viewModelService.GetMappedProfilePartial(user);

            // Assert
            Assert.IsNotNull(result);
            Assert.AreEqual(result, mappedProfile);
            Assert.IsInstanceOf <ProfilePartialViewModel>(result);
        }
コード例 #3
0
        public void ReturnPartialView_ProfilePartial()
        {
            // Arrange
            var mockedAccountService   = new Mock <IAccountService>();
            var mockedUserService      = new Mock <IUserService>();
            var mockedStatisticService = new Mock <IStatisticService>();
            var mockedViewModelService = new Mock <IViewModelService>();
            var model = new ProfilePartialViewModel();

            mockedViewModelService.Setup(x => x.GetMappedProfilePartial(It.IsAny <CustomUser>())).Returns(model);

            var mockedSignInManager  = new Mock <ISignInManager>();
            var mockedUserManager    = new Mock <IUserManager>();
            var mockedIdentityHelper = new Mock <IIdentityHelper>();

            var homeController = new HomeController(
                mockedAccountService.Object,
                mockedUserService.Object,
                mockedStatisticService.Object,
                mockedViewModelService.Object,
                mockedSignInManager.Object,
                mockedUserManager.Object,
                mockedIdentityHelper.Object);

            // Act & Assert
            homeController
            .WithCallTo(x => x.ProfilePartial())
            .ShouldRenderPartialView("_ProfilePartial")
            .WithModel <ProfilePartialViewModel>(m =>
            {
                Assert.AreEqual(model, m);
            });
        }
コード例 #4
0
        public ActionResult ProfilePartial()
        {
            RunServices();

            var db = new ApplicationDbContext();

            var userId = User.Identity.GetUserId();
            var user   = db.Users.Find(userId);

            int index = 0;

            foreach (var u in db.Users.OrderByDescending(u => u.LadderPoints))
            {
                index++;

                if (u.Id == userId)
                {
                    break;
                }
            }

            var profilePartialViewModel = new ProfilePartialViewModel
            {
                UserId             = userId,
                Username           = user.UserName,
                ImageUrl           = user.ImageUrl == null ? "/Images/Other/noprofilepicture.jpg" : user.ImageUrl,
                Rank               = index,
                Gold               = user.Gold,
                LadderPoints       = user.LadderPoints,
                Stamina            = user.Stamina,
                MaxStamina         = user.MaxStamina,
                Xp                 = user.Xp,
                MaxXp              = user.MaxXp,
                Level              = user.Level,
                TotalUserCreatures = user.UserCreatures.Count,
                RainbowGems        = user.RainbowGems,
                Travelling         = db.Travels.Any(t => t.UserId == userId) || db.CurrentLands.Any(cl => cl.UserId == userId),
                NextStaminaMinutes = 10 - (DateTimeOffset.Now - user.LastStaminaTime).Minutes,
                UserCreatures      = user.UserCreatures.Where(uc => uc.InSquad).OrderBy(uc => uc.Slot).ToList(),
                RecentBattles      = db.Battles.Where(b => (b.Challenge.ChallengerId == userId || b.Challenge.ReceiverId == userId) && b.Calculated).OrderByDescending(b => b.StartTime).Take(10).ToList(),
                OngoingBattles     = db.Battles.Where(b => (b.Challenge.ChallengerId == userId || b.Challenge.ReceiverId == userId) && !b.Calculated).ToList()
            };

            return(PartialView("_ProfilePartial", profilePartialViewModel));
        }