public async Task GetReminderByNewsIdShouldThrowException()
        {
            int      newsId   = 102;
            Reminder reminder = null;
            var      mockRepo = new Mock <IReminderRepository>();

            mockRepo.Setup(repo => repo.GetReminderByNewsId(newsId)).Returns(Task.FromResult(reminder));
            var service = new ReminderService(mockRepo.Object);

            var actual = await Assert.ThrowsAsync <ReminderNotFoundException>(() => service.GetReminderByNewsId(newsId));

            Assert.Equal($"No reminder found for news: {newsId}", actual.Message);
        }
        public async Task GetReminderByNewsIdShouldReturnReminder()
        {
            int      newsId   = 102;
            Reminder reminder = new Reminder {
                ReminderId = 2, NewsId = 102, Schedule = DateTime.Now.AddDays(1)
            };
            var mockRepo = new Mock <IReminderRepository>();

            mockRepo.Setup(repo => repo.GetReminderByNewsId(newsId)).Returns(Task.FromResult(reminder));
            var service = new ReminderService(mockRepo.Object);

            var actual = await service.GetReminderByNewsId(newsId);

            Assert.NotNull(actual);
            Assert.IsAssignableFrom <Reminder>(actual);
            Assert.Equal(2, actual.ReminderId);
        }