public void Store(Department department)
        {
            if (department.DepartmentId == 0)
            {
                Department newDepartment = new Department();

                newDepartment.DepartmentId = department.DepartmentId;
                newDepartment.Address = department.Address;
                newDepartment.City = department.City;
                newDepartment.Description = department.Description;
                newDepartment.IsActive = department.IsActive;
                newDepartment.IsDeleted = department.IsDeleted;
                newDepartment.Name = department.Name;
                newDepartment.PostalCode = department.PostalCode;
                newDepartment.State = department.State;

                objDepartmentDataSet.Add(newDepartment);
            }
            else
            {
                for (int i = 0; i < objDepartmentDataSet.Count(); i++)
                {
                    if (objDepartmentDataSet[i].DepartmentId == department.DepartmentId)
                    {
                        objDepartmentDataSet[i] = department;
                        break;
                    }
                }
            }
        }
        public ActionResult Create(Department department)
        {
            if (department == null)
            {
                return HttpNotFound();
            }

            if (ModelState.IsValid)
            {
                objRepository.Store(department);
                return RedirectToAction("Index");
            }

            return View(department);
        }
 public void Store(Department department)
 {
     if (department.DepartmentId == 0)
     {
         objDepartmentDataSet.Add(department);
     }
     else
     {
         for (int i = 0; i < objDepartmentDataSet.Count(); i++)
         {
             if (objDepartmentDataSet[i].DepartmentId == department.DepartmentId)
             {
                 objDepartmentDataSet[i] = department;
                 break;
             }
         }
     }
 }
        public void DepartmentController_Create_Post_ModelStateInvalid()
        {
            //arrange
            var repositoryMock = new Mock<IDepartmentRepository>();
            var department = new Department { DepartmentId = 7, Name = "CleanUp", Description = "This place is a mess", Address = "4445 East Lansing Road", City = "Salt Lake City", State = "UT", PostalCode = "29854", IsActive = true, IsDeleted = false };

            repositoryMock.Setup(x => x.Store(department));
            DepartmentController objController = new DepartmentController(repositoryMock.Object);

            // you add this value on ModelState to force the error
            objController.ModelState.AddModelError("", "mock error message");

            //act
            var result = objController.Create(department);

            //assert
            repositoryMock.Verify(x => x.Store(department), Times.Never());
            Assert.IsInstanceOfType(result, typeof(ViewResult));
            Assert.IsInstanceOfType(((ViewResult)result).Model, typeof(Department));

            result = null;
        }
        public void DepartmentController_Create_Post_Successfull()
        {
            //arrange
            var repositoryMock = new Mock<IDepartmentRepository>();
            var department = new Department { DepartmentId = 7, Name = "CleanUp", Description = "This place is a mess", Address = "4445 East Lansing Road", City = "Salt Lake City", State = "UT", PostalCode = "29854", IsActive = true, IsDeleted = false };

            repositoryMock.Setup(x => x.Store(department));
            DepartmentController objController = new DepartmentController(repositoryMock.Object);

            //act
            var result = objController.Create(department);

            //assert
            repositoryMock.Verify(x => x.Store(department), Times.Once());
            Assert.IsInstanceOfType(result, typeof(RedirectToRouteResult));

            result = null;
        }
        public void DepartmentController_Details_Successfull()
        {
            //arrange
            var repositoryMock = new Mock<IDepartmentRepository>();
            var data = new Department { Address = "131 West Ave", City = "Boston", DepartmentId = 1, Description = "Description of Department", IsActive = true, IsDeleted = false, Name = "Media Department", PostalCode = "49655", State = "MA" };

            repositoryMock.Setup(x => x.Find(1)).Returns(data);
            DepartmentController objController = new DepartmentController(repositoryMock.Object);

            //act
            var result = objController.Details(1);
            ViewResult _viewresult = (ViewResult)result;

            //assert
            repositoryMock.Verify(x => x.Find(1), Times.Once());
            Assert.IsInstanceOfType(((ViewResult)result).Model, typeof(Department));
            Assert.AreEqual(_viewresult.Model, data);
        }
        public void DepartmentController_Details_ID_LessThanOne()
        {
            //arrange
            var repositoryMock = new Mock<IDepartmentRepository>();
            var data = new Department { Address = "131 West Ave", City = "Boston", DepartmentId = 1, Description = "Description of Department", IsActive = true, IsDeleted = false, Name = "Media Department", PostalCode = "49655", State = "MA" };

            repositoryMock.Setup(x => x.Find(0)).Returns(data);
            DepartmentController objController = new DepartmentController(repositoryMock.Object);

            //act
            var result = objController.Details(0);

            //assert
            repositoryMock.Verify(x => x.Find(0), Times.Never());
            Assert.AreEqual(((ViewResult)result).ViewData["Message"], "Missing id value");
        }
 public void Store(Department department)
 {
     this.IsStoreCalled = true;
 }