Exemple #1
0
        public void Delete_Test()
        {
            ParentTask pTask = new ParentTask();

            pTask.ParentId = 1;
            pTask.TaskName = "ABCD";
            var ptasks = new List <ParentTask>();

            ptasks.Add(pTask);
            var t = ptasks.AsQueryable();
            //var mockSet = new Mock<DbSet<Task_Table>>();
            var mockSet = new Mock <DbSet <ParentTask> >();

            mockSet.As <IQueryable <ParentTask> >().Setup(m => m.Provider).Returns(t.Provider);
            mockSet.As <IQueryable <ParentTask> >().Setup(m => m.Expression).Returns(t.Expression);
            mockSet.As <IQueryable <ParentTask> >().Setup(m => m.ElementType).Returns(t.ElementType);
            mockSet.As <IQueryable <ParentTask> >().Setup(m => m.GetEnumerator()).Returns(t.GetEnumerator());


            var mockTaskMangerContext = new Mock <ProjectmanagerContext>();

            mockTaskMangerContext.Setup(c => c.ParentTasks).Returns(mockSet.Object);
            mockTaskMangerContext.Setup(c => c.Set <ParentTask>()).Returns(mockSet.Object);
            mockTaskMangerContext.Setup(c => c.Set <ParentTask>().Remove(pTask));
            mockTaskMangerContext.Setup(p => p.SaveChanges());
            var objTestTaskrepo = new ProjectManagerRepository <ParentTask>(mockTaskMangerContext.Object);

            objTestTaskrepo.Delete(pTask);

            mockTaskMangerContext.Verify(mock => mock.Set <ParentTask>().Remove(pTask), Times.Once());
        }
        public async Task <IHttpActionResult> Delete(int id)
        {
            ProjectManager projectManager = await projectManagerRepository.FindByCondition(item => item.Id == id).FirstOrDefaultAsync();

            if (projectManager == null)
            {
                return(Content(HttpStatusCode.NotFound, "Manager not found"));
            }
            User user = await userRepository.FindByCondition(item => item.Id == projectManager.UserId).FirstOrDefaultAsync();

            if (user == null)
            {
                return(Content(HttpStatusCode.NotFound, "User not found"));
            }
            projectManagerRepository.Delete(projectManager);
            userRepository.Delete(user);
            await db.SaveChangesAsync();

            return(Ok());
        }