public async Task MarkDoneInvalidGuidTest()
        {
            // ...
            var options = new DbContextOptionsBuilder <ApplicationDbContext>()
                          .UseInMemoryDatabase(databaseName: "Test_MarkTaskDone2").Options;

            // Set up a context (connection to the "DB") for writing
            using (var context = new ApplicationDbContext(options))
            {
                var service = new ToDoListTaskService(context);

                var testUser = new ApplicationUser
                {
                    Id       = "TestUser0",
                    UserName = "******"
                };

                await service.AddTaskAsync(new ToDoListTask
                {
                    Title = "TestTitle",
                }, testUser);

                var task = await context.Tasks.FirstAsync();

                Guid randomGuid = Guid.NewGuid();

                await service.MarkDoneAsync(randomGuid, testUser);

                Assert.Equal(false, task.IsDone);
            }
        }
        public async Task AddTaskSuccessTest()
        {
            var options = new DbContextOptionsBuilder <ApplicationDbContext>()
                          .UseInMemoryDatabase(databaseName: "Test_AddTask").Options;

            // Set up a context (connection to the "DB") for writing
            using (var context = new ApplicationDbContext(options))
            {
                var service = new ToDoListTaskService(context);

                var testUser = new ApplicationUser
                {
                    Id       = "TestUser0",
                    UserName = "******"
                };

                await service.AddTaskAsync(new ToDoListTask
                {
                    Title   = "TestTitle",
                    Details = "Test Details"
                }, testUser);

                var tasksTotal = await context.Tasks.CountAsync();

                Assert.Equal(1, tasksTotal);

                var task = await context.Tasks.FirstAsync();

                Assert.Equal("TestTitle", task.Title);
                Assert.Equal("Test Details", task.Details);
                Assert.Equal(false, task.IsDone);
            }
        }
        public async Task GetUnfinishedTasksCorrectUserTest()
        {
            // ...
            var options = new DbContextOptionsBuilder <ApplicationDbContext>()
                          .UseInMemoryDatabase(databaseName: "Test_CorrectUser").Options;

            // Set up a context (connection to the "DB") for writing
            using (var context = new ApplicationDbContext(options))
            {
                var service = new ToDoListTaskService(context);

                var testUser1 = new ApplicationUser
                {
                    Id       = "TestUser1",
                    UserName = "******"
                };
                var testUser2 = new ApplicationUser
                {
                    Id       = "TestUser2",
                    UserName = "******"
                };

                //Adding 3 tasks for user1, and one task for user2

                await service.AddTaskAsync(new ToDoListTask
                {
                    Title = "TestingUser1Task1",
                }, testUser1);

                await service.AddTaskAsync(new ToDoListTask
                {
                    Title = "TestingUser1Task2",
                }, testUser1);

                await service.AddTaskAsync(new ToDoListTask
                {
                    Title = "TestingUser1Task3",
                }, testUser1);


                await service.AddTaskAsync(new ToDoListTask
                {
                    Title = "TestingUser2",
                }, testUser2);


                ToDoListTask[] taskArrayUser1 = await service.GetUnfinishedTasksAsync(testUser1);

                ToDoListTask[] taskArrayUser2 = await service.GetUnfinishedTasksAsync(testUser2);


                foreach (ToDoListTask task in taskArrayUser1)
                {
                    Assert.Equal("TestUser1", task.UserId);
                }

                Assert.Equal("TestUser2", taskArrayUser2[0].UserId);
            }
        }
Exemplo n.º 4
0
        public void Retrun_WhenGiveValidParameters()
        { //Arrange
            var mockedToDoListTaskRepository = new Mock <IEFGenericRepository <ToDoListTask> >();
            var mockedUserRepository         = new Mock <IEFGenericRepository <ApplicationUser> >();
            var mockedUnitOfWork             = new Mock <IUnitOfWork>();

            var userId = Guid.NewGuid();

            var tasks = new List <ToDoListTask>()
            {
                new ToDoListTask()
                {
                    Task = "task 1", ExpirationDate = DateTime.Now.Date
                },
                new ToDoListTask()
                {
                    Task = "task 2", ExpirationDate = DateTime.Now.Date
                },
                new ToDoListTask()
                {
                    Task = "task 3", ExpirationDate = DateTime.Now.Date
                }
            };

            var list = new ToDoListModel()
            {
                Tasks = tasks
            };

            var lists = new List <ToDoListModel>();

            lists.Add(list);

            var user = new ApplicationUser()
            {
                Id        = userId.ToString(),
                ToDoLists = lists
            };

            mockedUserRepository.Setup(r => r.GetById(userId)).Returns(user);

            var taskService = new ToDoListTaskService(mockedToDoListTaskRepository.Object, mockedUserRepository.Object, mockedUnitOfWork.Object);

            //Act
            var actualResult = taskService.GetAllByUserId(userId);

            //Assert
            Assert.AreEqual(tasks, actualResult);
        }
