public void AddEmployeeTest()
        {
            var controller = new ManageStaffController();
            var result     = (ViewResult)controller.AddEmployee();

            Assert.IsInstanceOfType(result, typeof(ViewResult));
            Assert.AreEqual(null, result.ViewName);
        }
        public void DeleteEmployeeTestExceptionThrown()
        {
            var employee = new Employee
            {
                Username = "",
                Password = ""
            };
            var employeeDal = new MockEmployeeDal()
            {
                AuthenticateValueToReturn = 1,
                ThrowError = true
            };
            var controller = new ManageStaffController(employeeDal);
            var result     = (RedirectToActionResult)controller.DeleteEmployee("test");

            Assert.IsInstanceOfType(result, typeof(RedirectToActionResult));
            Assert.AreEqual("ManageEmployees", result.ActionName);
        }
        public void AddEmployeeTestValid()
        {
            var employee = new Employee
            {
                Username = "",
                Password = ""
            };
            var employeeDal = new MockEmployeeDal()
            {
                AuthenticateValueToReturn = 1,
                ThrowError = false
            };
            var controller = new ManageStaffController(employeeDal);
            var result     = (ViewResult)controller.AddEmployee(employee);

            Assert.IsInstanceOfType(result, typeof(ViewResult));
            Assert.AreEqual(null, result.ViewName);
            Assert.AreEqual("Employee added!", result.ViewData["SuccessMessage"]);
        }
        public void EmployeeHistoryTestExceptionThrown()
        {
            var employee = new Employee
            {
                Username = "",
                Password = ""
            };
            var employeeDal = new MockEmployeeDal()
            {
                AuthenticateValueToReturn = 1,
                ThrowError = true
            };
            var controller = new ManageStaffController(employeeDal);
            var result     = (ViewResult)controller.EmployeeHistory(1);

            Assert.IsInstanceOfType(result, typeof(ViewResult));
            Assert.AreEqual("EmployeeHistory", result.ViewName);
            Assert.AreEqual("Uh-oh something went wrong", result.ViewData["ErrorMessage"]);
        }
        public void AddEmployeeTestWithException()
        {
            var employee = new Employee
            {
                Username = "",
                Password = ""
            };
            var employeeDal = new MockEmployeeDal()
            {
                AuthenticateValueToReturn = 1,
                ThrowError = true
            };
            var controller = new ManageStaffController(employeeDal);
            var result     = (ViewResult)controller.AddEmployee(employee);

            Assert.IsInstanceOfType(result, typeof(ViewResult));
            Assert.AreEqual(null, result.ViewName);
            Assert.AreEqual("Uh-oh...something went wrong", result.ViewData["ErrorMessage"]);
            Assert.AreEqual(0, controller.ModelState.Count);
        }
        public void AddEmployeeTestInValid()
        {
            var employee = new Employee
            {
                Username = "",
                Password = ""
            };
            var employeeDal = new MockEmployeeDal()
            {
                AuthenticateValueToReturn = 1,
                ThrowError = false
            };
            var controller = new ManageStaffController(employeeDal);

            controller.ModelState.AddModelError("test", "test");
            var result = (ViewResult)controller.AddEmployee(employee);

            Assert.IsInstanceOfType(result, typeof(ViewResult));
            Assert.AreEqual(null, result.ViewName);
            Assert.AreEqual(employee, (Employee)result.Model);
        }
        public void EmployeeHistoryTestValid()
        {
            var employee = new Employee
            {
                Username = "",
                Password = ""
            };
            var employeeDal = new MockEmployeeDal()
            {
                AuthenticateValueToReturn = 1,
                ThrowError = false
            };
            var controller = new ManageStaffController(employeeDal);
            var result     = (ViewResult)controller.EmployeeHistory(1);

            Assert.IsInstanceOfType(result, typeof(ViewResult));
            Assert.AreEqual("EmployeeHistory", result.ViewName);
            var items = (List <RentalItem>)result.Model;

            Assert.AreEqual(1, items.Count);
        }
        public void ManageEmployeesTestValid()
        {
            var employee = new Employee
            {
                Username = "",
                Password = ""
            };
            var employeeDal = new MockEmployeeDal()
            {
                AuthenticateValueToReturn = 1,
                ThrowError = false
            };
            var controller = new ManageStaffController(employeeDal);
            var result     = (ViewResult)controller.ManageEmployees();

            Assert.IsInstanceOfType(result, typeof(ViewResult));
            Assert.AreEqual(null, result.ViewName);
            var employees = (List <Employee>)result.Model;

            Assert.AreEqual(0, employees.Count);
        }
        public void ControllerDefaultConstructorTest()
        {
            var controller = new ManageStaffController();

            Assert.IsInstanceOfType(controller, typeof(ManageStaffController));
        }