public void CreateDepartment(string dName, string address)
        {
            Department           dep = new Department(dName, address);
            DepartmentController dc  = new DepartmentController();

            dc.Create(dep);
        }
示例#2
0
        public void GenerateTest()
        {
            int           number      = 10;
            StringBuilder nameBuilder = new StringBuilder();

            nameBuilder.Append("Department");
            var controller = new DepartmentController();

            for (int i = 1; i <= number; i++)
            {
                var createResult = controller.Create(new Department
                {
                    Name = nameBuilder.Append(i).ToString()
                });

                var dep = controller.Get(((Department)createResult.Value).Id);
                Assert.NotNull(dep.Value);
                Assert.Equal(nameBuilder.ToString(), dep.Value.Name);
            }

            var departments = controller.Get().ToArray();

            Assert.True(departments.Length == number);

            foreach (var department in departments)
            {
                controller.Delete(department.Id);
            }

            departments = controller.Get().ToArray();
            Assert.Empty(departments);
        }
示例#3
0
        public void DepartmentCreateTest()
        {
            var dc = new DepartmentController();
            var r  = dc.Create() as ViewResult;

            Assert.IsNotNull(r);
        }
示例#4
0
        public async Task Create_Post_ModelIsValid_RedirectToIndex()
        {
            Mock <DepartmentService> mock       = new Mock <DepartmentService>();
            DepartmentController     controller = GetNewDepartmentController(null, mock.Object, null);

            RedirectToRouteResult result = (await controller.Create(null)) as RedirectToRouteResult;

            Assert.AreEqual("Index", result.RouteValues["action"]);
        }
示例#5
0
        public async Task Create_Get_AsksForCreateView()
        {
            Mock <EmployeeService>     emock      = new Mock <EmployeeService>();
            Mock <OrganizationService> omock      = new Mock <OrganizationService>();
            DepartmentController       controller = GetNewDepartmentController(emock.Object, null, omock.Object);

            ViewResult result = (await controller.Create()) as ViewResult;

            Assert.AreEqual("Create", result.ViewName);
        }
示例#6
0
        public void Create_NullObject_ShouldReturnBadRequest()
        {
            mock.Setup(repo => repo.GetAllItems(null)).Returns(listItems.AsQueryable());
            mock.Setup(repo => repo.Create(null));
            var controller = new DepartmentController(mock.Object);

            var result = controller.Create(null);

            Assert.IsType <BadRequestResult>(result.Result);
        }
示例#7
0
        public void GetCreateShouldReturnView()
        {
            //Arrange
            var controller = new DepartmentController(null);

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

            // Assert
            result.Should().BeOfType <ViewResult>();
        }
        public void CreateDepartment_ReturnView()
        {
            //Arrange
            DepartmentController target = new DepartmentController(mock.Object);
            //Act
            ViewResult result = (ViewResult)target.Create();

            //Assert
            Assert.IsInstanceOf(typeof(ViewResult), result);
            Assert.AreEqual("", result.ViewName);
        }
示例#9
0
        public void TestDepartmentCreateRedirect()
        {
            var obj = new DepartmentController();

            RedirectToRouteResult result = obj.Create(new Department()
            {
                DeptNo = 190, Dname = "D1", Location = "L1"
            }) as RedirectToRouteResult;


            Assert.That(result.RouteValues["action"], Is.EqualTo("Index"));
        }
示例#10
0
        public void TestDepartmentCreateErrorView()
        {
            var obj = new DepartmentController();

            ViewResult result = obj.Create(new Department()
            {
                DeptNo   = 2,
                Dname    = "D1",
                Location = "L1"
            }) as ViewResult;

            Assert.That(result.ViewName, Is.EqualTo("Error"));
        }
