public void AuthenticateCustomerTest()
        {
            //Arrange
            var seedDB = new List <CustomerModelDAL>();
            var seed   = new CustomerModelDAL
            {
                Email     = "*****@*****.**",
                Password  = PasswordHelperTool.PasswordSHA256Hasher("password"),
                FirstName = "First",
                LastName  = "Last"
            };

            seedDB.Add(seed);
            var controller  = new CustomerUsersLogic(new CustomerDALStub(seedDB));
            var rightInput1 = "*****@*****.**";
            var rightInput2 = "password";
            var wrongInput1 = "";
            var wrongInput2 = "";

            //Act
            var result1 = controller.AuthenticateCustomer(rightInput1, rightInput2);
            var result2 = controller.AuthenticateCustomer(wrongInput1, wrongInput2);

            //Assert
            Assert.IsTrue(result1 && !result2);
        }
        public void GetAll_WhenOneExistingUser_ExpectedResultAreEqual()
        {
            //Arrange
            var user1 = new CustomerModelDAL
            {
                Email        = "*****@*****.**",
                Password     = PasswordHelperTool.PasswordSHA256Hasher("newbypassword"),
                FirstName    = "Someones-Fistname",
                LastName     = "Someones-Lastname",
                MovieRentals = new List <MovieOrderModelDAL>()
            };
            var initialCustomers = new List <CustomerModelDAL> {
                user1
            };
            var expectedResult = new List <CustomerModelDAL>   {
                user1
            };

            var DALStub = new CustomerDALStub(initialCustomers);

            //Act
            var result = DALStub.GetAll();

            //Assert
            Assert.IsTrue(expectedResult.Count == result.Count);
            for (int i = 0; i < result.Count; i++)
            {
                Assert.AreEqual(expectedResult[i].Email, result[i].Email);
            }
        }
 public bool Create(CustomerModelDAL customer)
 {
     try
     {
         using (var DBConnection = new DB())
         {
             DBConnection.Customers.Add(customer);
             DBConnection.SaveChanges();
             Loggings.GeneralLog("Created Customer with Email: " + customer.Email);
             return(true);
         }
     }
     catch (Exception ex)
     {
         var logg = new LoggTypeDAL()
         {
             EventType    = "Exception",
             Created_By   = "System",
             LogMessage   = ex.ToString(),
             Created_date = DateTime.Now
         };
         Loggings.LogToBoth(logg);
         return(false);
     }
 }
        public void Update_WhenUserNotExists_ExpectedResultFalse()
        {
            //Arrange
            var user1 = new CustomerModelDAL
            {
                Email        = "*****@*****.**",
                Password     = PasswordHelperTool.PasswordSHA256Hasher("newbypassword"),
                FirstName    = "Someones-Fistname",
                LastName     = "Someones-Lastname",
                MovieRentals = new List <MovieOrderModelDAL>()
            };
            var initialCustomers = new List <CustomerModelDAL> {
                user1
            };

            var DALStub = new CustomerDALStub(initialCustomers);
            var input   = new CustomerModelDAL
            {
                Email        = "*****@*****.**",
                Password     = PasswordHelperTool.PasswordSHA256Hasher("newandbetterpassword"),
                FirstName    = "Someones-Fistname",
                LastName     = "New-Lastname",
                MovieRentals = new List <MovieOrderModelDAL>()
            };

            //Act
            bool test = DALStub.Update(input);

            //Assert
            Assert.IsFalse(test);
        }
        public void Delete_WhenOneUserExists_ExpectedResultCount0()
        {
            //Arrange
            var user1 = new CustomerModelDAL
            {
                Email        = "*****@*****.**",
                Password     = PasswordHelperTool.PasswordSHA256Hasher("newbypassword"),
                FirstName    = "Someones-Fistname",
                LastName     = "Someones-Lastname",
                MovieRentals = new List <MovieOrderModelDAL>()
            };
            var initialCustomers = new List <CustomerModelDAL> {
                user1
            };

            var DALStub = new CustomerDALStub(initialCustomers);

            //Act
            bool test1  = DALStub.Delete(user1.Email);
            var  result = DALStub.GetAll();

            //Assert
            Assert.IsTrue(test1);
            Assert.IsTrue(result.Count == 0);
        }
        public void Create_WhenOtherUsersExisits_ExpectedResultTrueAreEqual()
        {
            //Arrange
            var user1 = new CustomerModelDAL
            {
                Email        = "*****@*****.**",
                Password     = PasswordHelperTool.PasswordSHA256Hasher("newbypassword1"),
                FirstName    = "number-one",
                LastName     = "one",
                MovieRentals = new List <MovieOrderModelDAL>()
            };
            var user2 = new CustomerModelDAL
            {
                Email        = "*****@*****.**",
                Password     = PasswordHelperTool.PasswordSHA256Hasher("newbypassword2"),
                FirstName    = "number-two",
                LastName     = "two",
                MovieRentals = new List <MovieOrderModelDAL>()
            };
            var user3 = new CustomerModelDAL
            {
                Email        = "*****@*****.**",
                Password     = PasswordHelperTool.PasswordSHA256Hasher("newbypassword3"),
                FirstName    = "number-three",
                LastName     = "three",
                MovieRentals = new List <MovieOrderModelDAL>()
            };
            var initialCustomers = new List <CustomerModelDAL>
            {
                user1, user2, user3
            };

            var DALStub = new CustomerDALStub(initialCustomers);
            var input   = new CustomerModelDAL
            {
                Email        = "*****@*****.**",
                Password     = PasswordHelperTool.PasswordSHA256Hasher("newbypassword"),
                FirstName    = "Someones-Fistname",
                LastName     = "Someones-Lastname",
                MovieRentals = new List <MovieOrderModelDAL>()
            };
            var expectedResult = new List <CustomerModelDAL>
            {
                user1, user2, user3, input
            };

            //Act
            bool test1  = DALStub.Create(input);
            var  result = DALStub.GetAll();

            //Assert
            Assert.IsTrue(test1);
            Assert.IsTrue(expectedResult.Count == result.Count);
            for (int i = 0; i < result.Count; i++)
            {
                Assert.AreEqual(expectedResult[i].Email, result[i].Email);
            }
        }
