public void TaskListsServiceMethodUpdateShouldUpdateATaskList()
        {
            // Arrange
            var unitOfWorkMock = new Mock<IUnitOfWork>();
            var repository = new TaskListsMemoryRepository();
            var notesRepository = new NotesMemoryRepository();
            var service = new TaskListsService(unitOfWorkMock.Object, repository, notesRepository);
            var result = service.Get(TaskListsMemoryRepository.User1RowKey, repository.TaskList1RowKey);

            // Act
            result.Title = "Test title";
            service.Update(result);
            var updatedResult = service.Get(TaskListsMemoryRepository.User1RowKey, repository.TaskList1RowKey);

            // Assert
            Assert.IsTrue(updatedResult.Title == "Test title");
        }
        public void TaskListsServiceMethodGetShouldReturnNullForANonExistingTaskList()
        {
            // Arrange
            var unitOfWorkMock = new Mock<IUnitOfWork>();
            var repository = new TaskListsMemoryRepository();
            var notesRepository = new NotesMemoryRepository();
            var service = new TaskListsService(unitOfWorkMock.Object, repository, notesRepository);

            // Act
            var result = service.Get(TaskListsMemoryRepository.User1RowKey, repository.TaskList3RowKey);

            // Assert
            Assert.IsNull(result);
        }
        public void TaskListsServiceMethodDeleteShouldDeleteATaskList()
        {
            // Arrange
            var unitOfWorkMock = new Mock<IUnitOfWork>();
            var repository = new TaskListsMemoryRepository();
            var notesRepository = new NotesMemoryRepository();
            var service = new TaskListsService(unitOfWorkMock.Object, repository, notesRepository);
            var result = service.Get(TaskListsMemoryRepository.User1RowKey, repository.TaskList1RowKey);
            var user = new User { PartitionKey = TaskListsMemoryRepository.IdentityProvider, RowKey = TaskListsMemoryRepository.User1RowKey };
            var note = new Note { PartitionKey = TaskListsMemoryRepository.User1RowKey, RowKey = repository.Note1RowKey, Owner = user };
            result.Notes.Add(note);

            // Act
            service.Delete(result);
            result = service.Get(TaskListsMemoryRepository.User1RowKey, repository.TaskList1RowKey);

            // Assert
            Assert.IsNull(result);
        }
        public void TaskListsServiceMethodGetShouldReturnATaskList()
        {
            // Arrange
            var unitOfWorkMock = new Mock<IUnitOfWork>();
            var repository = new TaskListsMemoryRepository();
            var notesRepository = new NotesMemoryRepository();
            var service = new TaskListsService(unitOfWorkMock.Object, repository, notesRepository);

            // Act
            var result = service.Get(TaskListsMemoryRepository.User1RowKey, repository.TaskList1RowKey);

            // Assert
            Assert.IsInstanceOfType(result, typeof(TaskList));
            Assert.IsNotNull(result);
        }
        public void TaskListsServiceMethodCreateShouldCreateATaskList()
        {
            // Arrange

            var user = new User { PartitionKey = TaskListsMemoryRepository.IdentityProvider, RowKey = TaskListsMemoryRepository.User1RowKey };
            var unitOfWorkMock = new Mock<IUnitOfWork>();
            var repository = new TaskListsMemoryRepository();
            var notesRepository = new NotesMemoryRepository();
            var taskList = new TaskList { PartitionKey = TaskListsMemoryRepository.User1RowKey, RowKey = repository.TaskList3RowKey, Owner = user };
            var service = new TaskListsService(unitOfWorkMock.Object, repository, notesRepository);

            // Act
            service.Create(taskList);
            var result = service.Get(NotesMemoryRepository.User1RowKey, repository.TaskList3RowKey);

            // Assert
            Assert.IsInstanceOfType(result, typeof(TaskList));
            Assert.IsNotNull(result);
        }