예제 #1
0
        public void TestIndexViewFindsCorrectProjectsMultipleProjects()
        {
            var repository = new Mock <IProjectsRepository>();

            Project project1 = new Project();

            project1.ProjectName = "UnitTest ProjectName";

            Project project2 = new Project();

            project2.ProjectName = "Another UnitTest ProjectName";

            repository.Setup(m => m.GetProjectsForUserName(TEST_USER_NAME)).Returns(() => new List <Project> {
                project1, project2
            });

            var controller = ProjectsController.CreateProjectsControllerAs(TEST_USER_NAME, repository.Object);


            ViewResult     result         = controller.Index() as ViewResult;
            List <Project> resultProjects = result.Model as List <Project>;

            CollectionAssert.AreEquivalent(new List <Project> {
                project1, project2
            }, resultProjects);
        }
예제 #2
0
        public void TestIndexReturnsView()
        {
            var repository = new Mock <IProjectsRepository>();
            var controller = ProjectsController.CreateProjectsControllerAs(TEST_USER_NAME, repository.Object);

            ViewResult result = controller.Index() as ViewResult;

            Assert.IsNotNull(result);
        }
예제 #3
0
        public void TestIndexViewNoProjectsForUserName()
        {
            var repository = new Mock <IProjectsRepository>();

            repository.Setup(m => m.GetProjectsForUserName(TEST_USER_NAME)).Returns(() => null);

            var controller = ProjectsController.CreateProjectsControllerAs(TEST_USER_NAME, repository.Object);

            ViewResult result = controller.Index() as ViewResult;

            Assert.IsNull(result.Model);
        }
예제 #4
0
        public void TestDeleteProjectGETCantFindId()
        {
            var repository = new Mock <IProjectsRepository>();
            var controller = ProjectsController.CreateProjectsControllerAs(TEST_USER_NAME, repository.Object);

            int ProjectId = 1;

            repository.Setup(m => m.GetProjectById(ProjectId)).Returns(() => null);
            ViewResult result = controller.Delete(ProjectId) as ViewResult;

            Assert.IsNull(result);
        }
예제 #5
0
        public void TestAddProject()
        {
            var repository = new Mock <IProjectsRepository>();
            var controller = ProjectsController.CreateProjectsControllerAs(TEST_USER_NAME, repository.Object);

            Project project = new Project();

            project.ProjectName = "UnitTest ProjectName";

            controller.Create(project);

            repository.Verify(r => r.AddProject(It.IsAny <Project>()), Times.Once);
        }
예제 #6
0
        public void TestIndexViewFindsCorrectProjectsOneProject()
        {
            var repository = new Mock <IProjectsRepository>();

            Project project = new Project();

            project.ProjectName = "UnitTest ProjectName";
            repository.Setup(m => m.GetProjectsForUserName(TEST_USER_NAME)).Returns(() => new List <Project> {
                project
            });

            var controller = ProjectsController.CreateProjectsControllerAs(TEST_USER_NAME, repository.Object);

            ViewResult     result         = controller.Index() as ViewResult;
            List <Project> resultProjects = result.Model as List <Project>;

            Assert.AreEqual(project, resultProjects[0]);
        }
예제 #7
0
        public void TestDeleteProjectGETCanFindIdOtherProjectOwner()
        {
            var repository = new Mock <IProjectsRepository>();
            var controller = ProjectsController.CreateProjectsControllerAs(TEST_USER_NAME, repository.Object);

            int     ProjectId = 1;
            Project project1  = new Project();

            project1.ProjectName = "UnitTest ProjectName";
            project1.Client      = new Client()
            {
                ClientOwner = "Not " + TEST_USER_NAME
            };
            project1.ProjectID = ProjectId;

            repository.Setup(m => m.GetProjectById(ProjectId)).Returns(() => project1);
            ViewResult result = controller.Delete(ProjectId) as ViewResult;

            Assert.IsNull(result);
        }
예제 #8
0
        public void TestEditProjectPOSTOtherProjectOwner()
        {
            var repository = new Mock <IProjectsRepository>();
            var controller = ProjectsController.CreateProjectsControllerAs(TEST_USER_NAME, repository.Object);

            int     ProjectId = 1;
            Project project1  = new Project();

            project1.ProjectName = "UnitTest ProjectName";
            project1.Client      = new Client()
            {
                ClientOwner = "Not " + TEST_USER_NAME
            };
            project1.ProjectID = ProjectId;
            repository.Setup(m => m.GetProjectById(ProjectId)).Returns(() => project1);

            ViewResult resultView = controller.Edit(project1) as ViewResult;

            Assert.AreEqual(project1, resultView.Model);
        }
예제 #9
0
        public void TestDeleteProjectPOST()
        {
            var repository = new Mock <IProjectsRepository>();
            var controller = ProjectsController.CreateProjectsControllerAs(TEST_USER_NAME, repository.Object);

            int     ProjectId = 1;
            Project project1  = new Project();

            project1.ProjectName = "UnitTest ProjectName";
            project1.Client      = new Client()
            {
                ClientOwner = TEST_USER_NAME
            };
            project1.ProjectID = ProjectId;

            repository.Setup(m => m.GetProjectById(ProjectId)).Returns(() => project1);

            RedirectToRouteResult result = controller.DeleteConfirmed(ProjectId) as RedirectToRouteResult;

            repository.Verify(r => r.DeleteProject(It.IsAny <Project>()), Times.Once);
            Assert.AreEqual("Index", result.RouteValues["action"]);
        }
예제 #10
0
        public void TestDetailsNoProjectWithThatId()
        {
            var repository = new Mock <IProjectsRepository>();

            int     ProjectId = 1;
            Project project1  = new Project();

            project1.ProjectName = "UnitTest ProjectName";
            project1.Client      = new Client()
            {
                ClientOwner = TEST_USER_NAME
            };
            project1.ProjectID = ProjectId;

            repository.Setup(m => m.GetProjectById(ProjectId)).Returns(() => null);

            var controller = ProjectsController.CreateProjectsControllerAs(TEST_USER_NAME, repository.Object);

            ViewResult result = controller.Details(ProjectId) as ViewResult;

            Assert.IsNull(result);
        }
예제 #11
0
        public void TestDetailsCanFindProject()
        {
            var repository = new Mock <IProjectsRepository>();

            int     ProjectId = 1;
            Project project1  = new Project();

            project1.ProjectName = "UnitTest ProjectName";
            project1.Client      = new Client()
            {
                ClientOwner = TEST_USER_NAME
            };
            project1.ProjectID = ProjectId;

            repository.Setup(m => m.GetProjectById(ProjectId)).Returns(() => project1);

            var controller = ProjectsController.CreateProjectsControllerAs(TEST_USER_NAME, repository.Object);

            ViewResult result = controller.Details(ProjectId) as ViewResult;

            Project resultProject = result.Model as Project;

            Assert.AreEqual(project1, resultProject);
        }