Exemple #7
0
        public bool Create(CustomerModelDAL customer)
        {
            if (customer.Email == "")
            {
                return(false);
            }

            _CustomerDB.Add(customer);
            return(true);
        }
Exemple #8
0
        public bool Update(CustomerModelDAL customer)
        {
            var customerFound = _CustomerDB.FirstOrDefault(b => b.Email.Equals(customer.Email));

            if (customerFound == null)
            {
                return(false);
            }

            _CustomerDB.Remove(customerFound);
            _CustomerDB.Add(customer);
            return(true);
        }
        public void GetAll_WhenMultipleExistingUsers_ExpectedResultAreEqual()
        {
            //Arrange
            var user1 = new CustomerModelDAL
            {
                Email        = "*****@*****.**",
                Password     = PasswordHelperTool.PasswordSHA256Hasher("newbypassword1"),
                FirstName    = "number-one",
                LastName     = "one",
                MovieRentals = new List <MovieOrderModelDAL>()
            };
            var user2 = new CustomerModelDAL
            {
                Email        = "*****@*****.**",
                Password     = PasswordHelperTool.PasswordSHA256Hasher("newbypassword2"),
                FirstName    = "number-two",
                LastName     = "two",
                MovieRentals = new List <MovieOrderModelDAL>()
            };
            var user3 = new CustomerModelDAL
            {
                Email        = "*****@*****.**",
                Password     = PasswordHelperTool.PasswordSHA256Hasher("newbypassword3"),
                FirstName    = "number-three",
                LastName     = "three",
                MovieRentals = new List <MovieOrderModelDAL>()
            };
            var initialCustomers = new List <CustomerModelDAL> {
                user1, user2, user3
            };
            var expectedResult = new List <CustomerModelDAL>   {
                user1, user2, user3
            };

            var DALStub = new CustomerDALStub(initialCustomers);

            //Act
            var result = DALStub.GetAll();

            //Assert
            Assert.IsTrue(expectedResult.Count == result.Count);
            for (int i = 0; i < result.Count; i++)
            {
                Assert.AreEqual(expectedResult[i].Email, result[i].Email);
            }
        }
