Пример #1
0
        public void IsAdminEnabledTest()
        {
            #region Arrange

            const string firstName = "FirstName";
            const string lastName = "LastName";
            const string fullName = firstName + " " + lastName;

            var identityMock = Mock.Create<IMQ1Identity>();
            var principalMock = Mock.Create<IPrincipal>();
            Mock.Arrange(() => principalMock.Identity).Returns(identityMock);
            Mock.Arrange(() => identityMock.FirstName).Returns(firstName);
            Mock.Arrange(() => identityMock.LastName).Returns(lastName);
            Mock.Arrange(() => identityMock.FullName).Returns(fullName);
            Mock.Arrange(() => identityMock.IsAuthenticated).Returns(true);
            ApplicationContext.User = principalMock;

            var vm = new SysMenuViewModel();
            vm.HandleEvent(new DashboardInitializationCompletedEvent());

            #endregion Arrange

            // Act
            SwitchToNonAdmin(vm, identityMock);
            var actual = vm.IsAdminEnabled;
            // Assert
            Assert.IsNotNull(actual);
            Assert.IsFalse((bool)actual);

            // Act
            SwitchToAdmin(vm, identityMock);
            actual = vm.IsAdminEnabled;
            // Assert
            Assert.IsNotNull(actual);
            Assert.IsTrue((bool)actual);

            // Act
            UnAuthenticate(vm, identityMock);
            actual = vm.IsAdminEnabled;
            // Assert
            Assert.IsNull(actual);
        }
Пример #2
0
        public void AdminMenuItemsShortcutsHasToBeEnabledForAdminUsers()
        {
            #region Arrange

            var navigationItems = new List<MockNavigationItemInfo>
                                      {
                                          new MockNavigationItemInfo(1, "abc"),
                                          new MockNavigationItemInfo(2, "bcd"),
                                          new MockNavigationItemInfo(3, "cde"),
                                      };

            var groupInfo = new MockNavigationGroupInfo(navigationItems, Constants.AdminMenu);

            var navItems = new MockNavigationGroupList(new[] { groupInfo });

            var vm = new SysMenuViewModel();
            vm.TheShell = Mock.Create<MainViewModel>(Behavior.Loose);
            vm.HandleEvent(new DashboardInitializationCompletedEvent());

            vm.IsAdminEnabled = true;
            Mock.Arrange(() => Utils.CurrentUserAuthenticated).Returns(true);
            Mock.Arrange(() => Utils.CurrentUserHasAdministratorRights).Returns(true);

            vm.MenuItemExtensions = new ExportFactory<ViewModelBase, IExportAsSystemMenuItemExtensionMetadata>[0];
            vm.SetupAdminMenu(navItems);

            #endregion Arrange


            Assert.IsNotNull(vm.AdminMenuItems[0].Shortcut);
            Assert.IsNotNull(vm.AdminMenuItems[1].Shortcut);
            Assert.IsNotNull(vm.AdminMenuItems[2].Shortcut);
        }