public void TokenLoading()
        {
            var mock = new MockLoginModel();
            var sm   = new StartViewModel(mock);

            sm.SwitchedToThis();

            CollectionAssert.AreEquivalent(mock.tokens.Keys, sm.SavedUsers.Select(x => x.Login));
        }
        public void TokenSelecting()
        {
            var mock = new MockLoginModel();
            var sm   = new StartViewModel(mock);

            sm.SwitchedToThis();

            sm.SelectedUser = sm.SavedUsers[0];
            Assert.AreEqual(sm.SavedUsers[0].Login, mock.CurrentUser);
        }
        public void TokenDeleting()
        {
            var mock = new MockLoginModel();
            var sm   = new StartViewModel(mock);

            sm.SwitchedToThis();

            Assert.True(sm.SavedUsers[0].TokenDelete_Click.CanExecute());
            sm.SavedUsers[0].TokenDelete_Click.Execute();
            Assert.IsEmpty(sm.SavedUsers);
        }
        public void SwitchToUser()
        {
            var mock = new MockLoginModel();
            var sm   = new StartViewModel(mock);

            sm.SwitchedToThis();

            ViewModelID to = ViewModelID.Start;

            sm.ViewChanged += id => { to = id; };
            sm.SelectedUser = sm.SavedUsers[0];
            Assert.AreEqual(ViewModelID.User, to);
        }
Example #5
0
        public void UserEntry()
        {
            var mock = new MockLoginModel();
            var lvm  = new LoginViewModel(mock);

            lvm.SwitchedToThis();
            lvm.ServerUrl = Utils.ValidServer;
            lvm.Server_Connect.Execute();

            lvm.Username = Utils.OtherUser.Item1;
            Assert.True(lvm.LoginButton_Click.CanExecute(null));
            lvm.Username = "";
            Assert.False(lvm.LoginButton_Click.CanExecute(null));
        }
Example #6
0
        public void InvalidServerConnect()
        {
            var mock = new MockLoginModel();
            var lvm  = new LoginViewModel(mock);

            lvm.SwitchedToThis();

            lvm.ServerUrl = Utils.InvalidServer;
            lvm.Server_Connect.Execute();

            Assert.False(string.IsNullOrEmpty(lvm.ErrorMessage));
            Assert.AreEqual(ServerState.Connect, lvm.ServerSet);
            Assert.True(lvm.Server_Connect.CanExecute());
        }
Example #7
0
        public void Loading()
        {
            var mock = new MockLoginModel();
            var lvm  = new LoginViewModel(mock);

            lvm.SwitchedToThis();

            Assert.AreEqual(ServerState.Connect, lvm.ServerSet);
            Assert.False(lvm.LoginButton_Click.CanExecute(null));
            Assert.False(lvm.Server_Connect.CanExecute());
            Assert.True(string.IsNullOrEmpty(lvm.ServerUrl));
            Assert.True(string.IsNullOrEmpty(lvm.Username));
            Assert.False(lvm.SaveToken);
        }
        public void SwitchToLogin()
        {
            var mock = new MockLoginModel();
            var sm   = new StartViewModel(mock);

            sm.SwitchedToThis();

            ViewModelID to = ViewModelID.Start;

            sm.ViewChanged += id => { to = id; };
            Assert.True(sm.NewLoginButton_Click.CanExecute());
            sm.NewLoginButton_Click.Execute();

            Assert.AreEqual(ViewModelID.Login, to);
        }