Exemplo n.º 5
0
        public void Throw_WheIdIsNull()
        {
            //Arrange
            var mockedToDoListTaskRepository = new Mock <IEFGenericRepository <ToDoListTask> >();
            var mockedUserRepository         = new Mock <IEFGenericRepository <ApplicationUser> >();
            var mockedUnitOfWork             = new Mock <IUnitOfWork>();

            var taskService = new ToDoListTaskService(mockedToDoListTaskRepository.Object, mockedUserRepository.Object, mockedUnitOfWork.Object);

            //Act & Assert
            Assert.Throws <ArgumentNullException>(() =>
            {
                taskService.GetAllByUserId(null);
            });
        }
Exemplo n.º 6
0
        public void CallRepositoriesGetById_OnlyOnce()
        {
            //Arrange
            var mockedToDoListTaskRepository = new Mock <IEFGenericRepository <ToDoListTask> >();
            var mockedUserRepository         = new Mock <IEFGenericRepository <ApplicationUser> >();
            var mockedUnitOfWork             = new Mock <IUnitOfWork>();

            var taskService = new ToDoListTaskService(mockedToDoListTaskRepository.Object, mockedUserRepository.Object, mockedUnitOfWork.Object);

            //Act
            taskService.FindTaskById(Guid.NewGuid());

            //Assert
            mockedToDoListTaskRepository.Verify(r => r.GetById(It.IsAny <Guid>()), Times.Once);
        }
Exemplo n.º 7
0
        public void CallUnitOfWorksCommit_OnlyOnce()
        {
            //Arrange
            var mockedToDoListTaskRepository = new Mock <IEFGenericRepository <ToDoListTask> >();
            var mockedUserRepository         = new Mock <IEFGenericRepository <ApplicationUser> >();
            var mockedUnitOfWork             = new Mock <IUnitOfWork>();
            var mockedTask = new Mock <ToDoListTask>();

            var taskService = new ToDoListTaskService(mockedToDoListTaskRepository.Object, mockedUserRepository.Object, mockedUnitOfWork.Object);

            //Act
            taskService.UpdateTask(mockedTask.Object);

            //Assert
            mockedUnitOfWork.Verify(r => r.Commit(), Times.Once);
        }
Exemplo n.º 8
0
        public void ReturnsCorrectType_WhenGivenValidParameters()
        {
            //Arrange
            var mockedToDoListTaskRepository = new Mock <IEFGenericRepository <ToDoListTask> >();
            var mockedUserRepository         = new Mock <IEFGenericRepository <ApplicationUser> >();
            var mockedUnitOfWork             = new Mock <IUnitOfWork>();

            mockedToDoListTaskRepository.Setup(r => r.GetById(It.IsAny <Guid>())).Returns(new ToDoListTask());

            var taskService = new ToDoListTaskService(mockedToDoListTaskRepository.Object, mockedUserRepository.Object, mockedUnitOfWork.Object);

            //Act
            var actualResult = taskService.FindTaskById(Guid.NewGuid());

            //Assert
            Assert.That(actualResult, Is.InstanceOf <ToDoListTask>());
        }
Exemplo n.º 9
0
        public void CallRepositoryDelete_OnlyOnce()
        {
            //Arrange
            var mockedToDoListTaskRepository = new Mock <IEFGenericRepository <ToDoListTask> >();
            var mockedUserRepository         = new Mock <IEFGenericRepository <ApplicationUser> >();
            var mockedUnitOfWork             = new Mock <IUnitOfWork>();
            var mockedToDoTask = new Mock <ToDoListTask>();

            var taskService = new ToDoListTaskService(mockedToDoListTaskRepository.Object, mockedUserRepository.Object, mockedUnitOfWork.Object);


            //Act
            taskService.DeleteTask(mockedToDoTask.Object);

            //Assert
            mockedToDoListTaskRepository.Verify(r => r.Delete(It.IsAny <ToDoListTask>()), Times.Once);
        }
