public void getClosesMedalTest__MustReturnClosestsMedalProgres_of_WelcomeUserMedal()
        {
            //Arrang
            MedalRequirementsChecker requirementChecker = new PlatefulMedalRequirementChecker();
            SpontaneousUserModel userModel = new SpontaneousUserModel()
            {
                UserActivityList = new List<UserActivity>(),
                UserMedalsList = new List<UserMedal>()
            };

            //userModel.UserActivityList.Add(new PageViewActivity("TestPage"));

            //Act
            MedalProgress progress = requirementChecker.getClosesMedal(userModel);

            //Assert
            string massage = "";
            Assert.AreEqual(progress.MedalType, "WelcomeUserMedal", true, massage);
            Assert.AreEqual(progress.pointsRequired, 1);
            Assert.AreEqual(progress.ProgressPercentage, 0);
        }
Пример #2
0
        internal MedalProgress GetClosesMedal()
        {
            var userProfile = GetUserProfile();
            var userData = userProfile.GetUserData();

            if (userData == null)
            {
                log.WarnFormat("[GetClosesMedal] User={0} tried to get GetClosesMedal, but userData doesn't exists.", userProfile.UserName);
                return null;
            }

            MedalProgress returnValue;

            MedalRequirementsChecker medalChecker;
            switch (AppName)
            {
                case ApplicationName.Spontaneous:
                    log.InfoFormat("[GetClosesMedal] Spontaneous : user={0}.", userProfile.UserName);
                    medalChecker = new SpontaneousMedalRequirementChecker();
                    break;
                case ApplicationName.Plateful:
                    log.InfoFormat("[GetClosesMedal] Platefull : user={0}.", userProfile.UserName);
                    medalChecker = new PlatefulMedalRequirementChecker();
                    break;
                case ApplicationName.BackOffice:
                    log.InfoFormat("[GetClosesMedal] BackOffice : user={0}.", userProfile.UserName);
                    return null;
                default:
                    log.InfoFormat("[GetClosesMedal] default : user={0}.", userProfile.UserName);
                    return null;
            }

            returnValue = medalChecker.getClosesMedal(userData);

            //var medals = userData.UserMedalsList;
            log.InfoFormat("[GetClosesMedal] user={0}, MedalProgress = MedalProgress.ToString Function Not implemented.", userProfile.UserName);
            return returnValue;
        }
        public void getClosesMedalTest_AlreadyHaveWelcomMedal_MustReturnClosestsMedalProgres_of_RestaurantAdviserMedalProgress()
        {
            //Arrang
            MedalRequirementsChecker requirementChecker = new PlatefulMedalRequirementChecker();
            SpontaneousUserModel userModel = new SpontaneousUserModel()
            {
                UserActivityList = new List<UserActivity>(),
                UserMedalsList = new List<UserMedal>()
            };

            userModel.UserActivityList.Add(new InviteFriendActivity());
            userModel.UserMedalsList.Add(new WelcomeUserMedal());

            //Act
            MedalProgress progress = requirementChecker.getClosesMedal(userModel);
            int progressPercentage = progress.GetProgressPercentage();

            //Assert
            string massage = "";
            Assert.AreEqual(progress.MedalType, "RestaurantAdviserMedal", true, massage);
            Assert.AreEqual(progress.pointsRequired, 4);
            Assert.AreEqual(progressPercentage, 50);
        }