Example #9
0
        public void ValidServerConnect()
        {
            var mock = new MockLoginModel();
            var lvm  = new LoginViewModel(mock);

            lvm.SwitchedToThis();

            lvm.ServerUrl = Utils.ValidServer;
            Assert.True(lvm.Server_Connect.CanExecute());
            lvm.Server_Connect.Execute();

            Assert.AreEqual("https://localserver", mock.ConnectedServer);
            Assert.AreEqual(ServerState.Connected, lvm.ServerSet);
            Assert.False(lvm.LoginButton_Click.CanExecute(null));
            Assert.True(lvm.Server_Connect.CanExecute());
        }
        public void ReturnToStartFromTokenLogin()
        {
            var mock = new MockLoginModel();
            var sm   = new StartViewModel(mock);

            sm.SwitchedToThis();

            sm.SelectedUser = sm.SavedUsers[0];
            sm.SwitchedToThis();

            Assert.True(sm.NewLoginButton_Click.CanExecute());
            Assert.Null(sm.SelectedUser);
            Assert.True(sm.LoginAllowed);
            Assert.True(string.IsNullOrEmpty(sm.ErrorMessage));
            CollectionAssert.AreEquivalent(mock.tokens.Keys.ToArray(), sm.SavedUsers.Select(x => x.Login).ToArray());
        }
        public void ReturnToStartFromNewLogin()
        {
            var mock = new MockLoginModel();
            var sm   = new StartViewModel(mock);

            sm.SwitchedToThis();
            var newToken = new TokenKey(Utils.OtherUser.Item1, "localserver");

            sm.NewLoginButton_Click.Execute();
            mock.tokens[newToken] = Utils.OtherUser.Item1;
            sm.SwitchedToThis();

            Assert.True(sm.NewLoginButton_Click.CanExecute());
            Assert.Null(sm.SelectedUser);
            Assert.True(sm.LoginAllowed);
            Assert.True(string.IsNullOrEmpty(sm.ErrorMessage));
            CollectionAssert.AreEquivalent(mock.tokens.Keys.ToArray(), sm.SavedUsers.Select(x => x.Login).ToArray());
        }
Example #12
0
        public void InvalidPasswordLogin()
        {
            var mock = new MockLoginModel();
            var lvm  = new LoginViewModel(mock);

            lvm.SwitchedToThis();
            lvm.ServerUrl = Utils.ValidServer;
            lvm.Server_Connect.Execute();
            var pass = new PasswordBox();

            lvm.Username  = Utils.OtherUser.Item1;
            pass.Password = Utils.WrongPassword;
            bool login = false;

            lvm.ViewChanged += _ => login = true;

            lvm.LoginButton_Click.Execute(pass);
            Assert.False(login);
            Assert.NotNull(lvm.ErrorMessage);
        }
Example #13
0
        public void ValidLogin()
        {
            var mock = new MockLoginModel();
            var lvm  = new LoginViewModel(mock);

            lvm.SwitchedToThis();
            lvm.ServerUrl = Utils.ValidServer;
            lvm.Server_Connect.Execute();
            var pass = new PasswordBox();

            lvm.Username  = Utils.OtherUser.Item1;
            pass.Password = Utils.OtherUser.Item2;
            bool login = false;

            lvm.ViewChanged += (id) => { login = id == ViewModelID.User; };

            lvm.LoginButton_Click.Execute(pass);
            Assert.True(login);
            Assert.True(string.IsNullOrEmpty(lvm.ErrorMessage));
        }
Example #14
0
        public void SwitchBack()
        {
            var mock = new MockLoginModel();
            var lvm  = new LoginViewModel(mock);

            lvm.SwitchedToThis();
            lvm.ServerUrl = Utils.ValidServer;
            lvm.Server_Connect.Execute();
            var pass = new PasswordBox();

            lvm.Username  = Utils.OtherUser.Item1;
            pass.Password = Utils.OtherUser.Item2;
            lvm.LoginButton_Click.Execute(pass);

            lvm.SwitchedToThis();
            Assert.AreEqual(ServerState.Connect, lvm.ServerSet);
            Assert.False(lvm.LoginButton_Click.CanExecute(null));
            Assert.AreEqual("localserver", lvm.ServerUrl);
            Assert.True(lvm.Server_Connect.CanExecute());
            Assert.True(string.IsNullOrEmpty(lvm.Username));
            Assert.False(lvm.SaveToken);
        }