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); } }
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); }
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); }); }
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); }
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); }
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>()); }
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); }
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); }); }
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)); }
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); }
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); }); }