public async Task TaskService_SaveAsync_Should_ReturnTask()
        {
            var mockUnitOfWork     = new Mock <IUnitOfWork>();
            var mockTaskRepository = new MockTaskRepository().MockAddAsync(Task.FromResult(Generics.Task));

            var taskService = new TaskService(mockTaskRepository.Object, mockUnitOfWork.Object);

            var results = await taskService.SaveAsync(Generics.Task);

            Assert.IsNotNull(results);
            Assert.IsTrue(results.Success);
            Assert.IsInstanceOfType(results.Task, typeof(Domain.Models.Task));
            mockTaskRepository.VerifyAddAsync(Times.Once());
        }
        public async Task TaskService_SaveAsync_InputInvalid_Should_ReturnBadResponse()
        {
            var mockUnitOfWork     = new Mock <IUnitOfWork>();
            var mockTaskRepository = new MockTaskRepository().MockAddAsyncInvalid();

            var taskService = new TaskService(mockTaskRepository.Object, mockUnitOfWork.Object);

            var results = await taskService.SaveAsync(Generics.Task);

            Assert.IsNotNull(results);
            Assert.IsNull(results.Task);
            Assert.IsFalse(results.Success);
            Assert.IsTrue(results.Message.Contains("An error occurred when saving this task:"));
            mockTaskRepository.VerifyAddAsync(Times.Once());
        }