public async Task DeleteAsyncWhenIdIsCorrectReturnsStudyMaterialInstance()
        {
            // Arrange
            var mockUnitOfWork = GetDefaultUnitOfWorkRepositoryInstance();
            var mockStudyMaterialRepository = GetDefaultStudyMaterialRepositoryInstance();
            var StudyMaterialId             = 1;
            var StudyMaterial = new StudyMaterial()
            {
                Id          = 1,
                Title       = "string",
                Description = "string",
                TopicId     = 1
            };

            mockStudyMaterialRepository.Setup(r => r.FindById(StudyMaterialId)).Returns(Task.FromResult(StudyMaterial));
            mockStudyMaterialRepository.Setup(r => r.Remove(StudyMaterial));
            var service = new StudyMaterialService(mockStudyMaterialRepository.Object, mockUnitOfWork.Object);

            // Act
            StudyMaterialResponse result = await service.DeleteAsync(StudyMaterialId);

            var instance = result.Resource;

            // Assert
            instance.Should().Be(StudyMaterial);
        }
        public async Task DeleteAsyncWhenInvalidIdReturnsStudyMaterialNotFoundResponse()
        {
            // Arrange
            var mockUnitOfWork = GetDefaultUnitOfWorkRepositoryInstance();
            var mockStudyMaterialRepository = GetDefaultStudyMaterialRepositoryInstance();
            var StudyMaterialId             = 1;
            var studyMaterial = new StudyMaterial()
            {
                Id          = 1,
                Title       = "string",
                Description = "string",
                TopicId     = 1
            };

            mockStudyMaterialRepository.Setup(r => r.FindById(StudyMaterialId)).Returns(Task.FromResult <StudyMaterial>(null));
            mockStudyMaterialRepository.Setup(r => r.Remove(studyMaterial));
            var service = new StudyMaterialService(mockStudyMaterialRepository.Object, mockUnitOfWork.Object);

            // Act
            StudyMaterialResponse result = await service.DeleteAsync(StudyMaterialId);

            var message = result.Message;

            // Assert
            message.Should().Be("Study material not found");
        }