public void SettingsDuplicate()
        {
            ModelMapCreator mapCreator = new ModelMapCreator();

            mapCreator.CreateMap();

            MockFacebookContextSettings facebookContextSettings =
                new MockFacebookContextSettings("AppId", 1234, "AccessToken123", "http://apps.facebook.com/canvasPage",
                                                "SignedRequest");

            Mock <IUserService> mockUserService = new Mock <IUserService>();
            User originalUser = new User
            {
                AutoUpdate         = true,
                FacebookUserId     = facebookContextSettings.UserId,
                PublishDescription = true,
                SteamUserId        = "user1"
            };

            mockUserService.Setup(service => service.GetUser(facebookContextSettings.UserId))
            .Returns(() => originalUser).Verifiable();

            User updatedUser = new User
            {
                AccessToken        = originalUser.AccessToken,
                AutoUpdate         = originalUser.AutoUpdate,
                FacebookUserId     = originalUser.FacebookUserId,
                PublishDescription = originalUser.PublishDescription,
                SteamUserId        = "NullReference"
            };

            mockUserService.Setup(service => service.UpdateUser(updatedUser))
            .Throws(new DuplicateSteamUserException()).Verifiable();

            Mock <IAchievementService> mockAchievementService = new Mock <IAchievementService>();

            SessionStateItemCollection sessionItems = new SessionStateItemCollection();
            AchievementController      controller   = new AchievementController(mockAchievementService.Object,
                                                                                mockUserService.Object,
                                                                                facebookContextSettings);
            FakeControllerContext context = new FakeControllerContext(controller, sessionItems);

            controller.ControllerContext = context;
            controller.UserSettings      = originalUser;

            SettingsViewModel model =
                new SettingsViewModel
            {
                AutoUpdate         = true,
                PublishDescription = true,
                SteamUserId        = "NullReference"
            };

            JsonResult result = controller.SaveSettings(model);

            Assert.That((string)result.Data == "DuplicateError");

            mockUserService.Verify();
        }
示例#2
0
        public void SettingsSuccess()
        {
            ModelMapCreator mapCreator = new ModelMapCreator();

            mapCreator.CreateMap();

            Mock <IAchievementService> mockAchievementService = new Mock <IAchievementService>();

            MockFacebookContextSettings facebookContextSettings =
                new MockFacebookContextSettings("AppId", 1234567890, "AccessToken123",
                                                "http://apps.facebook.com/canvasPage", "SignedRequest");

            Mock <IUserService> mockUserService = new Mock <IUserService>();
            User originalUser = new User
            {
                AutoUpdate         = true,
                FacebookUserId     = facebookContextSettings.UserId,
                PublishDescription = true,
                SteamUserId        = "NullReference"
            };

            mockUserService.Setup(service => service.GetUser(facebookContextSettings.UserId))
            .Returns(() => originalUser).Verifiable();

            SessionStateItemCollection sessionItems = new SessionStateItemCollection();
            HomeController             controller   = new HomeController(mockAchievementService.Object,
                                                                         mockUserService.Object,
                                                                         facebookContextSettings);
            FakeControllerContext context = new FakeControllerContext(controller, sessionItems);

            controller.ControllerContext = context;

            controller.UserSettings = originalUser;

            SettingsViewModel model =
                new SettingsViewModel
            {
                AutoUpdate         = true,
                PublishDescription = true,
                SteamUserId        = originalUser.SteamUserId
            };

            ViewResult result = (ViewResult)controller.SaveSettings(model);

            Assert.That((bool)result.ViewBag.Success, Is.True);
            mockUserService.Verify();
        }
        public void SettingsSuccess()
        {
            Mock <IAchievementService> mockAchievementService = new Mock <IAchievementService>();

            Mock <IUserService> mockUserService = new Mock <IUserService>();
            User originalUser = new User
            {
                AutoUpdate         = true,
                FacebookUserId     = 12345,
                PublishDescription = true,
                SteamUserId        = "NullReference"
            };

            mockUserService.Setup(service => service.GetUser(originalUser.FacebookUserId))
            .Returns(() => originalUser).Verifiable();

            Mock <IFacebookClientService> mockFacebookClient = new Mock <IFacebookClientService>();

            SessionStateItemCollection sessionItems = new SessionStateItemCollection();
            HomeController             controller   = new HomeController(mockAchievementService.Object,
                                                                         mockUserService.Object,
                                                                         mockFacebookClient.Object,
                                                                         new Mock <IErrorLogger>().Object);
            FakeControllerContext context = new FakeControllerContext(controller, sessionItems);

            controller.ControllerContext = context;

            controller.UserSettings = originalUser;

            SettingsViewModel model =
                new SettingsViewModel
            {
                AutoUpdate         = true,
                PublishDescription = true,
                SteamUserId        = originalUser.SteamUserId
            };

            ViewResult result = (ViewResult)controller.SaveSettings(model);

            Assert.That((bool)result.ViewBag.Success, Is.True);
            mockUserService.Verify();
        }