示例#11
0
        public async Task Create_Post_ModelIsInvalid_AsksForCreateView()
        {
            Mock <EmployeeService>     emock = new Mock <EmployeeService>();
            Mock <DepartmentService>   dmock = new Mock <DepartmentService>();
            Mock <OrganizationService> omock = new Mock <OrganizationService>();

            dmock.Setup(m => m.CreateAsync(It.IsAny <DepartmentDTO>())).Throws(new ValidationException("", ""));
            DepartmentController controller = GetNewDepartmentController(emock.Object, dmock.Object, omock.Object);

            ViewResult result = (await controller.Create(null)) as ViewResult;

            Assert.AreEqual("Create", result.ViewName);
        }
        public void DepartmentController_Create_Get_Successfull()
        {
            //arrange
            objMockRepository = new Mocks.MockDepartmentRepository();
            objController     = new DepartmentController(objMockRepository);

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

            //assert
            Assert.IsInstanceOfType(result, typeof(ViewResult));

            result = null;
        }
        public void DepartmentController_Create_Get_Successfull()
        {
            //arrange
            var repositoryMock = new Mock <IDepartmentRepository>();

            DepartmentController objController = new DepartmentController(repositoryMock.Object);

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

            //assert
            Assert.IsInstanceOfType(result, typeof(ViewResult));

            result = null;
        }
示例#14
0
        public void Create_ValidObject_ShouldReturnValidObjectAndCreatedAtObjectResult()
        {
            var department3 = new Department {
                Id = 3, Name = "departmentName3"
            };

            mock.Setup(repo => repo.GetAllItems(null)).Returns(listItems.AsQueryable());
            mock.Setup(repo => repo.Create(department3));
            var controller = new DepartmentController(mock.Object);

            var result = controller.Create(department3);

            Assert.IsAssignableFrom <ActionResult <Department> >(result);
            Assert.IsType <CreatedAtActionResult>(result.Result);
        }
        public void DepartmentController_Create_Post_NullDepartment()
        {
            //arrange
            objMockRepository = new Mocks.MockDepartmentRepository();
            objController     = new DepartmentController(objMockRepository);
            Department department = null;

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

            //assert
            Assert.IsFalse(objMockRepository.IsStoreCalled);
            Assert.IsInstanceOfType(result, typeof(System.Web.Mvc.HttpNotFoundResult));

            result = null;
        }
        public void TestDepartmentCreateErrorView()
        {
            var fakeObj = new Mock <IDepartmentAccess>();

            var controller = new DepartmentController(fakeObj.Object);

            ViewResult result = controller.Create(new Department()
            {
                DeptNo   = 2,
                Dname    = "D1",
                Location = "L1"
            }) as ViewResult;


            Assert.That(result.ViewName, Is.EqualTo("Error"));
        }
示例#17
0
        public void CreatePostAction_SaveModel_Department()
        {
            // Arrange (Организация)
            var mock = new Mock <IDepartmentRepository>();

            Department department = new Department();

            department.Id = 1;

            DepartmentController controller = new DepartmentController(mock.Object);

            // Act (Действие)
            RedirectToRouteResult result = controller.Create(department) as RedirectToRouteResult;

            // Assert (Утверждение)
            mock.Verify(a => a.Create(department));
        }
        public void DepartmentController_Create_Post_Successfull()
        {
            //arrange
            objMockRepository = new Mocks.MockDepartmentRepository();
            objController     = new DepartmentController(objMockRepository);

            //act
            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
            };
            var result = objController.Create(department);

            //assert
            Assert.IsTrue(objMockRepository.IsStoreCalled);
            Assert.IsInstanceOfType(result, typeof(RedirectToRouteResult));

            result = null;
        }
        public async Task CreatePost_SavesData_ReturnsRedirectActionResult_WhenModelIsValid()
        {
            //Arrange
            var options = TestFactory.CreateDbContextOptions("DepControllerDetailsCreateValidDb");

            using var context = new AppDbContext(options);
            var controller = new DepartmentController(context);

            //Act
            var result = await controller.Create(new Department { DepartmentName = "New Department" });

            //Assert
            Assert.IsType <RedirectToActionResult>(result);

            var departments = await context.Departments.ToListAsync();

            Assert.NotEmpty(departments);
        }
        public void DepartmentController_Create_Post_NullDepartment()
        {
            //arrange
            var        repositoryMock = new Mock <IDepartmentRepository>();
            Department department     = null;

            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.Never());
            Assert.IsInstanceOfType(result, typeof(System.Web.Mvc.HttpNotFoundResult));

            result = null;
        }
        public void TestDepartmentCreateRedirect()
        {
            var fakeObj = new Mock <IDepartmentAccess>();

            var controller = new DepartmentController(fakeObj.Object);



            RedirectToRouteResult result = controller.Create(new Department()
            {
                DeptNo   = 3,
                Dname    = "D1",
                Location = "L1"
            }) as RedirectToRouteResult;


            Assert.That(result.RouteValues["action"], Is.EqualTo("Index"));
        }