Exemple #10
0
        //A special method used to seed movieorders
        private List <MovieOrderModelDAL> _SeedOrders(List <MovieModelDAL> movies, CustomerModelDAL user)
        {
            var orderList = new List <MovieOrderModelDAL>();

            foreach (var movie in movies)
            {
                orderList.Add(new MovieOrderModelDAL
                {
                    ID                   = _idnr,
                    RentedMovieId        = movie.ID,
                    RentalStartTimeStamp = DateTime.Now.ToString(),
                    Email                = user.Email
                });
                _idnr++;
            }

            return(orderList);
        }
        //Summary: Create a customer
        public bool Create(CustomerModelBLL customerModelBLL)
        {
            var customerModelDAL = new CustomerModelDAL()
            {
                Email     = customerModelBLL.Email,
                Password  = PasswordHelperTool.PasswordSHA256Hasher(customerModelBLL.Password),
                FirstName = customerModelBLL.FirstName,
                LastName  = customerModelBLL.LastName
            };

            if (customerModelBLL.MovieRentals != null)
            {
                customerModelDAL.MovieRentals = ModelMapper.MapFromMovieOrderModelBLLToMovieOrderModelDAL(customerModelBLL.MovieRentals);
            }

            var result = CustomerDAL.Create(customerModelDAL);

            return(result);
        }
        public void Create_WhenEmptyEmail_ExpectedResultFalse()
        {
            //Arrange
            var DALStub = new CustomerDALStub();
            var input   = new CustomerModelDAL
            {
                Email        = "",
                Password     = PasswordHelperTool.PasswordSHA256Hasher("newbypassword"),
                FirstName    = "Someones-Fistname",
                LastName     = "Someones-Lastname",
                MovieRentals = new List <MovieOrderModelDAL>()
            };

            //Act
            bool test = DALStub.Create(input);

            //Assert
            Assert.IsFalse(test);
        }
        public void Update_WhenUpdatingMovieOrders_ExpectedResultTrueAreEqual()
        {
            //Arrange
            var user1 = new CustomerModelDAL
            {
                Email        = "*****@*****.**",
                Password     = PasswordHelperTool.PasswordSHA256Hasher("newbypassword"),
                FirstName    = "Someones-Fistname",
                LastName     = "Someones-Lastname",
                MovieRentals = new List <MovieOrderModelDAL>()
            };
            var initialCustomers = new List <CustomerModelDAL> {
                user1
            };

            var DALStub       = new CustomerDALStub(initialCustomers);
            var newMovieOrder = new MovieOrderModelDAL
            {
                RentedMovieId        = 1,
                RentalStartTimeStamp = DateTime.Now.ToString(),
                Email = user1.Email
            };
            var newMovieRenatlList = new List <MovieOrderModelDAL> {
                newMovieOrder
            };

            var input = new CustomerModelDAL
            {
                Email        = "*****@*****.**",
                Password     = PasswordHelperTool.PasswordSHA256Hasher("newbypassword"),
                FirstName    = "Someones-Fistname",
                LastName     = "Someones-Lastname",
                MovieRentals = newMovieRenatlList
            };

            //Act
            bool test1  = DALStub.Update(input);
            var  result = DALStub.Get(user1.Email);

            //Assert
            Assert.IsTrue(test1);
            Assert.AreEqual(input, result);
        }
        public bool Update(CustomerModelDAL customer)
        {
            try
            {
                using (var DBConnection = new DB())
                {
                    var customerFound = DBConnection.Customers.Find(customer.Email);

                    if (customerFound == null)
                    {
                        Loggings.GeneralLog("Could not find Customer with Email: " + customer.Email);
                        return(false);
                    }

                    customerFound.Email     = customer.Email;
                    customerFound.FirstName = customer.FirstName;
                    customerFound.LastName  = customer.LastName;


                    if (customerFound.Password != null)
                    {
                        customerFound.Password = customer.Password;
                    }
                    DBConnection.SaveChanges();
                    Loggings.GeneralLog("Updated Customer with Email: " + customer.Email);
                    return(true);
                }
            }
            catch (Exception ex)
            {
                var logg = new LoggTypeDAL()
                {
                    EventType    = "Exception",
                    Created_By   = "System",
                    LogMessage   = ex.ToString(),
                    Created_date = DateTime.Now
                };
                Loggings.LogToBoth(logg);
                return(false);
            }
        }
        public void GetAllTest()
        {
            //Arrange
            var seedDB = new List <CustomerModelDAL>();
            var seed   = new CustomerModelDAL
            {
                Email     = "*****@*****.**",
                Password  = PasswordHelperTool.PasswordSHA256Hasher("password"),
                FirstName = "First",
                LastName  = "Last"
            };

            seedDB.Add(seed);
            var controller = new CustomerUsersLogic(new CustomerDALStub(seedDB));

            //Act
            var result = controller.GetAll();

            //Assert
            Assert.IsNotNull(result); //Double check
        }
        public void Create_WhenNoExistingUsers_ExpectedResultTrueAreEqual()
        {
            //Arrange
            var DALStub = new CustomerDALStub();
            var input   = new CustomerModelDAL
            {
                Email        = "*****@*****.**",
                Password     = PasswordHelperTool.PasswordSHA256Hasher("newbypassword"),
                FirstName    = "Someones-Fistname",
                LastName     = "Someones-Lastname",
                MovieRentals = new List <MovieOrderModelDAL>()
            };

            //Act
            bool test1  = DALStub.Create(input);
            var  result = DALStub.Get(input.Email);

            //Assert
            Assert.IsTrue(test1);
            Assert.AreEqual(input, result);
        }
        public void Get_WhenMultipleUsersExist_ExpectedResultAreEqual()
        {
            //Arrange
            var user1 = new CustomerModelDAL
            {
                Email        = "*****@*****.**",
                Password     = PasswordHelperTool.PasswordSHA256Hasher("newbypassword1"),
                FirstName    = "number-one",
                LastName     = "one",
                MovieRentals = new List <MovieOrderModelDAL>()
            };
            var user2 = new CustomerModelDAL
            {
                Email        = "*****@*****.**",
                Password     = PasswordHelperTool.PasswordSHA256Hasher("newbypassword2"),
                FirstName    = "number-two",
                LastName     = "two",
                MovieRentals = new List <MovieOrderModelDAL>()
            };
            var user3 = new CustomerModelDAL
            {
                Email        = "*****@*****.**",
                Password     = PasswordHelperTool.PasswordSHA256Hasher("newbypassword3"),
                FirstName    = "number-three",
                LastName     = "three",
                MovieRentals = new List <MovieOrderModelDAL>()
            };
            var initialCustomers = new List <CustomerModelDAL> {
                user1, user2, user3
            };
            var expectedResult = user2;

            var DALStub = new CustomerDALStub(initialCustomers);

            //Act
            var result = DALStub.Get(user2.Email);

            //Assert
            Assert.AreEqual(expectedResult, result);
        }
        public void UpdateTest()
        {
            var seedDB = new List <CustomerModelDAL>();
            var seed   = new CustomerModelDAL
            {
                Email     = "*****@*****.**",
                Password  = PasswordHelperTool.PasswordSHA256Hasher("password"),
                FirstName = "First",
                LastName  = "Last"
            };

            seedDB.Add(seed);
            //Arrange
            var controller = new CustomerUsersLogic(new CustomerDALStub(seedDB));
            var rightInput = new CustomerModelBLL
            {
                Email        = "*****@*****.**",
                Password     = "******",
                FirstName    = "First",
                LastName     = "Last",
                MovieRentals = null
            };
            var wrongInput = new CustomerModelBLL
            {
                Email        = "",
                Password     = "",
                FirstName    = "",
                LastName     = "",
                MovieRentals = null
            };

            //Act
            var result1 = controller.Create(rightInput);
            var result2 = controller.Create(wrongInput);

            //Assert
            Assert.IsTrue(result1 && !result2);
        }
        public void Get_WhenTargetNotExists_ExpectedResultNull()
        {
            //Arrange
            var user1 = new CustomerModelDAL
            {
                Email        = "*****@*****.**",
                Password     = PasswordHelperTool.PasswordSHA256Hasher("newbypassword"),
                FirstName    = "Someones-Fistname",
                LastName     = "Someones-Lastname",
                MovieRentals = new List <MovieOrderModelDAL>()
            };
            var initialCustomers = new List <CustomerModelDAL> {
                user1
            };

            var DALStub = new CustomerDALStub(initialCustomers);

            //Arrange
            var result = DALStub.Get("*****@*****.**");

            //Assert
            Assert.IsNull(result);
        }
        public void Get_WhenOneUserExists_ExpectedResultAreEqual()
        {
            //Arrange
            var user1 = new CustomerModelDAL
            {
                Email        = "*****@*****.**",
                Password     = PasswordHelperTool.PasswordSHA256Hasher("newbypassword"),
                FirstName    = "Someones-Fistname",
                LastName     = "Someones-Lastname",
                MovieRentals = new List <MovieOrderModelDAL>()
            };
            var initialCustomers = new List <CustomerModelDAL> {
                user1
            };
            var expectedResult = user1;

            var DALStub = new CustomerDALStub(initialCustomers);

            //Arrange
            var result = DALStub.Get(user1.Email);

            //Assert
            Assert.AreEqual(expectedResult, result);
        }