public void LoginSuccessfulTest()
        {
            var companyVm = viewModelFactory.GetViewModel <CompanyViewModel>();

            companyVm.Model = TestGlobals.Company;
            var authenticationGroupVm = viewModelFactory.GetViewModel <AuthenticationGroupViewModel>();

            authenticationGroupVm.Model = TestGlobals.AuthenticationGroup;
            var vm = viewModelFactory.GetViewModel <LocalUserViewModel>();

            vm.CompanyInfo = new TestCompanyInfo();
            var user = DesignTimeHelper.GetRegisteredUser();

            mockRoomService.Setup(rs => rs.Login(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <OperationCallback <LoginSession> >()))
            .Callback((string companyTag, string authenticationGroupTag, string userTag, string password, OperationCallback <LoginSession> callback) =>
                      callback(null, new LoginSession()
            {
                LoginSessionId = loginSessionId, UserId = Guid.NewGuid()
            }));
            mockRoomService.Setup(rs => rs.GetAuthenticatedUser(It.IsAny <LoginSession>(), It.IsAny <OperationCallback <User> >()))
            .Callback((LoginSession loginSession, OperationCallback <User> callback) => callback(null, user));
            vm.Login("smithkl42", "password", ex =>
            {
                Assert.AreEqual("smithkl42", vm.UserTag);
                Assert.AreEqual("password", vm.Password);
                Assert.AreEqual(loginSessionId, vm.LoginSession.LoginSessionId);
                Assert.AreEqual(user, vm.Model);
            });
        }
        public void UserChangesAndWorkspaceItemsChange()
        {
            // Arrange
            var vm          = viewModelFactory.GetViewModel <LocalUserViewModel>();
            var workspaceVm = viewModelFactory.GetViewModel <WorkspaceViewModel>();
            var user1       = DesignTimeHelper.GetGuestUser();
            var user2       = DesignTimeHelper.GetRegisteredUser();

            Assert.IsNull(vm.UserSharedFileCollectionVm);
            vm.Model = user1;
            Assert.IsNotNull(vm.UserSharedFileCollectionVm);
            var sharedFileVms = vm.UserSharedFileCollectionVm.ViewModels;

            workspaceVm.WorkspaceItems.RegisterObservedCollection(sharedFileVms);
            foreach (var sharedFile in user1.SharedFiles)
            {
                Assert.IsTrue(vm.UserSharedFileCollectionVm.ViewModels.Any(sfvm => sfvm.Model == sharedFile));
                Assert.IsTrue(workspaceVm.WorkspaceItems.Any(item => (item as SharedFileViewModel).Model == sharedFile));
            }

            // Act
            vm.Model = user2;

            // Assert
            Assert.AreEqual(sharedFileVms, vm.UserSharedFileCollectionVm.ViewModels);
            foreach (var sharedFile in user2.SharedFiles)
            {
                Assert.IsTrue(vm.UserSharedFileCollectionVm.ViewModels.Any(sfvm => sfvm.Model == sharedFile));
                Assert.IsTrue(workspaceVm.WorkspaceItems.Any(item => (item as SharedFileViewModel).Model == sharedFile));
            }
        }
        public void SampleUserSharedFileCollectionViewModelTest()
        {
            var sampleVm = new SampleUserSharedFileCollectionViewModel();

            Assert.AreEqual(DesignTimeHelper.GetRegisteredUser(), sampleVm.UserVm.Model);
            Assert.AreEqual(DesignTimeHelper.GetRegisteredUser().UserId, sampleVm.UserId);
        }
        public void SampleSharedFileViewModelTest()
        {
            var sampleVm = new SampleSharedFileViewModel();

            Assert.AreEqual(sampleVm.OwnerUserId, DesignTimeHelper.GetRegisteredUser().UserId);
            Assert.AreEqual(sampleVm.OwnerUserName, DesignTimeHelper.GetRegisteredUser().UserName);
        }
示例#5
0
        public virtual void TestInit()
        {
            DesignTimeHelper.Reset();
            mockMessageService = GetMockMessageService();
            messageService     = mockMessageService.Object;
            viewLocator        = new ViewLocator();
            mockRoomService    = GetMockRoomService();
            roomService        = mockRoomService.Object;
            viewModelFactory   = new ViewModelFactory(roomService, messageService, viewLocator);

            user      = DesignTimeHelper.GetRegisteredUser();
            room      = DesignTimeHelper.GetRoom();
            guestUser = DesignTimeHelper.GetGuestUser();

            // Wait to kick off any of the actual tests until the basic test initialization has completed.
            EnqueueConditional(() => TestGlobals.Initialized);
            EnqueueTestComplete();
        }
        public void UserChangesAndClosedWorkspaceItemsChange()
        {
            // Arrange
            var localUserVm = viewModelFactory.GetViewModel <LocalUserViewModel>();
            var workspaceVm = viewModelFactory.GetViewModel <WorkspaceViewModel>();
            var user1       = DesignTimeHelper.GetGuestUser();
            var user2       = DesignTimeHelper.GetRegisteredUser();
            var wb1         = new Data.RoomService.Whiteboard()
            {
                WhiteboardId = Guid.NewGuid(), User = user2, IsClosed = true
            };
            var wbVm1 = viewModelFactory.GetViewModel <WhiteboardViewModel>(w => w.WorkspaceItemId == wb1.WhiteboardId);

            wbVm1.Model = wb1;
            var wb2 = new Data.RoomService.Whiteboard()
            {
                WhiteboardId = Guid.NewGuid(), User = user2, IsClosed = true
            };
            var wbVm2 = viewModelFactory.GetViewModel <WhiteboardViewModel>(w => w.WorkspaceItemId == wb2.WhiteboardId);

            wbVm2.Model = wb2;
            workspaceVm.ClosedWorkspaceItems.Triggers.Add(localUserVm);
            workspaceVm.WorkspaceItems.Add(wbVm1);
            workspaceVm.WorkspaceItems.Add(wbVm2);
            localUserVm.Model = user1;
            Assert.IsTrue(wbVm1.IsReady && !wbVm1.IsShareAvailable && !wbVm1.IsShared);
            Assert.IsTrue(wbVm2.IsReady && !wbVm2.IsShareAvailable && !wbVm2.IsShared);

            // The whiteboards shouldn't initially show up in the closed workspace items because
            // they aren't owned by the current local user.
            Assert.IsFalse(workspaceVm.ClosedWorkspaceItems.Contains(wbVm1));
            Assert.IsFalse(workspaceVm.ClosedWorkspaceItems.Contains(wbVm2));

            // Act
            localUserVm.Model = user2;

            // Assert
            // The whiteboards should now show up in the closed workspace items because
            // they're owned by the new local user.
            Assert.IsTrue(wbVm1.IsReady && wbVm1.IsShareAvailable && !wbVm1.IsShared);
            Assert.IsTrue(wbVm2.IsReady && wbVm2.IsShareAvailable && !wbVm2.IsShared);
            Assert.IsTrue(workspaceVm.ClosedWorkspaceItems.Contains(wbVm1));
            Assert.IsTrue(workspaceVm.ClosedWorkspaceItems.Contains(wbVm2));
        }