示例#22
0
        public void CreatePostAction_RedirectToIndexView_Department()
        {
            // Arrange (Организация)
            string expected = "Index";

            var mock = new Mock <IDepartmentRepository>();

            Department department = new Department();

            DepartmentController controller = new DepartmentController(mock.Object);

            // Act (Действие)
            RedirectToRouteResult result = controller.Create(department) as RedirectToRouteResult;

            // Assert (Утверждение)
            Assert.IsNotNull(result);
            Assert.AreEqual(expected, result.RouteValues["action"]);
        }
示例#23
0
        public async Task PostCreateShouldReturnRedirectWithValidModel()
        {
            //Arrange
            const string nameValue        = "Name";
            const string descriptionValue = "Some description";
            const string imageURLValue    = "SomeURL";

            string modelName        = null;
            string modelDescription = null;
            string modelImageURL    = null;

            var departmentService = new Mock <IDepartmentService>();

            departmentService.Setup
                (d => d.CreateAsync(
                    It.IsAny <string>(),
                    It.IsAny <string>(),
                    It.IsAny <string>()))
            .Callback((string name,
                       string description, string imageURL) =>
            {
                modelName        = name;
                modelImageURL    = imageURL;
                modelDescription = description;
            })
            .Returns(Task.CompletedTask);

            var controller = new DepartmentController(departmentService.Object);

            // Act
            var result = await controller.Create(new DepartmentCreateServiceModel
            {
                Name        = nameValue,
                Description = descriptionValue,
                ImageURL    = imageURLValue
            });

            // Assert
            modelName.Should().Be(nameValue);
            modelDescription.Should().Be(descriptionValue);
            modelImageURL.Should().Be(imageURLValue);

            result.Should().BeOfType <RedirectToActionResult>();
        }
        public async Task Create()
        {
            var mockSet = new Mock <DbSet <Department> >();

            var mockContext = new Mock <SchoolContext>();

            mockContext.Setup(m => m.Departments).Returns(mockSet.Object);

            var controller = new DepartmentController(mockContext.Object);

            var department = new Department {
                DepartmentID = 999, Name = "Test", Budget = 1000, StartDate = DateTime.Today
            };
            await controller.Create(department);

            mockSet.Verify(m => m.Add(It.IsAny <Department>()), Times.Once());

            mockContext.Verify(m => m.SaveChangesAsync(), Times.Once());
        }
        public void AddDepertment_ValidModel_Added()
        {
            //Arrange
            Mock <IRepository> mRepository = new Mock <IRepository>();

            mRepository.Setup(d => d.Departments).Returns(new Department[] {
                new Department {
                    DepartmentID = 1, DepartmentName = "EPUA"
                }
            }.AsQueryable());
            DepartmentController target     = new DepartmentController(mRepository.Object);
            Department           department = new Department();
            //Act
            RedirectToRouteResult result = (RedirectToRouteResult)target.Create(department);

            //Assert
            mRepository.Verify(d => d.SaveDepartment(It.IsAny <Department>()), Times.Once());
            Assert.IsFalse(result.Permanent);
            Assert.AreEqual("PUView", result.RouteValues["action"]);
        }