Exemplo n.º 10
0
        public void Throw_WhenToDoListIsNull()
        {
            //Arrange
            var mockedToDoListTaskRepository = new Mock <IEFGenericRepository <ToDoListTask> >();
            var mockedUserRepository         = new Mock <IEFGenericRepository <ApplicationUser> >();
            var mockedUnitOfWork             = new Mock <IUnitOfWork>();

            var taskService = new ToDoListTaskService(mockedToDoListTaskRepository.Object, mockedUserRepository.Object, mockedUnitOfWork.Object);

            var category       = CategoryTypes.Errands;
            var priority       = PriorityTypes.Low;
            var expirationDate = DateTime.Now.AddDays(1);
            var task           = "sample task";

            //Act & Assert
            Assert.Throws <ArgumentNullException>(() =>
            {
                taskService.CreateTask(null, category, priority, expirationDate, task);
            });
        }
Exemplo n.º 11
0
        public void Retrun_WhenGiveValidParameters()
        {
            //Arrange
            var mockedToDoListTaskRepository = new Mock <IEFGenericRepository <ToDoListTask> >();
            var mockedUserRepository         = new Mock <IEFGenericRepository <ApplicationUser> >();
            var mockedUnitOfWork             = new Mock <IUnitOfWork>();

            var expectedTask = new ToDoListTask()
            {
                Task = "sample task"
            };

            mockedToDoListTaskRepository.Setup(r => r.GetById(It.IsAny <Guid>())).Returns(expectedTask);

            var taskService = new ToDoListTaskService(mockedToDoListTaskRepository.Object, mockedUserRepository.Object, mockedUnitOfWork.Object);

            //Act
            var actualResult = taskService.FindTaskById(Guid.NewGuid());

            //Assert
            Assert.That(actualResult, Is.EqualTo(expectedTask));
        }
Exemplo n.º 12
0
        public void CallUnitOfWorkCommit_OnlyOnce()
        {
            //Arrange
            var mockedToDoListTaskRepository = new Mock <IEFGenericRepository <ToDoListTask> >();
            var mockedUserRepository         = new Mock <IEFGenericRepository <ApplicationUser> >();
            var mockedUnitOfWork             = new Mock <IUnitOfWork>();
            var mockedToDoListModel          = new Mock <ToDoListModel>();

            var taskService = new ToDoListTaskService(mockedToDoListTaskRepository.Object, mockedUserRepository.Object, mockedUnitOfWork.Object);

            mockedToDoListModel.Setup(l => l.Tasks.Add(It.IsAny <ToDoListTask>()));

            var category       = CategoryTypes.Errands;
            var priority       = PriorityTypes.Low;
            var expirationDate = DateTime.Now.AddDays(1);
            var task           = "sample task";

            //Act
            taskService.CreateTask(mockedToDoListModel.Object, category, priority, expirationDate, task);

            // Assert
            mockedUnitOfWork.Verify(u => u.Commit(), Times.Once);
        }
Exemplo n.º 13
0
        public void Throw_WhenExpirationDateIsInThePast()
        {
            //Arrange
            var mockedToDoListTaskRepository = new Mock <IEFGenericRepository <ToDoListTask> >();
            var mockedUserRepository         = new Mock <IEFGenericRepository <ApplicationUser> >();
            var mockedUnitOfWork             = new Mock <IUnitOfWork>();
            var mockedToDoListModel          = new Mock <ToDoListModel>();

            var taskService = new ToDoListTaskService(mockedToDoListTaskRepository.Object, mockedUserRepository.Object, mockedUnitOfWork.Object);


            mockedToDoListModel.Setup(l => l.Tasks.Add(It.IsAny <ToDoListTask>()));

            var category       = CategoryTypes.Errands;
            var priority       = PriorityTypes.Low;
            var expirationDate = DateTime.Parse("10/10/1992");
            var task           = "sample task";

            //Act & Assert
            Assert.Throws <ArgumentOutOfRangeException>(() =>
            {
                taskService.CreateTask(mockedToDoListModel.Object, category, priority, expirationDate, task);
            });
        }