Exemplo n.º 1
0
        public void ValidEmailLogin_LenghtUnder_ShouldReturnErrorList()
        {
            // Arrange
            string testString = new String('a', 2);

            // Act
            var errorList = DefaultValidator.ValidEmailLogin(testString);

            // Assert
            Assert.IsNotNull(errorList);
            Assert.IsNotEmpty(errorList);
        }
Exemplo n.º 2
0
        public void ValidEmailLogin_InvalidValues_ShouldReturnErrorList(string validateString)
        {
            // Arrange
            string testString = validateString;

            // Act
            var errorList = DefaultValidator.ValidEmailLogin(validateString);

            // Assert
            Assert.IsNotNull(errorList);
            Assert.IsNotEmpty(errorList);
        }
Exemplo n.º 3
0
        public void ValidEmailLogin_ExistingUser_ShouldReturnEmptyErrorList()
        {
            // Arrange
            Random random = new Random();
            IUser  user   = new User()
            {
                Email    = "testemail" + random.Next(0, 10000),
                Username = "******" + random.Next(0, 10000),
                Password = "******" + random.Next(0, 10000)
            };

            // Act
            user = userService.CreateNewUser(user);

            var errorList = DefaultValidator.ValidEmailLogin(user.Email);

            // Cleanup
            userService.DeleteUser(user.Id);

            // Assert
            Assert.IsNotNull(errorList);
            Assert.IsEmpty(errorList);
        }
        /// <summary>
        /// Login button click event.
        /// </summary>
        public async void LoginButtonClicked()
        {
            using (UserDialogs.Instance.Loading("Validating..."))
            {
                string[] emailErrors    = DefaultValidator.ValidEmailLogin(this.Email);
                string[] passwordErrors = DefaultValidator.ValidPassword(this.Password);

                if (emailErrors.Length == 0 && passwordErrors.Length == 0)
                {
                    using (UserDialogs.Instance.Loading("Logging in..."))
                    {
                        try
                        {
                            // Login values are valid
                            // Proceed to login validation
                            bool loginSucceed = await this._userService.LoginUserAsync(this.Email, this.Password);

                            if (loginSucceed)
                            {
                                // User login was successfull
                                // Save user data to local DB, for login after app shutdown.
                                await App.LocalUserDatabase.SaveLocalUserDataAsync(new Models.UserLocal(Email, Password));

                                // Redirect to main page
                                this.RedirectToMainPage();
                            }
                            else
                            {
                                // User login was not successfull
                                // Empty input fields and display error

                                this.Email    = "";
                                this.Password = "";

                                ShowAlert("Wrong email or password.");
                            }
                        }
                        catch
                        {
                            ShowAlert("An unkown error occured. Please try again.");
                        }
                    }
                }
                else
                {
                    // Login values are not valid
                    // Display error message
                    string errorMessage = "An error occured during login" + System.Environment.NewLine;

                    foreach (var error in emailErrors)
                    {
                        errorMessage += System.Environment.NewLine + error;
                    }
                    foreach (var error in passwordErrors)
                    {
                        errorMessage += System.Environment.NewLine + error;
                    }

                    ShowAlert(errorMessage);
                }
            }
        }