public void Test_For_Search_Projects(string searchText, bool exactMatch)
        {
            // Arrange
            var tasksList = new Models.ViewModels.Task[] {
                new Models.ViewModels.Task()
                {
                    ProjectId = 1, ProjectName = "TestProject-1", TaskOwnerId = Guid.NewGuid(), Priority = 10, TaskId = 10, TaskName = "TestTask1"
                },
                new Models.ViewModels.Task()
                {
                    ProjectId = 2, ProjectName = "TestProject-2", TaskOwnerId = Guid.NewGuid(), Priority = 5, TaskId = 11, TaskName = "TestTask2"
                },
                new Models.ViewModels.Task()
                {
                    ProjectId = 3, ProjectName = "TestProject-3", TaskOwnerId = Guid.NewGuid(), Priority = 15, TaskId = 9, TaskName = "TestTask3"
                },
                new Models.ViewModels.Task()
                {
                    ProjectId = 4, ProjectName = "TestProject-4", TaskOwnerId = Guid.NewGuid(), Priority = 20, TaskId = 7, TaskName = "TestTask4"
                },
                new Models.ViewModels.Task()
                {
                    ProjectId = 5, ProjectName = "TestProject-5", TaskOwnerId = Guid.NewGuid(), Priority = 30, TaskId = 5, TaskName = "TestTask5", ParentTaskName = "TestParentTask1", ParentTaskId = 200
                },
                new Models.ViewModels.Task()
                {
                    ProjectId = 5, ProjectName = "TestProject-5", TaskOwnerId = Guid.NewGuid(), Priority = 30, TaskId = 5, TaskName = "TestTask6", ParentTaskName = "TestParentTask1", ParentTaskId = 200
                },
                new Models.ViewModels.Task()
                {
                    ProjectId = 5, ProjectName = "TestProject-5", TaskOwnerId = Guid.NewGuid(), Priority = 30, TaskId = 5, TaskName = "TestTask7", ParentTaskName = "TestParentTask2", ParentTaskId = 202
                },
            }.AsEnumerable();
            IEnumerable <Models.ViewModels.Task> expectedResult;

            if (exactMatch)
            {
                expectedResult = tasksList.Where(p => p.ProjectName.ToLower().Equals(searchText.ToLower()));
            }
            else
            {
                expectedResult = tasksList;
            }

            mockTaskRepo.Setup(repo => repo.Search(It.IsAny <System.Linq.Expressions.Expression <Func <Models.DataModels.Task, bool> > >())).Returns(expectedResult.AsDataModel());
            // Act
            var actualResult = tasksLogicTest.Search(searchText, exactMatch);

            // Assert
            Assert.NotNull(actualResult);
            Assert.Equal(expectedResult.Count(), actualResult.Count());
        }
        public void Test_For_GetUserProjectTasks()
        {
            // Arrange
            Guid testUserGuid  = Guid.NewGuid();
            int  testProjectId = 10;
            var  tasksList     = new Models.ViewModels.Task[] {
                new Models.ViewModels.Task()
                {
                    ProjectId = 10, ProjectName = "TestProject-10", TaskOwnerId = testUserGuid, Priority = 10, TaskId = 10, TaskName = "TestTask1"
                },
                new Models.ViewModels.Task()
                {
                    ProjectId = 2, ProjectName = "TestProject-2", TaskOwnerId = Guid.NewGuid(), Priority = 5, TaskId = 11, TaskName = "TestTask2"
                },
                new Models.ViewModels.Task()
                {
                    ProjectId = 10, ProjectName = "TestProject-10", TaskOwnerId = testUserGuid, Priority = 15, TaskId = 9, TaskName = "TestTask3"
                },
                new Models.ViewModels.Task()
                {
                    ProjectId = 4, ProjectName = "TestProject-4", TaskOwnerId = Guid.NewGuid(), Priority = 20, TaskId = 7, TaskName = "TestTask4"
                },
                new Models.ViewModels.Task()
                {
                    ProjectId = 5, ProjectName = "TestProject-5", TaskOwnerId = testUserGuid, Priority = 30, TaskId = 5, TaskName = "TestTask5", ParentTaskName = "TestParentTask1", ParentTaskId = 200
                },
                new Models.ViewModels.Task()
                {
                    ProjectId = 10, ProjectName = "TestProject-10", TaskOwnerId = testUserGuid, Priority = 30, TaskId = 5, TaskName = "TestTask6", ParentTaskName = "TestParentTask1", ParentTaskId = 200
                },
                new Models.ViewModels.Task()
                {
                    ProjectId = 5, ProjectName = "TestProject-5", TaskOwnerId = testUserGuid, Priority = 30, TaskId = 5, TaskName = "TestTask7", ParentTaskName = "TestParentTask2", ParentTaskId = 202
                },
            }.AsEnumerable();

            IEnumerable <Models.ViewModels.Task> expectedResult;

            expectedResult = tasksList.Where(p => p.TaskOwnerId == testUserGuid && p.ProjectId == testProjectId);
            mockTaskRepo.Setup(repo => repo.Search(It.IsAny <System.Linq.Expressions.Expression <Func <Models.DataModels.Task, bool> > >())).Returns(expectedResult.AsDataModel());
            // Act
            var actualResult = tasksLogicTest.GetUserProjectTasks("TestUser1", testProjectId);

            // Assert
            Assert.Equal(expectedResult.Count(), actualResult.Count());
        }
示例#3
0
        public void Test_Get_User_Project_Tasks()
        {
            // Arrange
            string testUserId     = "User1Test";
            int    testProjectId  = 100;
            var    testUserGuid   = Guid.NewGuid();
            var    mockedTaskList = new Models.ViewModels.Task[] {
                new Models.ViewModels.Task()
                {
                    TaskId = 1, TaskName = "TestTask-1", Priority = 5, TaskOwnerId = testUserGuid, OwnerFullName = "User1Test", ProjectId = 100
                },
                new Models.ViewModels.Task()
                {
                    TaskId = 2, TaskName = "TestTask-2", Priority = 15, TaskOwnerId = testUserGuid, OwnerFullName = "User1Test", ProjectId = 100
                },
                new Models.ViewModels.Task()
                {
                    TaskId = 16, TaskName = "TestTask-16", Priority = 25, TaskOwnerId = testUserGuid, OwnerFullName = "User1Test", ProjectId = 200
                },
                new Models.ViewModels.Task()
                {
                    TaskId = 20, TaskName = "TestTask-20", Priority = 10, TaskOwnerId = testUserGuid, OwnerFullName = "User1Test", ProjectId = 250
                },
            };
            var expectedTasksResult = mockedTaskList.Where(p => p.ProjectId == testProjectId);

            mockTaskLogic.Setup(api => api.GetUserProjectTasks(testUserId, testProjectId)).Returns(expectedTasksResult);

            // Act
            var actualResult = mockController.GetAllTasksForUserByProject(testUserId, testProjectId);
            var actualData   = (OkObjectResult)actualResult;

            // Assert
            Assert.Equal(StatusCodes.Status200OK, actualData.StatusCode);
            Assert.Equal(expectedTasksResult.Count(), (actualData.Value as IEnumerable <Models.ViewModels.Task>).Count());
        }