示例#26
0
        public async Task Create_Get_SetViewBagEmployees()
        {
            Mock <EmployeeService>     emock = new Mock <EmployeeService>();
            Mock <OrganizationService> omock = new Mock <OrganizationService>();

            emock.Setup(m => m.GetAllAsync()).ReturnsAsync(new EmployeeDTO[] {
                new EmployeeDTO()
                {
                    Id = 1, LastName = "Петров", FirstName = "Петр", Patronymic = "Петрович"
                }
            });
            DepartmentController controller = GetNewDepartmentController(emock.Object, null, omock.Object);

            ViewResult result = (await controller.Create()) as ViewResult;

            SelectListItem item = (result.ViewBag.Employees as SelectList).FirstOrDefault();

            Assert.AreEqual("1", item.Value);
            Assert.AreEqual("Петров Петр Петрович", item.Text);
        }
        public void DepartmentController_Create_Post_ModelStateInvalid()
        {
            //arrange
            objMockRepository = new Mocks.MockDepartmentRepository();
            objController     = new DepartmentController(objMockRepository);
            var department = new Department();

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

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

            //assert
            Assert.IsFalse(objMockRepository.IsStoreCalled);
            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;
        }
示例#29
0
        public async Task Create_Post_ModelIsInvalid_RetrievesDepartmentFromModel()
        {
            Mock <EmployeeService>     emock = new Mock <EmployeeService>();
            Mock <DepartmentService>   dmock = new Mock <DepartmentService>();
            Mock <OrganizationService> omock = new Mock <OrganizationService>();

            dmock.Setup(m => m.CreateAsync(It.IsAny <DepartmentDTO>())).Throws(new ValidationException("", ""));
            DepartmentController controller = GetNewDepartmentController(emock.Object, dmock.Object, omock.Object);

            ViewResult result = (await controller.Create(new DepartmentViewModel {
                Id = 2,
                Code = 101,
                DepartmentName = "IT"
            })) as ViewResult;

            DepartmentViewModel model = result.ViewData.Model as DepartmentViewModel;

            Assert.AreEqual(2, model.Id);
            Assert.AreEqual(101, model.Code);
            Assert.AreEqual("IT", model.DepartmentName);
        }
示例#30
0
        public async void Create_Errors()
        {
            DepartmentControllerMockFacade mock = new DepartmentControllerMockFacade();

            var mockResponse = new Mock <CreateResponse <ApiDepartmentResponseModel> >(new FluentValidation.Results.ValidationResult());
            var mockRecord   = new ApiDepartmentResponseModel();

            mockResponse.SetupGet(x => x.Success).Returns(false);

            mock.ServiceMock.Setup(x => x.Create(It.IsAny <ApiDepartmentRequestModel>())).Returns(Task.FromResult <CreateResponse <ApiDepartmentResponseModel> >(mockResponse.Object));
            DepartmentController controller = new DepartmentController(mock.ApiSettingsMoc.Object, mock.LoggerMock.Object, mock.TransactionCoordinatorMock.Object, mock.ServiceMock.Object, mock.ModelMapperMock.Object);

            controller.ControllerContext             = new ControllerContext();
            controller.ControllerContext.HttpContext = new DefaultHttpContext();

            IActionResult response = await controller.Create(new ApiDepartmentRequestModel());

            response.Should().BeOfType <ObjectResult>();
            (response as ObjectResult).StatusCode.Should().Be((int)HttpStatusCode.UnprocessableEntity);
            mock.ServiceMock.Verify(x => x.Create(It.IsAny <ApiDepartmentRequestModel>()));
        }